压力测试: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个模板-面试简历模板、测试方案模板、软件测试报告模板、测试分析模版、测试计划模板、性能测试报告、性能测试报告、性能测试脚本用例模板(信息完整)

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

相关推荐
第七种黄昏8 小时前
前端面试-箭头函数
前端·面试·职场和发展
代码充电宝9 小时前
LeetCode 算法题【简单】20. 有效的括号
java·算法·leetcode·面试·职场和发展
海琴烟Sunshine10 小时前
leetcode 119. 杨辉三角 II python
算法·leetcode·职场和发展
成成成成成成果12 小时前
Selenium八大元素定位实战指南
功能测试·自动化
lifewange13 小时前
幂等机制
功能测试·单元测试
Apifox.14 小时前
如何在 Apifox 中通过 AI 一键生成几十个测试用例?
人工智能·程序人生·ai·测试用例·ai编程
天才测试猿15 小时前
WebUI自动化测试:POM设计模式全解析
自动化测试·软件测试·python·selenium·测试工具·设计模式·测试用例
张永清-老清1 天前
每周读书与学习->初识JMeter 元件(五)
学习·jmeter·性能调优·jmeter性能测试·性能分析·干货分享·每周读书与学习
低音钢琴1 天前
【从零开始构建性能测试体系-02】 Apache JMeter 取样器指南:从入门到精通
学习·jmeter·apache