5.6 数据驱动测试
2021-01-20 本文已影响0人
雷阳洪
准备测试数据

excel读取工具,读取excel内的内容
from tools.data import excel_tool
data = excel_tool.get_test_case("test_case/users/充值接口测试数据.xls")
pytest框架实现数据驱动
import pytest
# 固定写法,获取excel每一列的数据
@pytest.mark.parametrize("account_name,money,expect",data[1],ids=data[0])
# 将获取的每一列的数据传给用例
def test_recharge(pub_data,account_name,money,expect):
pub_data["account_name"] = account_name
pub_data["money"] = money
method = "POST" #请求方法,全部大写
feature = "用户模块" # allure报告中一级分类
story = '用户充值' # allure报告中二级分类
uri = "/acc/recharge" # 接口地址
headers = {'Host': '192.168.1.151:8084', 'Connection': 'keep-alive', 'accept': 'application/json;charset=UTF-8', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36', 'Content-Type': 'application/json', 'Origin': 'http://192.168.1.151:8084', 'Referer': 'http://192.168.1.151:8084/swagger-ui.html?urls.primaryName=user%20apis', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-CN,zh;q=0.9', 'Cookie': 'csrftoken=K1b93CfwXCyVVJCKvGBr2z9gpODYDvE18eFgydclMwsw1wf6XtHjH9TveCqNjXC6'}
status_code = 200 # 响应状态码
expect = expect # 预期结果
json_data='''{
"accountName": "${account_name}",
"changeMoney": "${money}"
}'''
# --------------------分界线,下边的不要修改-----------------------------------------
# method,pub_data和url为必传字段
r = request_tool.request(method=method,url=uri,pub_data=pub_data,status_code=status_code,headers=headers,expect=expect,feature=feature,story=story,json_data=json_data)
