最近需要学习测试几个服务器的性能,因此把学习过程记录一下,方便日后回顾。
学习中参考的视频:https://www.imooc.com/t/4172751
学习中参考的博客:https://www.cnblogs.com/i16i1007/p/6650320.html
https://blog.csdn.net/nxw_tsp/article/details/77145736
https://blog.csdn.net/u011262253/article/details/70494277
零.前言
经过浏览博客和查阅资料发现JMeter是一款功能强大,方便,开源的压力测试工具,因此我后面的测试都是基于JMeter进行的。
JMeter组成:
- 取样器:进行脚本逻辑控制
- 线程组:场景设置
- 监视器:监控我们的脚本执行,取得性能指标
JMeter脚本的两种录制方式:
- 1.使用badboy进行录制
badboy:一款软件,能过进行浏览器操作行为的录制,并导出JMeter脚本
- 2.使用代理的方式进行录制
代理:意思是不借助第三方软件,进行浏览器当中的一些设置
脚本录制的流程和思路:
业务流程→录制工具→脚本制作→性能测试
↓
这是最重要的流程,只有熟悉业务流程,才能开展以下的活动。
一.安装需要的软件
-
badboy
下载链接:http://www.badboy.com.au/
安装过程:只需要点击下一步
-
Xampp
安装bugfree首先需要有php环境,xampp是一款跨平台的集成 apache + mysql + php环境,使得配置amp服务器变得简单轻松``安装bugfree首先需要有php环境,xampp是一款跨平台的集成 apache + mysql + php环境,使得配置amp服务器变得简单轻松
下载地址:https://www.apachefriends.org/zh_cn/download.html
下载7.x高版本后面出现了问题,所以我下载的是5.6版本
安装过程:点击下一步,最后出现下图,表示443端口被VMware占用。
解决办法:修改vmware的端口。编辑→首选项→共享虚拟机→更改设置→禁用共享→修改端口→启用共享检查安装结果:在浏览器输入http://localhost,显示如下图表示安装成功。
-
bugfree
使用php+mysql写的bug管理系统``使用php+mysql写的bug管理系统
下载地址:
安装过程:
1.解压下载的bugfree3.0.4,解压后放到D:\Program\xampp\htdocs下,并修改名称为:bugfree。2.浏览器输入打开http://localhost/bugfree/install/进入bugfree安装界面,发现有红色的X错误,如图。这时只需要在htdocs下新建一个名为BugFile的文件夹就行。
3.进入配置页,密码那一栏什么也不填,然后点击安装,登录。
二.使用badboy录制JMeter脚本
- 打开badboy,在浏览器地址栏输入:http://localhost/bugfree
- 开始录制脚本,登录bugfree,点击新建Bug,里面随便填点东西,提交bug,然后结束录制。
- 点击File→Export to JMeter→保存为jmx格式即可
三.JMeter代理录制及脚本运行
接下来通过一个例子,来实现JMeter代理录制
代理录制需要三个部分:
- HTTP请求默认值
- HTTP代理服务器
- 浏览器设置
- HTTP请求默认值,配置如图:
- HTTP代理服务器设置如图。其中端口号为自己设置,目标控制器选择我们刚才创建的测试计划里的线程组。然后点击启动。
- 浏览器设置。我实在谷歌浏览器上进行测试,因此一下步骤是基于谷歌浏览器的步骤。
打开浏览器→设置→打开代理设置→连接→局域网设置→代理服务器下的选择框打钩,把其他的钩去掉→端口号填写刚才在JMeter自己设置的端口→点击高级→删除“对下列字符开头的地址不使用代理服务器”标题栏下的内容→点击确定。
图示过程如下:
- 此时用浏览器登录网址:http://localhost/bugfree 在网页上进行任何操作,在JMeter会有相应的脚本出现。如图:
- 添加排除模式,精简录制的脚本。
步骤:点击HTTP代理服务器→Requests Filtering→排除模式→添加(或者点击添加建议排除)
然后就可以填写正则表达式来匹配自己不需要的录制。 - 添加查看结果树,运行刚才录制的脚本,发现错误或者新的bug并没有提交成功。
接下来进行排查。右击测试计划,添加HTTP Cookie管理器和HTTP缓存管理器。目的是为了使得JMeter认为脚本每一步是来自同一个浏览器。
再次运行脚本,发现新的bug提交成功,此时若查看结果树里还有红色的X,表示这些步骤是我们不需要的脚本,可以从录制的脚本中删除他们。