目前在工作中遇到的接口测试项目代码结构一般分为三种,有些是别人写的,有的是自己写的。各有优劣,请教下社区各位大佬有没有其他优秀的设计。

方案一

采用 CSV 构建请求数据,每一行包含 API 的 url、请求方法、请求数据、断言信息等等。数据驱动代码循环发送请求。
示例如下

case_list = read_csv()
for case in case_list:
    if 存在依赖:
        读取目标变量值[之前用例数据全部存在变量里]
    res = do_reqest_by_pytest(case)
    断言
generate_report()

方案 2

按照 pytest 框架风格定义用例,

class TestSuite:
    def test_login():
        do login()
        断言

    def test_buy():
        if 存在依赖:
            self.变量 传递
        do_buy()
        断言

run pytest.mian()
allure generate *****

方案 3

使用了社区的开源项目 HttpRunner 框架,设计用例。

【debugtalk.py中处理测试数据】
def fn():
    return read_excel()

【yaml or .py 用例中构建测试步骤or关联】
 ***
 parameters:
    var1-var2-var3: ${fn()}
 ***
 teststeps:
    step1
    step2
    if 存在依赖:
        引用$var
    step3

示例仅为了表达思路,写的比较潦草。


↙↙↙阅读原文可查看相关链接,并与作者交流