问答 python 做接口测试时,如何在 pyhtml 报告中为每个用例贴上请求 url 和请求参数,结果信息

fbtdjh · March 17, 2024 · Last by MonGol replied at May 13, 2024 · 4913 hits

公司有一套 python 接口自动化测试框架,目前使用的是 pyhtml 报告,报告中目前相等简陋,只有基础日志信息,我想在每个用例后面贴上请求 url,和请求参数,方便测试失败时快速查看原因,但是不知道怎么弄,是写到 pytest_runtest_makereport 里面还是在封装的 requestApi 里,该如何写,有没有做过的,请指点下。
目前公司的框架架构大概是下面这个样子

#requestApi

class RequestApi(Session):

    def send_request(self,url,method,indata):
        res = self.request(method=method, url=url, json=indata)
        return res

#api 封装

class BaiduApi:

    def search_pic(self, req_json):
        url = "http://www.baidu.com"
        resp = RequestApi().send_request(url, json=req_json,method="post")
        return resp.json()

#TestCase

class TestSearch:
    def test_search_pic(self):
        kw={"name":"jack"}
        resp = BaiduApi().search_pic(json=req_json)
        Aassert resp['msg'] == '成功'
共收到 8 条回复 时间 点赞

没看出来用的哪个主流框架,如果用的是 unittest 可以试用 def shortDescription(self) def id(self) 这两个函数

执行 Fail 可以采取下面的方法,第三位,你想塞啥就塞啥,另外执行失败会有异常报错存于报告中,无需额外处理

self.assertEqual(res['state'],1,res)
fbtdjh #3 · March 19, 2024 Author

pytest

fbtdjh #4 · March 19, 2024 Author

日志里面乱七八糟的太多,想把关键信息提炼出来,方便排查问题

建议接 allure

我之前写的框架 https://testerhome.com/topics/39660 ,可以在报告中展示这些, 请看截图

改造一下直接用 allurereport 估计之前的测试是做自动化的新手

为什么不用 allure

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up