记录python+requests实现Esg接口自动化

337 篇文章 9 订阅
247 篇文章 14 订阅


大家在测试过程都遇到过关于新增ESG接口的需求吧。ESG又分为服务方和消费方,测试中还涉及三方人员联调。联调完成后,每次回归总是要惊动第三方同事帮忙造数据,或是手工去调用jmete/postman之类的工具执行,接口少自然不用说,接口多了怎么办?于是萌生了用python写这样的自动化接口。

需要准备的环境:

1.ptyhon环境,我自己本地装的python2.7

2.python开发工具,现在比较流行的pycharm,idesk有下载,eclipse需要安装插件。

3.需要安装的包request, unittest,HTMLTestRunner, cx_OracleRequest是我们发送http/https请求的核心包,unittest, HTMLTestRunner主要用于调用案例和测试报告输出,cx_Oracle连接oracle需要的包,因为我们大部分用的都是oracle库,用这个就可以了。

准备就绪后,开始准备案例编写

首先就是拿到ESG通行令牌,通过注册的用户和密码拿到token,可以通过配置文件配置好自己的几个参数。再用requests.get方法把json串取回来,提取自己想要的关键字。

最后再拼接到url上就Ok了。代码如下:

次调用接口了,最核心的两句话如下:

#发送请求

response = requests.request(“POST”,

url, data=payloud, headers=self.header)

#取得反回接口

result =response.text

是不是很简单?

一个完整个的http/https主要包括post和get请求. 大家在用jmeter OR postman总是能看到发送的请求内容。所以参数我们可以通过这些途径获得,也可以直接找开发拿接口文档。

直接这么调用是可以的,不过看起来比较简陋也没有实现参数化,更重要的是看起来有点丑。

DATA的构造也是可以通过代码来组装的,把参数分解,再一层层的组装,这个可以单独写一个类,把需要参数化的关键字参数化了,比如:

{“data”:"[{“id”:null,“secondGradeDeptChineseName”:“中国平安财产保险股份有限公司广东分公司”,“secondGradeDeptCode”:“204”,“thirdGradeDeptCode”:“20409”,“businessName”:“12.26-hl”,“outletName”:“1”,“verificationTime”:“2018-04-24
11:54:42”,“serviceName”:“更换空滤”,“serviceSum”:1,“orderId”:“3802577287049”,“subOrderId”:“1234522565102”,“mobile”:“13112314284”,“customerName”:“1111”,“carNo”:“1111”,“orderTime”:“2018-04-24
11:54:06”,“comprehensiveScore”:1,“servEnvirmentScore”:1,“servEffectScore”:1,“servAttitudeScore”:1,“commentContent”:“测试环境差评,四级机构测试名称\n”,“commentTime”:“20181106102145”,“commentId”:“684908408108748800”,“createTime”:“2018-04-24
11:55:23”,“uuid”:“64120951A84B325DE05490E2BADCE8C8”,“secondGradeDeptCode”:“202”}]"}

数据组装直接看附件的demo,这样DATA就组装完了,直接当入参就可以了。

接口调用后,需要取回接口的应答,判断是否调用成功了。

我是从两个方面验证结果的

   1.接口返回的关键字,比如ok,success,之类的

   2.另外就是验证数据库了,是否插入,是否修改删等

数据库的配置使用cx_Oracle的导,把所有配置都填上就可以连了,使用中直接传入要查询的SQL。

把你想要查询的结果返回出来,读取有用的信息进行判断就Ok,用unittest. Assert*方法验证案例的执行结果。

最后案例的批量执行可以用unittest, HTMLTestRunner,网上COPY的一段,直接用就可以了。

可以查看到报告:

是不是很简单,针对我的系统目前已经够用了,相信大多调用esg的系统也都能用。欢迎大家一起讨论,学习!


最后:软件测试资料分享一波!

技术行业,一定要提升技术功底,丰富自动化项目实战经验,这对于你未来几年职业规划,以及测试技术掌握的深度非常有帮助。

金九银十面试季,跳槽季,整理面试题已经成了我多年的习惯!下面有我近几年的收集和整理,整体是围绕着【软件测试】来进行整理的,主体内容包含:python自动化测试专属视频、Python自动化详细资料、全套面试题等知识内容。

愿你我相遇,皆有所获! 如果对软件测试、接口测试、自动化测试、面试经验交流。关注微信公众号:【伤心的辣条】 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!

推荐好文:

自动化测试到底要学什么?

为何跳槽不考虑腾讯?聊聊我和鹅厂的一点往事

自动化测试和手动测试哪个更高级?

新手必看:怎么写一个合格的测试用例?

python登录接口测试问题记录与解决 ( 干 货 )

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值