今日分享:如何使用 jmeter 进行性能测试,就拿一个具体项目为例进行讲解。
一、目录结构
说明:确认转让接口的入参依赖于:前台登录接口和获取submitToken接口
二、目录结构中的:撤资项目—测试计划
内容如上图所示
三、目录结构中的:确认撤资—线程组
内容如下图所示:
四、目录结构中的:用户参数 填写登录的用户名和密码
内容如下图所示:
五、目录结构中的: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----用户参数中的:名称
六、目录结构中的:HTTP信息头管理器
内容如下图所示:
备注:HTTP信息头管理器中的名称相当于python文件headers里的内容
七、目录结构中的:HTTP请求—前台登录接口
内容如下图所示:
备注:
Body Data内容:{“authorization”: “Basic ${auth}”} 此内容为登录接口的入参
参数auth是BeanShellPreProcessor【前置处理器中:java代码返回的参数:auth】
八、目录结构中的:HTTP请求—前台登录接口 察看结果树
内容如下图所示:
九、目录结构中的:HTTP请求—前台登录接口 登录xAuthToken提取
内容如下图所示:
正则表达式提取器:获取登录接口返回的:xAuthToken值
备注:
1、引用名称可以随便取,但是正则表达式中的名称需与接口返回的xAuthToken的名称保持一致;
2、一般获取第一个xAuthToken出现的值【模板/匹配数字】;
十、目录结构中的:HTTP请求—获取submitToken值
内容如下图所示:
备注:
1、该接口请求返回submitToken值;
2、入参如Body Data所示;
十一、目录结构中的:HTTP请求—获取submitToken值
submitToken提取【正则表达式提取器】
内容如下图所示:
备注:
1、正则表达式提取器中,引用名称可以自由命名,后面会引用该名称;
2、正则表达式中的名称为:获取submitToken接口返回的submitToken的值的名称;
3、一般获取接口返回的第一个名称为:submitToken的值的名称,即:submitToken;
十二、目录结构中的:HTTP请求—获取submitToken值 察看结果树
内容如下图所示:
十三、目录结构中的:HTTP请求—确认转让接口
内容如下图所示:
备注:
1、Body Data中的入参submitToken变量为:submitToken提取 正则表达式提取器中:引用名称 submitToken;
2、确认转让接口所需要的headers信息已在目录结构为:HTTP信息头管理器;
十四、目录结构中的:HTTP请求—确认转让接口 BeanShellPostProcessor
内容如下图所示:
代码:prev.setDataEncoding(“UTF-8”);
解决:接口返回结果中中文乱码问题;
十五、目录结构中的:HTTP请求—确认转让接口 察看结果树
内容如下图所示:
十六、目录结构中的:HTTP请求—确认转让接口 响应断言
内容如下图所示:
红框标注为:确认转让接口正确返回时应该包含的内容;
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。