• 13
  • 13
分享
  • Python接口自动化测试实战——软件测试圈
  • 北极 2021-08-05 10:07:20 字数 1323 阅读 2642 收藏 13

1.接口定义:

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

为什么要使用接口:

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

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

1.jpg

根据测试金字塔,越底层成本越低,一个底层的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.需求分析

2.png

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

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

4.用例设计

3.png

5.脚本开发

5.1模块安装

使用pip命令安装即可:

pipinstallrequests

5.2接口调用

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

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

4.png

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

5.3结果校验

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

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

5.png

运行结果:

6.png

5.4生成测试报告

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

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

7.png

8.png

5.5发送邮件报告

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

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

9.png

6.结果分析

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

10.png

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

11.png


作者:骑着乌龟赶猪

原文链接:https://www.cnblogs.com/zzpython/p/13283416.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 敏捷大行其道,Daily Scrum过程是团队进行每天的检查和调整的环节。以期达到: 1. 团队商量决定谁做什么(不能有领导人物指派),为当天排一个计划 2. 团队沟通状态,了解现状,发现障碍 3. 团队回顾昨天的工作,做调整,持续改进 基本规则 相信所有践行过每日站会的人都对如下规则印象深刻: 1.    会议最好在15分钟内完成(或者每个人的时间不超过一分钟) 2.    每个人回答三个问题: ·      我昨天完成了什么任务...
            3 2 3340
            分享
          • 软件测试是对项目研发过程产物(文档、代码、程序等)进行审查,保障产品质量的过程。测试人员应具备从用户角度、开发角度和业务角度审查研发过程产物的能力,从而促使最终的产品达到用户、开发和业务三方要求。一、测试人员的价值是什么自动化测试是当前测试领域的一种重要技术,市面上有jmeter、postman、metersphere等诸多自动化测试工具。越来越多的测试人员将自动化测试作为自身价值的突破点,通过学习掌握更多的自动化测试工具彰显自身价值。那么,测试人员的价值真的就等于自动化测试的水平吗?显而易见,自动化测试是一种新兴的重要的测试技术,是软件测试的一个重要分支。它具有一定的技术门槛和客观的评价指标...
            1 1 1003
            分享
          •   测试用例格式包括十大特点  1)用例编号  2)测试项  3)测试标题  4)用例属性  5)重要级别:高中低  6)预置条件  7)测试输入  8)操作步骤  9)预期结果  10)实际结果  等价类  1,等价类定义  2,等价类划分  3,等价类划分规则  4,进行等价类用例设计  5,案例  边界值  1,边界值的三点  2,边界值应用场景  3,边界值方法应用步骤  判定表  1,定义  2,重要概念  3,判定表应用步骤  4,案例  因果图  1,输入与输入的关系  2,输入与输出的关系  3,案例  正交试验  1,因子和水平的定义  2,特点  3,设计流程  4,注意点...
            1 1 3217
            分享
          • 1.页面链接检查每一个链接是否都有对应的页面,并且页面之间切换正确。可以使用一些工具,如LinkBotPro、File-AIDCS、HTML Link Validater、Xenu等工具。LinkBotPro不支持中文,中文字符显示为乱码;HTML Link Validater只能测试以Html或者htm结尾的网页链接;Xenu无需安装,支持asp、do、jsp等结尾的网页,xenu测试链接包括内部链接和外部链接,在使用的时候应该注意,同时能够生成html格式的测试报告。如果系统用QTP进行自动化测试,也可以使用QTP的页面检查点检查链接。2. 相关性检查功能相关性:删除/增加一项会不会对其他...
            0 0 1501
            分享
          •   新浪科技讯 北京时间3月16日早间消息,据报道,当地时间周三,谷歌宣布已停止销售Glass Enterprise智能眼镜,该公司也将于今年9月起停止对该智能眼镜的软件支持。  这是大型科技公司最早推出、也是最受认可的智能眼镜系列之一,而谷歌公司此举终结了其生产线。  Glass Enterprise是谷歌Glass的后续产品。谷歌Glass是一款轻型眼镜产品,可以在用户视野中的透明屏幕上显示微小的信息。  2013年,谷歌眼镜首次以1500美元出售给开发者和初期试用者,并迅速激发了科技爱好者的想象力。虽然谷歌创始人拉里•佩奇和谢尔盖•布林支持谷歌眼镜项目,但谷歌眼镜却从未成为主流产品或流行...
            0 0 1073
            分享
      • 51testing软件测试圈微信