今天分享的内容是如何使用jmeter进行性能测试,就拿我经历过的一个项目为例进行讲解。java
1、目录结构以下:
说明:**确认转让接口的入参依赖于:”***前台登陆接口“和”获取submitToken接口“python
2、目录结构中的:**撤资项目---测试计划
内容如上图所示
3、目录结构中的:**确认撤资---线程组
内容以下图所示:正则表达式
4、目录结构中的:用户参数 填写登陆的用户名和密码
内容以下图所示:apache
5、目录结构中的:BeanShellPreProcessor---前置处理器
内容以下图所示:微信
java代码为:【使用base64对用户名密码加密】
import org.apache.commons.codec.binary.Base64;
String username = vars.get("username");
String password = vars.get("password");
String combineduserpass = username + ":" + password;
byte[] encodedUsernamePassword = Base64.encodeBase64(combineduserpass.getBytes());
vars.put("auth",new String(encodedUsernamePassword));
备注:
username---用户参数中的:名称
password----用户参数中的:名称
6、目录结构中的:HTTP信息头管理器【为下面的:**确认转让接口提供请求头信息,相关于python里的headers】
内容以下图所示:性能
备注:HTTP信息头管理器中的:名称至关于python文件headers里的内容
7、目录结构中的:HTTP请求:***前台登陆接口
内容以下图所示:测试
备注:
Body Data内容:{"authorization": "Basic ${auth}"} 此内容为登陆接口的入参
参数auth是BeanShellPreProcessor【前置处理器中:java代码返回的参数:auth】
8、目录结构中的:HTTP请求:***前台登陆接口 察看结果树
内容以下图所示:加密
9、目录结构中的:HTTP请求:***前台登陆接口 登陆xAuthToken提取
内容以下图所示:spa
正则表达式提取器:获取登陆接口返回的:xAuthToken值
备注:
一、引用名称能够随便取,可是正则表达式中的名称需与接口返回的xAuthToken的名称保持一致;
二、通常获取第一个xAuthToken出现的值【模板/匹配数字】;
10、目录结构中的:HTTP请求:获取submitToken值
内容以下图所示:.net
备注:
一、该接口请求返回submitToken值;
二、入参如Body Data所示;
11、目录结构中的:HTTP请求:获取submitToken值 submitToken提取【正则表达式提取器】
内容以下图所示:
备注:
一、正则表达式提取器中,引用名称能够自由命名,后面会引用该名称;
二、正则表达式中的名称为:获取submitToken接口返回的submitToken的值的名称;
三、通常获取接口返回的第一个名称为:submitToken的值的名称,即:submitToken;
12、目录结构中的:HTTP请求:获取submitToken值 察看结果树
内容以下图所示:
十3、目录结构中的:HTTP请求:**确认转让接口
内容以下图所示:
备注:
一、Body Data中的入参submitToken变量为:submitToken提取 正则表达式提取器中:引用名称 submitToken;
二、**确认转让接口所须要的headers信息已在目录结构为:HTTP信息头管理器;
十4、目录结构中的:HTTP请求:**确认转让接口 BeanShellPostProcessor
内容以下图所示:
代码:prev.setDataEncoding("UTF-8");
解决:接口返回结果中中文乱码问题;
十5、目录结构中的:HTTP请求:**确认转让接口 察看结果树
内容以下图所示:
十6、目录结构中的:HTTP请求:**确认转让接口 响应断言
内容以下图所示:
红框标注为:**确认转让接口正确返回时应该包含的内容;
本文分享自微信公众号 - 无量测试之道(gh_858a1aa25a6d)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。