参考:http://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.pdf

http://jmeter.apache.org/usermanual/component_reference.html#HTTP(S)_Test_Script_Recorder

配置jmeter端

1. 启动jmeter。

2. 右键点击“Test Plan”,Add –> Threads(Users) –> Thread Group。新建好Test Group之后,设置好线程数等等。

3. 右键点击 Thread Group,Add -> Config Element -> HTTP Request Defaults。

Server Name or IP:输入所要录制的地址。比如我们要录制百度,就可以输入“www.baidu.com”。

Path:看具体要测试的网址输入值。这里为空即可。

4. 右键点击Thread Group,Add > Logic Controller >Recording Controller。

5. 选择 WorkBench,Add -> Non-Test Elements -> HTTP(S) Test Script Recorder

Port:默认8080。这里如果8080被占用,后边会报错。所以这里任意输入一个没有被占用的端口即可。

Target Controller:这里选择的是录制下来的脚本存放的位置。下图配置会放置在 Recording Controller下面。

Grouping:这里选择录制的请求的分组方式。下图不进行分组。

URL Patterns to Include:这里不输入的话就录制全部内容。但是比如gif ,js一般不需要录制的,我们就可以在这里添加正则表达式进行过滤。比如这里输入“.*\.gif(\?.*)?”,表示只录制gif格式的请求。

需要注意的是,这里输入的正则表达式必须正好跟URL匹配,而不是包含。详细说明参考最后的备注。

正则表达式参考:http://jmeter.apache.org/usermanual/regular_expressions.html

关于 HTTP(S) Test Script Recorder 的详细资料参考:http://jmeter.apache.org/usermanual/component_reference.html#HTTP%28S%29_Test_Script_Recorder

6. 右键点击  HTTP(S) Test Script Recorder, Add -> Listener –> View Results Tree。

7. 点击 HTTP(S) Test Script Recorder,找到页面最下方的 Start按钮,点击。

8. 系统提示如下消息,点击“确定”即可。到这里和浏览器请求进行交互的jmeter代理服务器已经启动起来了。

9. 打开jmeter安装路径,打开bin,可以看到如下证书文件。安装该证书文件。

步骤参考:http://jingyan.baidu.com/article/ab0b5630d7dffac15afa7daf.html

配置浏览器端

1. 启动浏览器,比如Firefox。

2. 打开选项对话框。我这边是通过 菜单栏‘工具’-> 选项。

3. 在 选项弹出框上,点击 高级 –> 网络 。

4. 点击上图标注的 设置按钮。选中“手动配置代理”。

HTTP代理:输入 localhost ,或者本地IP地址。

端口:输入上面第5步输入的Port值。也就是 HTTP(S) Test Script Recorder 监听的Port值。默认8080,由于上面我输入的是8085,所以这里也输入8085。

勾上:为所有协议使用相同代理

5. 点击“确定”保存设置。在选项弹出框上也点击“确定”按钮。

录制

1. 在浏览器输入我们要录制的网址,然后进行操作。

我们在浏览器端操作时,在 Recording Controller 下面可以实时看到我们操作时录制下来的请求。

在 View Results Tree下面可以看到我们操作的所有请求的发送情况。

2. 操作结束后,点击 HTTP(S) Test Script Recorder 最下方的 Stop 按钮停止即可。

跑Test Plan

1. 检查录制下来的脚本,发现脚本没有问题。

294 /:打开百度首页。

295 /s:用百度搜索 hello。

296 /s:用百度搜索 world。

2. 完善脚本:添加 Listener。

右键点击 Thread Group , Add -> Listener -> Summary Report。

3. 点击 Run 按钮,跑测试计划。

备注

1. 过滤录制的内容

录制时,最重要的事情就是要找出哪些是我们不感兴趣的请求。

比如,录制图片请求就没有意义。这时候我们就可以在 HTTP(S) Test Script Recorder -> Requests Filtering -> URL Patterns to Exclude 中添加“.*\.gif”,这样录制的时候就不会录制gif请求。类似的可能我们也会排除CSS、JS文件。

我们感兴趣的请求,比如“.jsp, .asp, .php, .html”之类,我们就可以在 HTTP(S) Test Script Recorder -> Requests Filtering -> URL Patterns to Include 中添加“.*\.jsp”等。

2. 变量处理

在Test Plan级别定义的变量,以及 User Defined Variables 控件定义的变量,JMeter 录制时,遇到值会自动使用变量进行替换。

假如我们定义了一个变量叫“server”,值为“www.baidu.com”,那么录制的样本中,任意地方的“www.baidu.com”都会自动用“${server}”来代替。

这里要注意的是,匹配是大小写敏感的。

JMeter 八:录制脚本--使用Jmeter自带的代理服务器的更多相关文章

  1. Jmeter之录制脚本(二)

    上一节已经已经介绍过Jmeter的安装,对于web测试的话,经常会用到一些脚本去执行某些功能,也就是所谓的半自动化测试, 对于不懂代码的童鞋来说,脚本是一个很头疼的概念,badboy的录制是一个对于刚 ...

  2. 【转】JMeter代理录制脚本

    JMeter代理录制脚本 使用JMeter代理录制脚本的过程如下: 1.启动JMeter,在测试计划中添加“线程组”. 2.在“线程组”中添加“HTTP请求默认值”,参数设定如下: 3.在“”中添加“ ...

  3. Jmeter教程 录制脚本

    Jmeter 录制脚本 Jmeter中有2种方法可以录制脚本.  不过我个人非常不推荐录制脚本,录制的脚本混乱,需要再次加工才能使用. 像我这么精通HTTP协议的人. 一直都是使用Fiddler来抓包 ...

  4. Jmeter代理录制脚本

    录制的原理: 1.LR/Jmeter录制是针对网络通讯协议层面的,它只关心客户端与服务器端的通讯包2.LR/Jmeter的并发测试实际上就是并发客户端与服务器端的通讯过程3.压力是通过多进程/多线程方 ...

  5. Jmeter初步使用三--使用jmeter自身录制脚本

    今日,小编在网上看到很多人使用badboy来录制,然后再把jmx脚本弄到Jmeter上做性能测试.这种方法在小编刚用Jmeter时也曾经用过,但是感觉太麻烦了,所以就找了下其它资料.结果,小编偶然发现 ...

  6. 使用badboy录制脚本 结合Jmeter一起测试。

    1.badboy介绍 Badboy是一款不错的Web自动化测试工具,如果你将它用于非商业用途,或者用于商业用途安装Badboy 的机器数量不超过5台,你是不需要为它支付任何费用的.Badboy提供了将 ...

  7. 性能测试——jmeter环境搭建,录制脚本,jmeter参数化CSV

    一.Jmeter+jdk环境搭建 1.http://www.oracle.com/technetwork/java/javase/downloads/index.html,下载jdk. 直接安装就行了 ...

  8. Jmeter之录制脚本

    目前,思路:先录制→再压测. [一]录制的准备: 第一种:直接的模板(¬_¬) [1]File→Templates [2]看见Select Template→Recording→create [3]好 ...

  9. jmeter简单录制脚本

    1 创建HTTP请求默认值. --添加线程组:右击"测试计划"→添加→Threads(Users)→线程组,建议重命名线程组增强可读性. --添加HTTH请求默认值:右击" ...

随机推荐

  1. Git的入门级玩法

    作为一个还没有实际开发经验的程序员,对于版本控制多少有些陌生,我通常的做法就是项目名后面加数字标记版本,然后备注一个文档说明更新.据个人了解svn用的比较多,我也学习了一点,无非是本地下载一个服务器端 ...

  2. .Net中DataGridview数据如何导出到excel表

    首先,这个问题在网上有很多答案,也有很多解决的方法.其次,很多人写过类似的博客 .我的这篇博客,主要是写给那些刚刚接触或接触不久.NET并使用其做程序的人,更是写个自己,记录一下方法,方便以后使用. ...

  3. 【DFS】【贪心】Codeforces Round #411 (Div. 1) C. Ice cream coloring

    对那个树进行dfs,在动态维护那个当前的冰激凌集合的时候,显然某种冰激凌仅会进出集合各一次(因为在树上形成连通块). 于是显然可以对当前的冰激凌集合贪心染色.暴力去维护即可.具体实现看代码.map不必 ...

  4. 协程和IO模型

    协程 1.什么是协程 单线程实现并发 在应用程序里控制多个任务的切换+保存状态 优点: 应用程序级别速度要远远高于操作系统的切换 缺点: 多个任务一旦有一个阻塞没有切,整个线程都阻塞在原地 该线程内的 ...

  5. [BZOJ1004](HNOI 2008) Cards

    Description 小春现在很清闲,面对书桌上的N张牌,他决定给每张染色,目 前小春只有3种颜色:红色,蓝色,绿色.他询问Sun有多少种染色方案,Sun很快就给出了答案.进一步,小春要求染出Sr张 ...

  6. [转]115个Java面试题和答案——终极列表(上)

    本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力.下面的章节分为上下两篇,第一篇将要讨论面向对象编程和它的特点,关于Java和它的功能 ...

  7. Web安全开发指南--异常错误处理与日志审计

    1.异常错误处理与日志审计 5.1.日志审计系统安全规则 1 日志系统能够记录特定事件的执行结果(比如 成功或失败). 确保日志系统包含如下重要日志信息: 1.  日志发生的时间: 2.  事件的严重 ...

  8. HDU 4633 Who's Aunt Zhang (2013多校4 1002 polya计数)

    Who's Aunt Zhang Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  9. Delphi 中ASSERT用法

    http://blog.csdn.net/dongyonggan/article/details/5780979 用法:ASSERT(表达式) 如果为假,ASSERT会产生一个EASSERTIONFA ...

  10. dotnet若干说明图片