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