51Testing软件测试论坛

标题: pytest在1个接口内用循环执行多条用例时,如何在报告中体现每条用例的结果? [打印本页]

作者: 测试积点老人    时间: 2022-2-23 13:13
标题: pytest在1个接口内用循环执行多条用例时,如何在报告中体现每条用例的结果?
通过读取csv文件中的多行数据,接口以for循环的方式执行多条用例。
  1.      @allure.feature('登录测试')
  2. @pytest.mark.parametrize('caseinfo', YamlUtil().read_test_yamlfile('test_login.yaml'))
  3. @pytest.mark.parametrize('baseinfo', YamlUtil().read_yamlfile('config.yaml'))
  4. def test_login(self,baseinfo, caseinfo):
  5.     data_list = DataUtil().csv_read(caseinfo["parameters"]["name-login-assert_str"])
  6.     #读取csv文件内的多条测试用例数据,循环执行
  7.     for data in data_list:
  8.         for k in caseinfo["requests"]["data"].keys():
  9.             for j in data.keys():
  10.                 if k == j:
  11.                     caseinfo["requests"]["data"][k] = data[j]
  12.         for l in caseinfo["validate"].keys():
  13.             for m in data.keys():
  14.                 if l == m:
  15.                     assert_str = data[m]
  16.         method = caseinfo["requests"]["method"]
  17.         last_url = baseinfo["base"]["base_url"] + caseinfo["requests"]["url"]
  18.         rep = RequestUtil().send_request(method, last_url, caseinfo["requests"]["data"])
  19.         allure.dynamic.story(data["story"])
  20.         #软断言用例执行结果
  21.         pytest.assume(assert_str in rep)
复制代码
问题:测试报告中只能体现接口的执行结果,无法体现多条测试用例的执行结果
预期在测试报告中能体现多条用例的执行结果。

作者: qqq911    时间: 2022-2-24 10:21
allure 会自动显示每次的结果
作者: kallinr    时间: 2022-2-24 12:09
可以用框架管理用例
作者: jingzizx    时间: 2022-2-24 13:24
每条都记录?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2