说明:最近在做老系统的接口自动化,老系统的接口欠缺维护;我一步步梳理清楚业务主流程,然后对主流程接口在jmeter上进行验证(顺便做下单接口的并发,下期讲),接口流程跑通后,就可以直接快速编写接口自动化测试用例啦
第一步:登录
涉及知识点:登录、获取token、设置token为全局变量
步骤适合有点基础的同学
首先登录、然后提取登录接口返回参数 [多个参数使用json提取器,使用规则见下图];
将接口默认设置配置元件中,最后将token设置为全局变量 [ 脚本见下图]
1、设置通用web服务信息:协议、ip、端口号
2、获取token、传参 [多个参数,一般接口引用时${参数名}]
3、http信息头管理器 [将Authorization参数设置为请求头,供其他所有接口使用,Beashell的固定用法]
4、Beashell PostProcessor [固定用法]
特别说明:为何使用accessToken_1,当然也可以是accessToken0
查看提取到的参数就明白了,加一个Debug Sampler,如下:
第二步:其他接口引用参数${参数名}
第三步:常用断言方式
一、Response Assertion(响应断言)
二、Size Assertion(数据包字节大小断言)
判断响应结果是否包含正确数量的byte。可定义(=, !=, >, <, >=, <=)
三、Duration Assertion(持续时间断言)
判断是否在给定的时间内返回响应结果(ms)
四、beanshell 断言(自由断言)
if ("200".equals(""+ResponseCode) == false )
{
// 响应码不等于200时,设置断言失败,并输出失败信息
Failure=true ;
FailureMessage ="Response code was not a 200 response code it was " + ResponseCode + "." ;
print ( "the return code is " + ResponseCode); // this goes to stdout
log.warn( "the return code is " + ResponseCode); // this goes to the JMeter log file
} else {
// 响应码等于200时,设置断言成功,并输出成功信息
Failure=false;
FailureMessage = "Return true, and the response code was " + ResponseCode;
}
}