Python接口自动化测试实战

目录

前言:

1.接口定义:

2.基本流程

3.需求分析

4.用例设计

5.脚本开发

5.3结果校验

6.结果分析


前言:

Python是一款在自动化测试领域应用广泛的编程语言。通过使用Python的测试框架(如unittest和pytest),开发人员可以轻松地实现接口自动化测试并进行可靠的检查。

1.接口定义:

接口普遍有两种意思,一种是API(ApplicationProgramInterface),应用编程接口,它是一组定义、程序及协议的集合,通过API接口实现计算机软件之间的相互通信。而另外一种则是Interface,它是面向对象语言如java,c#等中一个规范,它可以实现多继承的功能。接口测试中的接口指的是API。

为什么要使用接口:

假如公司的产品前端开发还没开发完,接口开发好了。有天领导说,小王,你测下这个登录功能,要是你不懂接口的话就会对领导说这个功能测不了啊,页面没开发完。

接口测试是不需要看前端页面的,可以更早的介入到测试工作中,提高工作效率。

Python接口自动化测试实战_第1张图片

根据测试金字塔,越底层成本越低,一个底层的bug可能会引起上一层的多个bug,所以测试越底层,越能保证产品的质量,也越能节省测试的成本。而单元测试一般是由开发来完成的,所以对于测试来说,接口测试是非常必要的。

对于自动化测试来说,UI的变动性最大,所以UI自动化测试的维护成本很高。而接口的改动很小,所以接口自动化测试是最实用,最节约成本的。

2.基本流程

接口功能自动化测试流程如下:

需求分析->用例设计->脚本开发->测试执行->结果分析

2.1示例接口

手机号码归属地

接口地址:http://apis.juhe.cn/mobile/get

返回格式:json/xml

请求方式:get

请求示例:http://apis.juhe.cn/mobile/get?phone=手机号&key=您申请的KEY

3.需求分析

Python接口自动化测试实战_第2张图片

需求分析是参考需求、设计等文档,在了解需求的基础上还需清楚内部的实现逻辑,并且可以在这一阶段提出需求、设计存在的不合理或遗漏之处。

如:手机号归属地接口,输入不同号码段的手机号,查看手机号归属和手机号码属于哪个运营商

4.用例设计

Python接口自动化测试实战_第3张图片

5.脚本开发

5.1模块安装

使用pip命令安装即可:

pipinstallrequests

5.2接口调用

使用requests库,我们可以很方便的编写上述接口调用方法(如输入phone=手机号,示例代码如下):

在实际编写自动化测试脚本时,我们需要进行一些封装。

Python接口自动化测试实战_第4张图片

我们按照测试用例设计,依次编写每个功能的自动化测试脚本即可。

5.3结果校验

在手工测试接口的时候,我们需要通过接口返回的结果判断本次测试是否通过,自动化测试也是如此。

对于本次的接口,输入手机,我们需要判断返回的结果resultcode是不是等于200结果分页时需要校验返回的结果数是否正确等。完整结果校验代码如下:

Python接口自动化测试实战_第5张图片

运行结果:

Python接口自动化测试实战_第6张图片

5.4生成测试报告

用例执行完之后,那就需要发报告给领导。

那么我们使用HTMLTestRunner第3方模块插件生成html格式测试报告

Python接口自动化测试实战_第7张图片

Python接口自动化测试实战_第8张图片

5.5发送邮件报告

测试完成之后,我们可以使用zmail模块提供的方法发送html格式测试报告

基本流程是读取测试报告->添加邮件内容及附件->连接邮件服务器->发送邮件->退出,示例代码如下:

Python接口自动化测试实战_第9张图片

6.结果分析

打开完成后生成的测试报告,可以看出本次测试共执行了2条测试用例,1条成功,1条失败

Python接口自动化测试实战_第10张图片

最终发送测试报告邮件,截图如下:

Python接口自动化测试实战_第11张图片

 作为一位过来人也是希望大家少走一些弯路,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步! 

留【自动化测试】即可【自动化测试交流】:574737577(备注ccc)icon-default.png?t=N5F7http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=8sFvl1Yi2ruJa1cqaaz0car85omUNLpx&authKey=vjglrc9OroNe2M%2F%2FA%2F%2B4JnNVTWfVWIt99KcXwqz%2F7dqHPCpZh97ZgT%2FHePxtriAs&noverify=0&group_code=574737577

Python接口自动化测试实战_第12张图片

 

 

你可能感兴趣的:(软件测试,软件测试工具,web自动化测试,jenkins,运维,jvm,开发语言,postman)