八:录制脚本
Posted 微微微笑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了八:录制脚本相关的知识,希望对你有一定的参考价值。
参考: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}”来代替。
这里要注意的是,匹配是大小写敏感的。
以上是关于八:录制脚本的主要内容,如果未能解决你的问题,请参考以下文章