此时情绪此时天,无事小神仙
好好生活,平平淡淡每一天

编辑

JMeter录制Web性能测试脚本


涉及环境

  • Badboy version 2.2
  • JDK: 1.8.0_25
  • Apache JMeter-2.12

代理所要完成的工作就是录制发往服务器的请求。

JMeter录制脚本有多种方法,其中最常见 的方法是用第三方工具badboy录制,另外还有JMeter自身设置(Http代理服务器+IE浏览器设置)来录制脚本,但这种方法录制出来的脚本比较 多且比较乱,个人更推荐使用Badboy进行录制,下面是两种方法的具体操作步骤。

注:使用JMeter的代理或是BadBoy进行录制的时候,特别是JMeter代理的时候,操作不能太快,不然容易造成录制失败。

使用代理录制Web性能测试脚本

  1. 启动JMeter,在Windows中使用jmeter.bat,在UNIX上使用jmeter.sh

  2. 选中测试树中的测试计划(Test Plan)

  3. 用鼠标右键单击测试计划(Test Plan),添加一个新的线程组:Add->Thread Group,如图:

    image

  4. 选中线程组(Thread Group)

  5. 单击鼠标右键,在弹出的快捷菜单中选择“Add”->"Config Element"->"HTTP Request Defaults"命令

  6. Server Name or IP:输入“jakarta.apache.org”

  7. Port Number:输入“80”

  8. Protocol:输入“http”,如图所示:

    image

  9. 选中工作台(WorkBench)

  10. 用鼠标右键单击工作台并添加HTTP代理(Add->Non-test Elements->HTTP(S) Test Script Recorder)注:以前的版本叫HTTP Proxy Server

  11. Port域默认端口号为“8088”,如图所示,这一步骤指明了代理使用的端口号,也可以随意修改,修改前尽量通过netstat –ano命令查看一下本机正在使用的端口,不要重复使用,否则录制不到jmeter脚本

    image

  12. 单击“Patterns to Include”中的“Add”按钮,输入正则表达式“..html”和“..gif”过滤掉我们不要录制的内容或者只录制的内容

    image

  13. 所有设置完毕,单击底部“Start”,启动JMeter代理

  14. 打开IE浏览器,选择“tools”->“Internet Options”->"Connection"->"Lan Settings"设置本机的代理,注意:端口号要一直,如果是其他机器,请修改IP地址。注意两台机器都要有JMeter

    image

  15. 在IE浏览器顶部的地址栏中,输入http://jmeter.apache.org/index.html,单击JMeter页面上的几个链接,关闭IE,手动停止代理,返回JMeter查看录制后的脚本

    image

    在代理中已经去图片格式的请求都过滤掉啦,这里录制到的只有其他格式的请求。

    大家看到录制的脚本中有很多冗余的URL,一定要精简脚本,保证只有有效的URL发给服务器。

使用BadBoy录制Web脚本

Badboy是一款不错web自动化测试工具,利用它来录制脚本,并且录制的脚本可以直接保存为JMeter文件来使用。

下载地址:http://www.badboy.com.au/download/add

  1. 打开badboy工具,在地址栏目中输入被测试项目的地址

    注意:badboy正常状态下是录制状态,为红色按钮,如图

    image

    录制完成后,点击工具栏旁边黑色按钮,结束录制。

  2. 选择“文件”--Export to Jmeter…

  3. 打开JMeter工具,选择“文件”-->“打开”选择刚才保存的文件(.jmx类型),将文件导入进来了。

    image

    录制的脚本一定要添加HTTP Cookie Manager,否则脚本运行失败,切记.

    现在对于JMeter来 说,一个测试计划只能有一个Cookie管理器。因为当多个Manager存在时,JMeter目前还没有方法来指定使用哪个Manager.同时,一 个Cookie Manager中的存储的Cookie也不能被其他Cookie Manager所引用,所以同一个测试计划中不建议使用多个Cookie Manager.

    添加cookie将保证每个用户使用不同的cookie,但是分享一份Http element,几乎所有的web测试都需要cookie的支持.

posted @ 2020-04-30 10:27  踏步  阅读(365)  评论(0编辑  收藏  举报