接口测试 接口自动化框架测试用例重复问题

testjson · November 23, 2022 · Last by suround replied at November 25, 2022 · 5863 hits

最近在困惑接口自动化测试的框架
这是我写的用例部分,写的多了,就会发现问题了,重复得地方太多了

@user1ize("caseinfo", read_yaml_testcase("data/cache_manage/fdnfd_cache_delete.yml"))
    def test_fdnfd_cache_delete(self,base_url,caseinfo):
        #读取测试数据里面的模块,用例标题,用例等级配置
        allure.dynamic.feature(caseinfo["featrue"])
        allure.dynamic.story(caseinfo["story"])
        allure.dynamic.title(caseinfo["title"])
        allure.dynamic.severity(severity_level=caseinfo["severity"])
        #读取测试数据里面的methon,url等数据
        method_info = caseinfo["request"]["method"]
        data_info = caseinfo["request"]["data"]
        caseinfo["request"]["data"]["tk"] = read_yaml("token")
        urlinfo = caseinfo["request"]["url"]
        url = base_url + urlinfo
        if caseinfo["correlation"] == 1:
            caseinfo["request"]["data"]["v"]["Ids"][0] = read_yaml("del_ID")
            with allure.step("发送请求"):
                response = RequestUtil().send_all_request(method_info, url, json=data_info)
                # 返回的json数据
                res = response.json()
                with allure.step("正常断言"):
                    AssertUtil().assert_msg(res["msg"], caseinfo["vilidate"]["expect_msg"])
                    AssertUtil().assert_code(res["c"], caseinfo["vilidate"]["expect_code"])
                    # 将断言的结果写入报告
                    allure_report(url, res["c"], res["msg"], caseinfo["vilidate"]["expect_msg"])
        #不需要接口关联的测试用例
        else:
            with allure.step("发送请求"):
                response = RequestUtil().send_all_request(method_info, url, json=data_info)
                # 返回的json数据
                res = response.json()
                with allure.step("正常断言"):
                    AssertUtil().assert_msg(res["msg"], caseinfo["vilidate"]["expect_msg"])
                    AssertUtil().assert_code(res["c"], caseinfo["vilidate"]["expect_code"])
                    # 将断言的结果写入报告
                    allure_report(url, res["c"], res["msg"], caseinfo["vilidate"]["expect_msg"])

csdn 上找了一篇博客,写的很好,简化了很多,是不是企业里都是大致这种框架
https://blog.csdn.net/weixin_42833736/article/details/125556847

共收到 4 条回复 时间 点赞

顶一下

搞个装饰器试试?

将通用的方法封装成函数,然后用函数编写测试用例?

学习了

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