目前在工作中遇到的接口测试项目代码结构一般分为三种,有些是别人写的,有的是自己写的。各有优劣,请教下社区各位大佬有没有其他优秀的设计。
采用 CSV 构建请求数据,每一行包含 API 的 url、请求方法、请求数据、断言信息等等。数据驱动代码循环发送请求。
示例如下
case_list = read_csv()
for case in case_list:
if 存在依赖:
读取目标变量值[之前用例数据全部存在变量里]
res = do_reqest_by_pytest(case)
断言
generate_report()
按照 pytest 框架风格定义用例,
class TestSuite:
def test_login():
do login()
断言
def test_buy():
if 存在依赖:
self.变量 传递
do_buy()
断言
run pytest.mian()
allure generate *****
使用了社区的开源项目 HttpRunner 框架,设计用例。
【debugtalk.py中处理测试数据】
def fn():
return read_excel()
【yaml or .py 用例中构建测试步骤or关联】
***
parameters:
var1-var2-var3: ${fn()}
***
teststeps:
step1
step2
if 存在依赖:
引用$var
step3
示例仅为了表达思路,写的比较潦草。