接口联调测试脚本优化v4.0--将参数放入文件读取

引言:接上一章接口联调测试脚本优化v2.0,本章进行脚本参数的一个优化,将参数都放入文件,实现脚本一次编译之后,后续只需维护文件即可。

目录

优化任务:

遇到的问题:

脚本实现:

小结:

优势:


优化任务:

把相关的接口测试参数放入csv文件中,通过程序把相关的参数读取出来,传入接口测试脚本中。

遇到的问题:

创建一个csv文件,将各个接口参数写入文件中,csv文件如下:

  1.  对于共同的参数url、expected_result、interfacename直接调用即可。
  2. 但是由于每一个接口有不同的参数,参数个数也不同,需要再使用循环去读取。
    1. 这里将参数的数量直接写在参数前面,然后定义一个j变量等于参数数量。
    2. 不难发现,H列作为循环开始index值为7,而循环结束值就是2*j+7。
    3. 所以后面不同的参数数据就可以在循环内去读取了,代码参考如下。

脚本实现:

# 使用参数化技术进行多个接口联调的测试脚本的优化
import requests
import csv


class Workflow_Test_v4():
    def userinterface_test(self, url, userinfo, expected_result, interfacename):
        response = requests.post(url, data=userinfo).text
        print(response)
        r = response.find(expected_result)
        if r > 0:
            print(interfacename, "测试通过")
        else:
            print(interfacename, "测试失败")


if __name__ == '__main__':
    workflowobj4 = Workflow_Test_v4()
    file = open("test1.csv", "r")
    table = csv.reader(file)
    for row in table:
        # 逐行读取相关内容,并将其设置为相应的参数
        url = row[1]
        expected_result = row[3]
        interfacename = row[5]
        # print("url是:", url, "  ", "expected_result是:", expected_result, "  ","interfacename是:", interfacename)
        # 读取接口测试数据
        userinfo = {}
        j = int(row[6])
        for i in range(7, 2*j+7, 2):
            userinfo[row[i]] = row[i+1]
        # print(userinfo)
        # 实例化测试类,传入测试数据
        workflowobj4.userinterface_test(url, userinfo, expected_result, interfacename)

小结:

  • 脚本参数化的问题主要是找到参数的规律
  • 共同的参数有:
    1. url:接口访问地址
    2. expected_result:接口响应预期结果
    3. interfacename:接口名称
  • 个性的参数:接口测试数据不同
    1. 人工统计测试数据的个数,将其写入测试数据模板中
    2. 循环方式:找到循环规律,主要分析几个值就行
      1. 初始值----index = 7
      2. 终止值----index = 2*j+7(因为python取不到最后一位,所以将其作为范围的终止值)
      3. 每次变化几个----因为参数有键值和属性两个值,所以取下一个参数时,要i+2。
    3. 将找到的参数存放入字典中:字典名[key] = value即userinfo[row[i]] = row[i+1]

优势:

以后的接口测试,只需要维护接口测试数据的文档即可,不需要修改任何的代码了。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BetterFate!

爱你哦!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值