项目实战,手把手教你 Jmeter 性能测试

今日分享:如何使用 jmeter 进行性能测试,就拿一个具体项目为例进行讲解。

一、目录结构

说明:确认转让接口的入参依赖于:前台登录接口和获取submitToken接口

项目实战,手把手教你 Jmeter 性能测试_第1张图片

二、目录结构中的:撤资项目—测试计划

内容如上图所示

三、目录结构中的:确认撤资—线程组

内容如下图所示:

项目实战,手把手教你 Jmeter 性能测试_第2张图片

四、目录结构中的:用户参数 填写登录的用户名和密码

内容如下图所示:

项目实战,手把手教你 Jmeter 性能测试_第3张图片

五、目录结构中的:BeanShellPreProcessor—前置处理器

内容如下图所示:

项目实战,手把手教你 Jmeter 性能测试_第4张图片

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信息头管理器

内容如下图所示:

项目实战,手把手教你 Jmeter 性能测试_第5张图片

备注:HTTP信息头管理器中的名称相当于python文件headers里的内容

七、目录结构中的:HTTP请求—前台登录接口

内容如下图所示:

项目实战,手把手教你 Jmeter 性能测试_第6张图片

备注:

Body Data内容:{“authorization”: “Basic ${auth}”} 此内容为登录接口的入参

参数auth是BeanShellPreProcessor【前置处理器中:java代码返回的参数:auth】

八、目录结构中的:HTTP请求—前台登录接口 察看结果树

内容如下图所示:

项目实战,手把手教你 Jmeter 性能测试_第7张图片

九、目录结构中的:HTTP请求—前台登录接口 登录xAuthToken提取

内容如下图所示:

项目实战,手把手教你 Jmeter 性能测试_第8张图片

正则表达式提取器:获取登录接口返回的:xAuthToken值

备注:

1、引用名称可以随便取,但是正则表达式中的名称需与接口返回的xAuthToken的名称保持一致;

2、一般获取第一个xAuthToken出现的值【模板/匹配数字】;

十、目录结构中的:HTTP请求—获取submitToken值

内容如下图所示:

项目实战,手把手教你 Jmeter 性能测试_第9张图片

备注:

1、该接口请求返回submitToken值;

2、入参如Body Data所示;

十一、目录结构中的:HTTP请求—获取submitToken值

submitToken提取【正则表达式提取器】

内容如下图所示:

项目实战,手把手教你 Jmeter 性能测试_第10张图片

备注:

1、正则表达式提取器中,引用名称可以自由命名,后面会引用该名称;

2、正则表达式中的名称为:获取submitToken接口返回的submitToken的值的名称;

3、一般获取接口返回的第一个名称为:submitToken的值的名称,即:submitToken;

十二、目录结构中的:HTTP请求—获取submitToken值 察看结果树

内容如下图所示:

项目实战,手把手教你 Jmeter 性能测试_第11张图片

十三、目录结构中的:HTTP请求—确认转让接口

内容如下图所示:

项目实战,手把手教你 Jmeter 性能测试_第12张图片

备注:

1、Body Data中的入参submitToken变量为:submitToken提取 正则表达式提取器中:引用名称 submitToken;

2、确认转让接口所需要的headers信息已在目录结构为:HTTP信息头管理器;

十四、目录结构中的:HTTP请求—确认转让接口 BeanShellPostProcessor

内容如下图所示:

项目实战,手把手教你 Jmeter 性能测试_第13张图片

代码:prev.setDataEncoding(“UTF-8”);

解决:接口返回结果中中文乱码问题;

十五、目录结构中的:HTTP请求—确认转让接口 察看结果树

内容如下图所示:

项目实战,手把手教你 Jmeter 性能测试_第14张图片

十六、目录结构中的:HTTP请求—确认转让接口 响应断言

内容如下图所示:

项目实战,手把手教你 Jmeter 性能测试_第15张图片

红框标注为:确认转让接口正确返回时应该包含的内容;

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!   

你可能感兴趣的:(软件测试工程师,自动化测试,软件测试,jmeter,软件测试,程序人生,自动化测试,职场发展,功能测试)