在进行压力测试时,由于很多web页面包含了Ajax异步请求等内容,为模拟用户真实输入,除了对html的访问外,还需要将其它的访问考虑入内,这时最好的办法就是对实际访问过程中的所有请求进行录制。

例如,对“百度翻译”进行压力测试,在使用中文输入法的情况下,我们输入“测试”两个字,在实际使用中我们可以看到,我们的实际输入是依次输入 [ceshi 测试] 这样一个过程,而baidu翻译默认对用户的每一次字符输入均发送了请求,实时获取翻译数据。

压力测试过程中,显然不能 只对最后的“测试”字符串进行测试。这时候就需要将[ceshi 测试]中的每次输入均作为压测的一个请求。下面对这一过程进行录制。

1.打开JMeter,点击菜单栏[templates]模版按钮,选择[Recording]模版,点击[Create]创建JMeter录制环境

2.查看录制配置结构,包含有1个TestPlan和一个WorkBench。其中的关键部件为WorkBench下的HTTP(S) Test Script Recorder,该部件是一个HTTP代理服务器,具体配置见图

HTTP代理服务器将JMeter设置为一个代理server,端口为8888。其中包含模式为代理服务器将采集的url类型,排除模式为代理服务器不会进行采集的url类型。当包含模式为空时,将默认采集排除模式之外的所有url。

3.点击[启动]按钮,启动JMeter代理

4.配置浏览器代理,设置代理地址为 localhost:8888,开始进行录制

1)打开fanyi.baidu.com

2) 依次输入 [ceshi 测试]

3)点击[翻译]按钮

5.点击JMeter代理服务器的[停止]按钮,停止脚本录制。

6.在JMeter中打开Recording Controller,观察录制的请求,可以看到,对于参数为 c\ce\ces\cesh\ceshi\测试 的每次请求,均包含在脚本之中,符合实际的输入情况。

7.配置ThreadGroup,进行压测,在监听器中获取测试结果


最新文章

  1. 問題排查:DataGridView 資料行下拉選單,資料繫結階段顯示 DataGridViewComboBoxCell 值無效
  2. Linux之RPM安装软件
  3. sql server使用中遇到的问题记录
  4. C#-WebForm-★ 上传水印图片 ★
  5. mysql 将时间戳直接转换成日期时间
  6. SQL Server 2000 ——系统表和系统视图
  7. markdown 语法学习
  8. maven和jdk版本不匹配
  9. Spring AOP 实现写事件日志功能
  10. 如何在Android模拟器上安装apk文件
  11. MYSQL数据库性能调优之八:mysql日志
  12. apt-get &dpkg
  13. 1st_homework_SE--四则运算题目生成器
  14. K60平台智能车开发工作随手记
  15. Retrofit 2.0基于OKHttp更高效更快的网络框架 以及自定义转换器
  16. VS2013编译报错error C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.
  17. [转]抛弃jQuery,使用原生JavaScript
  18. HDU 1506 & 1505 - Largest Rectangle in a Histogram & City Game
  19. dotNetSpider 手记
  20. TCP三次握手建立关系

热门文章

  1. 转载 javascript中(function($){...})(jQuery)写法是什么意思
  2. mafintosh/end-of-stream
  3. Spark学习之JavaRdd
  4. 理解WebSocket心跳及重连机制(五)
  5. PAT A1010 Radix (25 分)——进制转换,二分法
  6. HTTPS深入理解
  7. android java.lang.NoClassDefFoundError: cn.yw.lib.viewpagerfragment.ViewPagerFragmentActivity
  8. mysql无法远程连接到数据库解决方法
  9. HDMI传输原理:TMDS
  10. 解析LED发光效率