什么是 API 测试?
API 测试其实是一种用程序或工具来发送数据,同时验收系统的返回值的方法。这种测试更偏向于业务实现逻辑。常见的网络协议有 TCP、Http、webservice、socket 等,http和 webservice 都是基于 TCP/IP 协议的应用层协议,webservice 是基于 http 的 soap 协议传输数据。
常用的接口测试工具有:
1、Apache JMeter:是一款基于JAVA的开源测试工具,主要应用于WEB应用程序的负载测试,同时也支持单元测试和接口测试;
2、Postman:是一款功能强大的网页测试工具,支持WEB API和HTTP请求,能够发送任何类型的HTTP请求(GET、HEAD、POST、PUT等)。Postwomen与其近似的一款免费开源、轻量级测试工具;
3、SoapUI,是一款用于SOAP和REST的开源API测试自动化框架,可以集成到Eclipse等开发工具中,支持用户二次开发;
4、Robot Framework,是一款基于Python3的开源自动化测试框架,具有良好的可扩展性,支持关键字驱动,运行用户二次开发。
基于这些接口测试工具,测试人员可以根据自身业务需要开发适合自己的接口自动化测试工具。有了接口自动化测试工具,我们就可以开展自动化测试工作。
如何进行Jmeter接口测试?
环境准备
1.安装JDK(自行安装)
2.安装Jmeter
(1)Jmeter下载地址并解压(本位使用5.1.1版本~)
https://archive.apache.org/dist/jmeter/binaries/
(2)打开Jmeter
进入Jmeter解压文件的bin目录下,双击jmeter.bat文件,即可打开Jmeter
知识点-Jmeter取样器
在正式开始使用Jmeter前,先了解"Json Extractor"的概念。
Json取样器:使用Jsonpath语法,一般用于从响应结果数据里面获取动态变量值
Jsonpath基础语法说明
项目背景
使用Jmeter进行接口测试过程中如何获取动态变量值?这就需要使用到【Jemter取样器】
本文使用全国天气查询接口作为实践接口,根据接口查询厦门当日的天气情况,并提取响应结果(response)内的指定数据:
·日期date_y
·天气weather
接口分析
聚合数据网站(https://www.juhe.cn/docs/api/id/73),提供免费的【全国天气查询接口】,需要的朋友可以去注册并申请该接口,可以获得对应的key值(如下图),就可以使用该接口。
接口说明
实例脚本
·添加线程组:在testplan(测试计划)上右键--add-threads(users)--thread group
·添加http请求:
1.用户发起接口请求
2.在线程组thread group上右键--add--sample--http request
·添加json取样器:
1.用户获取响应数据
2.在http请求上右键Add--post processors--json extractor
·添加调试工具:
1.用于获取变量
2.在http请求上右键Add-post processors--debug postprocessor
·添加监听器:
1.用于查看自动化结果日志(测试报告)
2.在线程组thread group上右键Add--listener--view result tree
·点击
按钮,执行脚本。
脚本一:http请求
脚本二:Jmeter取样器(2个取样器)
执行结果
脚本内添加调试工具debug pathprocessor后,在测试报告里面会有单独的日志文件如下图:
四、结语
随着自动化测试成为测试工程师必备技能之一。拥有了该项技能在面对功能、模块日趋复杂和迭代频繁的软件开发项目时,测试人员可以从容不迫的解决和应对这些问题。
结合我在项目中的实践分享了接口自动化测试过程中的几点感悟,希望对想要迈入和初步迈入的自动化测试领域的同志们有所帮助。