Jmeter多接口测试性能测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、接口业务流程
1、获取token接口
http://192.168.1.4:9900/rest/getToken/
2、获取图片链接口
http://192.168.1.4:9900/regist/getImagePath/?token=89bd9d88f4f3421c9e639dfab0c a423c&type=fql
返回数据:
{"msg": "\u6210\u529f", "code": 0, "detail": {"image_path":
"/images/regist/20160822/img1471837595.25.jpg"}}
3、获取图片验证码接口
http://192.168.1.4:9900/images/regist/20160822/img1471850521.18.jpg
4、获取注册结果接口
http://192.168.1.4:9900/regist/imageView/?imagecode=zds4&phone=182********&t oken=89bd9d88f4f3421c9e639dfab0ca423c&type=fql
二、JMETER的使用
1、基本操作
1.1、新增测试计划
新增线程组,接着在该线程组下方新增4个“HTTP请求”(添加-Sampler-HTTP请求),
再在该线程组下方添加“察看结果树”(添加-监听器察看结果树)。也可以在每个HTTP请求下方添加“察看结果树”,方便找到需要正则或参数化的数据。
一个完整的测试计划诞生了,如下图2.1所示
图2.1
1.2、配置HTTP请求
以上图中的“HTTP请求01”为例进行说明。在HTTP请求窗口中的Basic标签页面上输入服务器名称或IP、端口号和路径(路径URL地址端口号后面的),其他默认,如下图2.2-1所示。此时可以执行下然后在当前的HTTP请求01的察看结果树里检查接口是否能正常访问(如下图2.2-2所示)。
图2.2-1
图2.2-2
1.3、使用正则表达式
还是以上图2.2-1中的“HTTP请求01”为例进行说明。因为这个接口会得到一个动态值,而且这个动态值会被其他接口使用。在上图 2.2-2中得到一个响应数据:{"msg": "\u6210\u529f", "code": 0, "detail": {"token": "a53b93507c9d4f3fa43de4a44073bbb6"}}。在使用第二个接口(HTTP请求02)时需要一个参数值token,而这个值必须调用第一个接口后才能获取到。如果让其他接口使用这个动态值,那么我们就需要在第一个接口(HTTP 请求01)上使用正则表达式来获取这个返回值。
A、首先在第一个“HTTP请求01”上点击添加后置处理器-正则表达式提取器,如下图
3.3-1所示
图3.3-1
B、在下图3.3-2中输入“引用名称”(自定义数据名称,在其他接口中会用到)、“正则
表达式”、“模板”、“匹配数字(0代表随机)”,其他默认。
图3.3-2
说明:正则表达式可以看做是LR中的手动关联,从“察看结果树”-“响应数据”区域找到
返回值:{"token": "a53b93507c9d4f3fa43de4a44073bbb6"}。这条字符串就是需要关联的,
所以正则表达式输入为:"token": "(.+?)"。其他的不解释,照写即可,哈哈。完成以上设置后运行下JMETER,在“察看结果树”区域察看结果是否正确(绿色表示正确)。
C、在第二个接口(获取图片地址)中需要这个正则后的数据,此时在“HTTP请求2”的Basic标签页面的Parameters区域添加接口参数(token和type),其中token值使用接口1中的正则表达式中的变量名(token),此token值为${token},如下图3.3-3所示。最后保存并执行,如果HTTP请求2(获取图片地址)的响应数据显示为绿色则表示设置成功。
图3.3-3
同理,HTTP请求3(获取验证码)接口中需要动态生成的图片地址,那么就需要设置HTTP请求2(获取图片地址)接口中的正则表达式,然后再在HTTP请求3接口中的URL 地址上引用接口2的正则变量即可。
1.4、变量参数化
此业务流程是首先获取token然后得到图片地址,接着获得验证码,最后得出注册信息。在HTTP请求4(获取注册信息)的接口信息中发现多了一个手机号(phone)。如果想得到不同手机号对应的注册信息,那么就需要对接口4的手机号进行变量参数化。
A、在HTTP请求4上添加“配置元件-CSV Data Set Config”,如下图4.4-1所示
图4.4-1
B、元件添加成功后,使用TXT新建一个CSV文件(注意,这里必须使用TXT文件然后另存为CSV文件,不然执行时会报错全是乱码)。在CSV文件中输入多个值(这里是手机号,一行显示一条手机号,我在CSV文件中写了5个不同的手机号),然后保存CSV文件(记住存放路径)。
C、新建CSV文件后,切换到刚才添加成的CSV Data Set Config窗口,在“Filename”输入CSV的存放地址(包括CSV文件名称),在Variable Names(comma-elimited)中输入自定义的变量名称(此变量会用到HTTP请求4的参数值中,我这里设置为phonenum),其他默认,如下图4.4-2所示
图4.4-2
D、现在切换到HTTP请求4(获取注册信息)窗口中,在Parameters标签页面中添加4个参数(因为此接口带4个参数)imagecode、token、type、phone。参数值分别是zds4、${token(HTTP请求1中的正则表达式)、fql、${phonenum}(刚刚设置的参数化),如下图4.4-3所示
图4.4-3