今天终于迎来了《高效研发之——工具篇》系列的第7篇。之所以说终于, 一是因为距离上一篇已经过去快半年时间了......, 二是因为,今天这篇是邀请我们的美女测试经理Sarah同学亲自捉刀。
本篇属测试工具JMeter的初级入门知识,Sarah同学还会陆续推出更多系列专题,敬请期待哦~
// ~~下面是明晃晃的分隔线~~
接口测试工具——JMeter
作者:Sarah
什么是接口测试和为什么要做接口测试
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点在于检测接口测试的数据交互过程中的数据是否与预期想要的一致。
那么为什么要进行接口测试呢?主要原因有以下几点:第一,测试的速度非常快,属于继承测试;第二,接口测试介入较早,可以在代码阶段就进行测试;第三,接口测试发现问题较早;第四,接口测试解决问题的成本最少。现在很多的系统都是前后端架构分离的,在后台程序开发完成的情况下就能绕过前端直接对接口层面进行验证,这样能充分利用时间。
怎样进行接口测试
接口测试也属于功能测试,所以跟功能测试的流程大致相似,测试流程是:
1.分析接口文档(注意分析入参和出参、参数的类型、参数的个数等);
2.设计接口测试用例(主要在于入参数据的设计);
3.使用工具进行接口测试,提交bug(查看不同用例的参数请求,接口的返回值是否与预期结果保持一致);
4.测试报告;
JMeter实例
今天就以一个最基本的获取token值的接口为例,使用JMeter工具对该http接口进行测试。
一、建立线程组
点击JMeter的.bat文件,打开jmeter工具;首先建立一个线程组,右键点击测试计划—添加—Threads—线程组
添加线程组
-
线程数:表示并发用户数
-
Ramp-up Period(in seconds):表示每个用户启动的延迟时间
-
循环次数:该请求执行的次数,如果勾选’永远’表示会一直运行
-
调度器:勾上‘调度器’,可以操作调度器配置中的启动时间和结束时间。设置启动时间,点击运行,系统将不会立即运行而是会等达到启动时间值时再运行;结束时间就对应启动时间,当前时间等于结束时间时就会自动停止运行。
二、添加一个HTTP请求,模拟发送请求
右击新添加的线程组—添加—Sampler—HTTP请求
添加Http请求
-
服务器名称或IP:表示服务器名或者IP地址
-
端口号:IP所占用的端口号,有就填上,没有端口号可不填
-
Timeouts:超时定义
-
Implementation:默认填写为Java
-
协议:默认http协议
-
方法:根据http请求所使用的方法填写(常用的有get、post、put等)
-
Content encoding:编码格式
-
路径:http请求的路径(也可将IP地址和端口号都填在路径中)
-
Parameters参数:跟着路径一起发送的参数
-
Body Data:请求的body参数,使用了Parameters就不能使用Body Data
-
Files upload:可以传递媒体文件
-
添加:添加请求的参数
三、添加断言,检测返回结果是否与预期值一致
右击http请求—添加—断言—响应断言(根据接口文档上的响应内容进行添加,选择作为断言条件的值必须是比较明确的)
添加断言
-
要测试的模式:添加判断条件,是否与返回的响应数据一致。
四、添加查看结果树。
右击线程组—添加—监听器—查看结果数
查看结果树
-
文件名:可添加文件,将结果都写入该文件中
-
Log/display only:勾选‘仅日志错误’即只将错误的日志记录(配合断言一起使用)
-
响应数据:http请求返回的响应数据在此查看
运行该请求后,基本只会有两种结果,一种是请求失败,text中的请求名前的标志会以红色显示,另一种就是如上图所示,标志显示为绿色,代表断言与返回响应数据一致,请求成功。
网友评论