简书:https://www.jianshu.com/p/6bfaca87a93b
博客园:https://www.cnblogs.com/zy7y/p/13426816.html
testerhome:https://testerhome.com/topics/25003
我理解的参数依赖/接口依赖就是接口进行关联操作,比如有些查询接口需要登录之后才可以操作,那么我们就需要拿到token之类的东西,这一部分东西是放到header中的,apiAutoTest围绕的只有路径参数依赖,请求数据依赖
路径参数依赖
譬如说现在的restful,一个users接口,路由一般这样的<code>users</code>他的请求方式是get,这个路由我们把他认为是查所有用户,如果查某一个用户可能是这样的<code>users/:id</code>也是个get请求,这里这个id想表达的意思是这里有个需要个用户id的参数,比如1-500里面的任意1个,也就是说这个id是可变的,可以从登录接口的返回响应取一个叫userId的值
请求参数依赖
这个应该好理解些,就是说支付接口需要的订单id,是从上一步提交订单接口返回的响应订单id
举个例子
假设现在有个实际响应结果字典如下
excel中接口路径内容:<code>users/&$.case_005.data.id&/state/&$.case_005.data.careate_time&</code>
代码内部解析后如下:<code>users/511/state/1605711095</code>
<code>&$.case_005.data.id&</code> 代表从响应字典中提取case_005字典中data字典中的id的值,提取出来的结果是511
excel中请求参数内容如下:
代码内部解析后如下:
其实不难看出其中规则<code>&jsonpath提取语法&</code>,如果你需要的内容是字符串类型,只需要这样<code>"&jsonpath提取语法&"</code>
用例中书写格式,在上传文件栏
用例书写格式
config.yaml文件中新增可配置初始header,整体代码优化,相比之前,同样测试用例执行下,快了2s左右
将配置文件读取,用例读取整合在<code>read_file.py</code>下
移除报告压缩方法
减少日志信息
tools/init.py
tools/data_process.py
master: 分支为最新代码
version1.0: 分支为之前开源的代码(通过字典迭代的方式来处理数据依赖)
Https://gitee.com/zy7y/apiAutoTest.git
Https://github.com/zy7y/apiAutoTest.git
目前在公司正在做接口测试,说实话也是摸索着来,以上的优化项都是实际做的过程中突然想到的,然后就更新了
接入用例前后置SQL, 前置SQL目前想的是现在项目中遇到的问题,有些接口没有返回需要的数据,这里就要用前置SQL查询的结果传到请求数据里面了,后置SQL主要是请求后查看数据库中的数据是否变动,形成数据库断言 2020/12/08 完成 , 至此 apiAutoTest 应该不会 再有大更新~~~ 谢谢 看这个Demo的人
企业微信推送:目前项目中预想的效果,是后端人员提交代码,自动部署之后,通过gitlab-ci 启动测试代码,进行接口测试完成之后采集allure中的测试结果一有异常/失败用例就发送邮件并进行企业微信推送给领导 这个其实就是重新发送请求~
.... 就不说了还有很多优化项,能力不够好好充电吧,~~
谢谢各位对apiAutoTest的帮助,谢谢~~~
作者:zy7y
出处:http://www.cnblogs.com/zy7y
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。