压力测试: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自动化测试详解_第1张图片

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

压力测试:Jmeter自动化测试详解_第2张图片

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

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

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

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

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

2.1 设置代理服务器

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

Google浏览器参考如下界面

压力测试:Jmeter自动化测试详解_第3张图片

Edge浏览器参考如下界面

压力测试:Jmeter自动化测试详解_第4张图片

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

压力测试:Jmeter自动化测试详解_第5张图片

2.2 浏览器证书设置

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

Google浏览器参考如下界面

压力测试:Jmeter自动化测试详解_第6张图片

Edge浏览器参考如下界面

压力测试:Jmeter自动化测试详解_第7张图片

2.2.1 添加证书

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

压力测试:Jmeter自动化测试详解_第8张图片

压力测试:Jmeter自动化测试详解_第9张图片

压力测试:Jmeter自动化测试详解_第10张图片

压力测试:Jmeter自动化测试详解_第11张图片

压力测试:Jmeter自动化测试详解_第12张图片

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

2.3.1 创建线程组

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

压力测试:Jmeter自动化测试详解_第13张图片

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

压力测试:Jmeter自动化测试详解_第14张图片

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

压力测试:Jmeter自动化测试详解_第15张图片

2.3.3创建Http代理服务器

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

压力测试:Jmeter自动化测试详解_第16张图片

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

压力测试:Jmeter自动化测试详解_第17张图片

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

2.4.1 录制脚本

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

压力测试:Jmeter自动化测试详解_第18张图片

压力测试:Jmeter自动化测试详解_第19张图片

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

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

压力测试:Jmeter自动化测试详解_第20张图片

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

压力测试:Jmeter自动化测试详解_第21张图片

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

压力测试:Jmeter自动化测试详解_第22张图片

2.4.2 创建HTTP请求默认值

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

压力测试:Jmeter自动化测试详解_第23张图片

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

压力测试:Jmeter自动化测试详解_第24张图片

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

压力测试:Jmeter自动化测试详解_第25张图片

重点!!!

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

压力测试:Jmeter自动化测试详解_第26张图片

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

3.1 获取登录token

压力测试:Jmeter自动化测试详解_第27张图片
选中登录,右键,添加->后置处理器->JSON提取器,获取用户登录token

压力测试:Jmeter自动化测试详解_第28张图片

3.2 配置token参数

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

压力测试:Jmeter自动化测试详解_第29张图片

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

3.3 添加监听器

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

压力测试:Jmeter自动化测试详解_第30张图片

添加完成之后如下图所示

压力测试:Jmeter自动化测试详解_第31张图片

3.4 后置处理器

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

压力测试:Jmeter自动化测试详解_第32张图片

3.5 定时器

压力测试:Jmeter自动化测试详解_第33张图片

后续待完善

4、遇到的问题

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

证书问题

压力测试:Jmeter自动化测试详解_第34张图片

压力测试:Jmeter自动化测试详解_第35张图片

5、总结

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

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

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

 

你可能感兴趣的:(压力测试,jmeter,功能测试,自动化测试,软件测试,职场和发展,测试用例)