httprunner3 中,py 脚本设置 CSV 参数化,大佬指点一二吗
也不知道你啥需求,建议补充下,然后 github 上有参数化的示例可以先看看
https://github.com/httprunner/httprunner/blob/master/examples/postman_echo/request_methods/request_with_parameters.yml
httprunner3 已经完美支持 pytest 了,pytest 支持 csv 参数化,可以去学习一下 pytest 的@pytest.mark.parametrize()
帮忙看下这个有什么问题吗?跟着教程写的,一直报错
from httprunner import Parameters
class TestCaseRequestWithParameters(HttpRunner):
@user1ize(
"param",
Parameters(
{
"user_agent": ["iOS/10.1", "iOS/10.2"],
"username-password": "${parameterize(request_methods/account.csv)}",
"app_version": "${get_app_version()}",
}
),
)
def test_start(self, param):
super().test_start(param)
1.参数化写法不对;
2.需要通过 pytest 命令执行
示例链接:https://github.com/httprunner/httprunner/blob/master/examples/postman_echo/request_methods/request_with_parameters_test.py
方法可行
还有一个新的问题:生成报告的命令只能在 cmd 窗口和 terminal 中运行成功,os.system()调用就不行
不知道你os.system()
是放在哪执行的,可以单独创建个 py 文件来执行测试,在用例跑完之后再通过os.system()
来生成报告, 示例
run.py
import pytest
import os
if __name__ == '__main__':
pytest.main(['request_with_parameters_test.py', '-s', '-vvv', '--alluredir', 'reports/xml'])
os.system('allure generate -c -o reports/html')