压力测试:Jmeter自动化测试详解

1、Jmeter的安装与部署

1.1 环境要求

jdk1.8、配置jdk环境变量(JAVA_HOME:C:\Program Files\Java\jdk1.8.0_101 Path:;%JAVA_HOME%\bin; CLASSPATH:%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar)

1.2 安装Jmeter

参考Jmeter的下载及安装

1.3 配置Jmeter环境变量

参考配置Jmeter环境变量

1.4 Jmeter的使用

找到jmeter安装路径的bin文件夹(我的电脑是D:\server\apache-jmeter-5.3),如下图

双击jmeter.bat后若显示如下界面即运行成功

同时,我也为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接点击文末小卡片免费领取资料文档

软件测试视频教程观看处:

字节大佬教你逼自己如何在15天内掌握自动化测试(接口自动化/APP自动化/Web自动化/性能测试),内含项目实战

手写自动化测试脚本(不建议用)

通过录制系统生成自动化测试脚本(推荐用)

2.1 设置代理服务器

进入浏览器设置,找到如下目录(图片不清则双击查看)

Google浏览器参考如下界面

Edge浏览器参考如下界面

如下图进入计算机代理设置,打开使用代理服务器,地址写http://localhost,端口写8888(尽量不使用8080)。若下方有保存按钮,则需要点击按钮保存,然后浏览器代理服务器设置完毕

2.2 浏览器证书设置

浏览器证书设置:打开浏览器设置中的高级设置

Google浏览器参考如下界面

Edge浏览器参考如下界面

2.2.1 添加证书

打开管理证书后选择受信任的根证书颁发机构点击导入,进入jmeter安装目录Bin文件夹

2.3 创建线程组及Http代理服务器

2.3.1 创建线程组

选中测试计划,右键,选择添加->线程->线程组,即可新建线程组

将线程组命名为绩效考核系统自动化测试

2.3.2 在线程组中添加一个录制控制

2.3.3创建Http代理服务器

选中测试计划(若界面中含有工作台,换成选中工作台,执行新建Http代理服务器的操作),右键,选择添加->非测试元件->Http代理服务器,即可新建Http代理服务器

端口设为8888,与3.1中设置的代理服务器的端口相同;目标控制器选择 测试计划>绩效考核系统自动化测试

2.4 录制系统测试脚本(以绩效考核系统为例)

2.4.1 录制脚本

点击代理服务器右侧里面的启动录制按钮,弹出一个根证书的弹窗,点击确定。

进入系统登录界面,如图所示,jmeter已经开始录制

进入系统后,选择几个打分项,点击停止录制

如下图我们可以看到,我们与系统进行的交互行为,已经被录制成了脚本

这时,我们可以关闭代理了,否则会影响上网

2.4.2 创建HTTP请求默认值

选中测试计划,右键,添加->配置元件->HTTP请求默认值,新建完成后,将HTTP请求默认值放在目录最上方(只要是配置类文件,最好都放在目录最上方)

在HTTP请求默认值设置默认协议为http,默认ip或者服务器为10.17.18.24,其他内容视情况而定

在请求默认值设置好默认参数后,可以将线程组的每个请求的参数删除,这样http请求参数就会默认HTTP请求默认值里的参数值。

重点!!!

可以在录制测试脚本之前就创建好HTTP请求默认值,这样录制出来的脚本也会默认为HTTP请求默认值里的参数值

3、修改自动生成的测试脚本

3.1 获取登录token

选中登录,右键,添加->后置处理器->JSON提取器,获取用户登录token

3.2 配置token参数

如下图所示,进入getinfo请求的http信息头管理器,将参数Authorization对应的值修改成Bearer ${token}(JSON提取器获取的登录令牌)

后面的每个请求,都要修改上述参数。

3.3 添加监听器

选中测试计划,右键,添加->监听器,可以添加如下图所示的监听器(如察看结果树、汇总报告、聚合报告、汇总图)

添加完成之后如下图所示

3.4 后置处理器

添加BeanShell后置处理器,设置接收的响应消息的编码格式(UTF-8)

3.5 定时器

后续待完善

4、遇到的问题

org.apache.http.NoHttpResponseException: failed to respond 问题解决

证书问题

5、总结

PS:这里分享一套软件测试的自学教程合集。 对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近100个G。

☑ 240集-零基础到精通全套视频课程
☑ [课件+源码]-完整配套的教程
☑ 18套-测试实战项目源码
☑ 37套-测试工具软件包
☑ 268道-真实面试题
☑ 200个模板-面试简历模板、测试方案模板、软件测试报告模板、测试分析模版、测试计划模板、性能测试报告、性能测试报告、性能测试脚本用例模板(信息完整)

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

相关推荐
默金……2 小时前
jmeter跨进程实现变量共享-全局变量
jmeter
测试者家园2 小时前
ChatGPT生成接口文档实践案例(二)
软件测试·chatgpt·llm·测试用例·测试图书·质量效能·用chatgpt做测试
m0_675988234 小时前
Leetcode3218. 切蛋糕的最小总开销 I
c++·算法·leetcode·职场和发展
测试者家园6 小时前
ChatGPT与Postman协作完成接口测试(一)
软件测试·chatgpt·接口测试·postman·用chatgpt做软件测试·测试图书·质量效能
黑客老陈6 小时前
面试经验分享 | 北京渗透测试岗位
运维·服务器·经验分享·安全·web安全·面试·职场和发展
字节程序员11 小时前
JMeter 二次开发之环境准备
jmeter
测试杂货铺12 小时前
Jmeter压测实战:Jmeter二次开发之自定义函数
自动化测试·软件测试·测试工具·jmeter·职场和发展·测试用例·压力测试
字节程序员12 小时前
Jmeter对图片验证码的处理【超详细】
jmeter
呆呆的猫13 小时前
【LeetCode】227、基本计算器 II
算法·leetcode·职场和发展