一、PyTest
@pytest.mark.parametrize("index",list(range(len(sheet_data))))
可以在函数之前增加以上装饰器,其中第一个是参数名,第二个是参数列表,以用来遍历,类似于多线程中的 threadpool.map(function,params)
assert expect,"description"
以上为断言代码
# 执行断言测试并且生成测试数据
pytest.main(["-sq",__file__,'--alluredir=./report'])
接着便可在main
函数中添加以上代码
二、Allure
使用PyTest
断言后可以配合Allure
生成断言报告:
# 根据 ./report 中的测试数据生成测试报告
os.system('allure generate ./report -O ./report-html --clean')
如果要增加关于断言的修饰和描述:
allure.dynamic.feature("项目名称【swsq】")
allure.dynamic.title(f"{id}_{title}")
allure.dynamic.tag("P0")
allure.dynamic.severity("critical")
allure.dynamic.description(
f"""
url:{url}
请求方式:{method}
接口参数:{params}
预期结果:{expects}
实际结果:{res}
""")