测试积点老人 发表于 2022-2-23 13:13:05

pytest在1个接口内用循环执行多条用例时,如何在报告中体现每条用例的结果?

通过读取csv文件中的多行数据,接口以for循环的方式执行多条用例。
   @allure.feature('登录测试')
@pytest.mark.parametrize('caseinfo', YamlUtil().read_test_yamlfile('test_login.yaml'))
@pytest.mark.parametrize('baseinfo', YamlUtil().read_yamlfile('config.yaml'))
def test_login(self,baseinfo, caseinfo):
    data_list = DataUtil().csv_read(caseinfo["parameters"]["name-login-assert_str"])
    #读取csv文件内的多条测试用例数据,循环执行
    for data in data_list:
      for k in caseinfo["requests"]["data"].keys():
            for j in data.keys():
                if k == j:
                  caseinfo["requests"]["data"] = data
      for l in caseinfo["validate"].keys():
            for m in data.keys():
                if l == m:
                  assert_str = data
      method = caseinfo["requests"]["method"]
      last_url = baseinfo["base"]["base_url"] + caseinfo["requests"]["url"]
      rep = RequestUtil().send_request(method, last_url, caseinfo["requests"]["data"])
      allure.dynamic.story(data["story"])
      #软断言用例执行结果
      pytest.assume(assert_str in rep)问题:测试报告中只能体现接口的执行结果,无法体现多条测试用例的执行结果
预期在测试报告中能体现多条用例的执行结果。

qqq911 发表于 2022-2-24 10:21:16

allure 会自动显示每次的结果

kallinr 发表于 2022-2-24 12:09:40

可以用框架管理用例

jingzizx 发表于 2022-2-24 13:24:58

每条都记录?
页: [1]
查看完整版本: pytest在1个接口内用循环执行多条用例时,如何在报告中体现每条用例的结果?