python读取测试数据的多种方式

目录

一、通过创建.ini或.conf文件读取
二、通过yaml文件读取
三、通过excel读取

一、通过创建.ini或.conf文件读取

1、创建一个config.ini或者.conf文件,这种方法就是ini文件的读取,如下

[api]
url = www.taobao.com
method = get
[mysql]
db=hello
port=3306

2、使用python的configparser库读取,代码如下

from configparser import ConfigParser
import os
conn=ConfigParser()
#获取ini文件的路径
file_path = os.path.join(os.path.abspath(\'.\'),\'config.ini\')
conn.read(file_path)
url=conn.get(\'api\',\'url\')
method=conn.get(\'api\',\'method\')
port=conn.get(\'mysql\',\'port\')
print(url,method,port)

3、运行得到如下的值,读取成功

www.taobao.com get 3306

二、通过yaml文件读取

1、首先创建一个.yaml文件,这里我创建login_data.yaml,具体数据格式大家自行google,这里我随便编写一些数据

-
  caseid: 1
  method: post
  title: 正常登录
  url: api/v1/login
  data:
    username: test
    password: 123456
  headers:
    Content-Type: application/json
    User-Agent: Mozilla/5.0
  expected: 0

2、命令行通过pip install pyyaml安装yaml包,直接上代码

import yaml
def read_file(file_path):
    with open(file_path, \'r\', encoding=\'utf-8\') as f:
    res = yaml.load(f,Loader=yaml.FullLoader)
    return res
if __name__ == \'__main__\':
    d = read_file(r\'..\\test_data\\login\\login_data.yml\')
    print(d)

3、运行结果如下,是一个列表

[{\’caseid\’: 1, \’method\’: \’post\’, \’title\’: \’正常登录\’, \’url\’: \’api/v1/login\’, \’data\’: {\’username\’: \’test\’, \’password\’: 123456}, \’headers\’: {\’Content-Type\’: \’application/json\’, \’User-Agent\’: \’Mozilla/5.0\’}, \’expected\’: 0}]

三、通过excel读取

1、创建一个excel文件,随便写点数据

python读取测试数据的多种方式

2、通过pandas读取,当然还有其他的很多库,本人觉得这个最方便,直接转化成dict方便使用

import pandas
def excel_to_dic(filename):
    df = pandas.read_excel(filename)
    data_list = []
    for i in df.index.values:
        data = df.iloc[i, [j for j in range(len(df.keys()))]].to_dict()
        data_list.append(data)
    return data_list
if __name__ == \'__main__\':
    file = r\'C:\\aaa.xlsx\'#之前创建的文件地址
    data = excel_to_dic(file)
    print(data)


3、运行结果如下

[{\’name\’: \’zhangsan\’, \’phone\’: 13112345678, \’age\’: 20}, {\’name\’: \’lisi\’, \’phone\’: 13867543678, \’age\’: 30}, {\’name\’: \’wangwu\’, \’phone\’: 15967845632, \’age\’: 40}]

可以看出结果是把excel表中的每一行数据转换成了一个dict,更加方便以后使用!!!

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容