python接口自动化解决方案

技术方案:pytest + requests + pymysql + xlrd + PyYaml + allure

重点内容解释

  1. ExcelReader类:
    读取excel内容,读取后数据使用json.loads()转化为python对象流出,不能转化的仍为str流出
    此时,要求excel内容必须符合json格式,除非必要,也可以不是。
  2. ExcelData类:
    根据用例ID获取用例数据,返回的是一条数据,也可以是多条数据,数据为ExcelReader流入,原格式流出
  3. CaseObj类:
    ExcelData类获取的数据,封装到CaseObj对象,目的是方便后续根据对象.属性取单个数据
  4. Correlation类:
    主要用作正则替换,替换前的数据及参数先进行转化,最终替换后再转化为dict,不能转化的将还是str流出
    目的:方便后续写用例的时候,无需考虑参数转化的问题

现在就可以愉快的写用例了:

# 添加商品到购物车
@pytest.mark.skipif
def test_add_car(self):
    case = self.caseobj.get_case_dtos("case_id")
    headers = Correlation.res_sub(case.headers, self.token)
    r = Request().post(url=self.pre_url + case.url, json=case.params, headers=headers)
    AssertUtil().assert_in_body(r["body"]["message"], "OK")

代码下载地址

posted @ 2021-08-02 00:21  扬帆去远航  阅读(69)  评论(0)    收藏  举报