JMeter录制HTTPS协议测试脚本指南(JMeter压测简单步骤)
一、引言
JMeter是一款开源的、纯Java实现的负载测试工具,可用于对Web应用进行压力测试。
在测试过程中,我们经常需要录制HTTPS协议的测试脚本。
本文将详细介绍使用JMeter录制HTTPS协议测试脚本的步骤和注意事项。
二、准备工作
1. 安装JMeter:确保已安装JMeter并配置好Java环境。可以从Apache JMeter官网下载最新版本的JMeter。
2. 安装JMeter插件:为了录制HTTPS协议,需要安装JMeter的HTTPS插件。可以在JMeter的插件管理器中搜索并安装“HTTP(S) TestScript Recorder”插件。
3. 配置SSL证书:由于HTTPS协议使用了SSL加密,因此需要配置SSL证书以实现对HTTPS请求的录制。可以从浏览器导出SSL证书,并在JMeter中配置。
三、录制HTTPS协议测试脚本的步骤
1. 启动JMeter,并打开“HTTP(S) Test Script Recorder”插件。
2. 配置录制参数:在HTTP(S) Test Script Recorder插件中,配置录制的相关参数,如代理服务器地址、端口号等。
3. 启动代理服务器:点击“启动”按钮,启动代理服务器。此时,JMeter将监听来自浏览器的HTTPS请求。
4. 浏览器设置代理:在浏览器中将代理服务器设置为JMeter的代理服务器地址和端口号。
5. 访问目标网站:通过浏览器访问目标网站,执行一系列操作,如登录、浏览页面、提交表单等。
6. 停止录制:完成操作后,点击JMeter中的“停止”按钮,停止录制。
7. 保存测试脚本:录制完成后,JMeter会自动生成测试脚本。可以将其保存为JMX文件,以备后续使用。
四、注意事项
1. SSL证书配置:确保正确配置SSL证书,以避免录制过程中因证书问题导致录制失败。
2. 浏览器设置:在浏览器设置代理时,确保代理服务器地址和端口号正确无误。
3. 权限问题:在录制过程中,可能会遇到权限问题。请确保具有足够的权限执行相关操作。
4. 录制质量:录制的测试脚本可能包含一些不必要的请求和参数,需要进行适当的优化和调整,以提高测试质量。
5. 并发压力测试:在录制完成后,可以使用JMeter进行并发压力测试,以评估系统的性能和稳定性。
五、优化和调整测试脚本
1. 清理无用请求:录制完成后,检查测试脚本中的请求,删除无关或重复的请求。
2. 参数化请求参数:将请求中的固定参数替换为变量或参数化数据,以便进行更灵活的测试。
3. 设置合理的并发数和迭代次数:根据测试需求,设置合理的并发数和迭代次数,以模拟真实用户行为。
4. 添加断言和监听器:在测试脚本中添加断言以验证服务器响应是否符合预期,并添加监听器以监控测试结果。
5. 优化JMeter配置:根据系统性能和资源情况,优化JMeter的配置,如调整线程数、调度时间等。
六、进行并发压力测试
完成测试脚本的优化和调整后,可以使用JMeter进行并发压力测试。
可以设置多个线程同时发起请求,模拟多用户并发访问的情况,以评估系统的性能和稳定性。
七、总结
本文详细介绍了使用JMeter录制HTTPS协议测试脚本的步骤和注意事项。
通过遵循本文的指导,您可以轻松地使用JMeter录制HTTPS协议的测试脚本,并进行并发压力测试以评估系统的性能和稳定性。
希望本文对您有所帮助!
如何利用Jmeter做分布式压力测试
-1-为啥要使用分布式?在使用Jmeter进行性能测试时,如果并发数比较大(比如项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能 -2-分布式执行原理1)Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave)。 2)执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行。 3)执行完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总。 -3-分布式部署步骤1)把所有都在一个局域网的几台计算机都安装好Jmeter并配置好环境变量,这里需要注意的是:所有的计算机上的Jmeter版本必须一致,不然后期进行压力测试会有问题。 2)获取到所有计算机的ip地址,选择其中一台作为调度机Master,其余的作为执行机(Slave)。 3)打开Master主机上的Jmeter安装路径下面的bin文件夹,找到这个文件,打开定位到remote_hosts,然后把remote_hosts=127.0.0.1 改成 remote_hosts=slave1的IP地址:1099,slave2的ip地址:1099。 比如说华华有一台执行机,ip地址是:192.168.2.112,那么我的就改成:remote_hosts=192.168.2.112:1099。 如果你有多台,你只需要分别用逗号隔开即可,但是保证我们的端口号都是1099,如下图所示:4)设置1099为master与slave之间的通讯端口,不然我们上面设置的remote_hosts就会不起作用哦!打开cmd命令行界面,输入:SET SERVER_PORT=1099Jmeter-SERVER5)关闭Master与slave主机上的防火墙,一切准备就绪,接下来就是如何使用啦!-4- 开始使用1)打开所有Slave主机上Jmeter安装路径下bin文件夹,找到,双击运行。 2)打开Master主机上Jmeter安装路径下bin文件夹,找到,双击运行3)在Master主机打开的jmeter界面,点击:运行--远程启动,你就会看到你的所有slave主机IP地址都会显示在这个远程启的列表里面,选择你要启动的slave机器并点击,之后会提示你启动成功。 看看我的远程启动列表:4)开始运行脚本。 5)最后做好结果收集,完成分布式压力测试,就差你的压力测试报告啦
如何用Jmeter做压力测试
1. 运行jmeter2. 左边树将出现测试计划、工作台两根节点。 3. 选择测试计划,按右键-》添加-》threads(users)线程组线程组能设置以多少个线程并发做压力测试。 在”循环次数”设置不选择永远,循环次数设置1。 4. 现在先介绍如何设置登录http请求,选择线程组,右键――添加――》sampler-―》http 请求。 http请求即模仿浏览器的访问。 在“服务器名称或ip”设置127.0.0.1,端口号设置:8080,“方法”设置post,路径设置网站登录的地址,如“/exam/operatorAction”。 登录需传入用户、密码。 在“同请求一起发送参数”列表中添加参数。 参数值根据web应用设置。 如login_user=0001;login_password=1;actFlag=login5. 登录成功后,网站一般将跳入主页面。 在jmap中可做判断,判断是否登录后按预想进入主页面(此步骤也可不设)。 选择4中的“http请求“,右键――》添加――》断言――》响应断言。 “Apply to”设置Main smaple only;“要测试的响应字段”设置“url样本”;“模式匹配规则”设置“包括”,“要测试的模式”增加页面跳转到的主页面,如:“”6. 一般网站登录后,在tomcat中生成了session,之后访e69da5e6ba6236问其他页面将无需再次登录,前提是浏览器需支持cookie。 在jmap中也同样,如要继续访问其他页面,还需做下面关键的设置。 选择“线程组”――》右键――》添加――》配置元件――》Http cookie管理器。 加了此步骤后,http请求将具备cookie功能,即登录成功后访问其他页面将不会跳转到登录页面重新登录。 7. 对目标页面反复压力测试。 7.1 如何使被测页面反复访问达到测压效果。 选“线程组”―》右键――》逻辑控制器――》循环控制器。 循环次数中选择“永远”。 7.2 选择刚加的“循环控制器”,右键――》添加――》sampler-―》http 请求,按4步骤设置ip、端口,http请求方法为“get”,路径为被压力测试的url,如:“exam/business/?action=goIntoMockExam”。 按上面的设置后,已完成配置,可做压力测试。 只需点菜单“运行”――》启动,即运行压力测试。 8. jmeter提供了许多压力结果查看工具。 是压力测试时非常好的分析工具。 下面几种查看工具可有选择的添加。 8.1 察看结果树。 他记录每次请求发送数据、响应返回数据。 选择“线程组”――》右键――》添加――》察看结果树。 8.2 用表格查看结果。 可查看每次请求的响应时间等。 选择“线程组”――》右键――》添加――》用表格查看结果。 8.3 Summary Report。 可查看平均响应时间、最长响应时间等。
Jmeter怎么使用http proxy方式录制
一、JMeter有一个内置的代理服务器,主要用户使用浏览器录制脚本,在左侧的WorkBench中添加HTTP Proxy Server即可,其中port表示代理服务器段口号,URL Patterns to Exclude表示需要过滤得文件,录制脚本时不进行捕捉方式是.*\,引号内的内容。 可以用于过滤gif、png、ico等文件设置完之后需要改变浏览器代理这样设置之后就能够正常地使用浏览器进行脚本的录制。 二、对JMeter通过代理服务器进行压力测试在命令行中进入JMeter的bin目录运行jmeter -H 代理服务器域名或IP -P 代理服务器段口号 -u [用户名] -a [密码] -N [不使用代理的地址,可以填写localhost]其中[]内的内容可以为空
评论一下吧
取消回复