【Jmeter性能】JMeter设置Http代理对web或者app进行录制
一、录制web
1、首先保证JMeter的安装环境都正确。启动JMeter:在安装路径的bin目录下双击jmeter.bat (例如:D:\apache-jmeter-2.13\bin)
2、打开JMeter后,在测试计划中添加线程组
3、在现场组中添加HTTP请求默认值,在服务器名称或IP中输入被测的网址,例如:http://blog.sina.com.cn (这是新浪博客的网址)
4、在线程组中添加录制控制器,这是方便录制时的所有请求都在这个目录下
5、在工作台中添加Http代理服务器,并在http代理服务器中进行配置如下:
目标控制器:决定决定将来控制的脚本放在那个目录。
分组:录制脚本时将增加很多节点,把这些节点进行分组。
l 不对样本分组:罗列出录制到的所有HTTP请求
l 在组间添加分隔:加入以分割线命名的简单控制器
l 每个组放入一个新的控制器:每个URL产生的请求放在一个控制器下
l 只存储每个组的第一个样本:只录制产生动态数据的HTTP请求
l 每个请求放入一个新的事物控制器:每个URL的请求放入一个事物中,不管他有多少HTTP请求,只要是这个URL产生的
6、这步如果直接点击“启动”,不会录制到任何请求。因为还需要在IE浏览器设置代理:进入IE的Internet选项-》连接-》局域网设置,设置如下:
7、此时在回到JMeter的HTTP代理服务器中点击“启动”按钮
(注意:有时候会提示证书有问题,可以在浏览器中添加证书:如果是IE浏览器在Internet选择-》内容-》证书,进入导入证书,证书的目录是安装的JMeter的bin目录下
例如:D:\apache-jmeter-2.13\bin\ApacheJMeterTemporaryRootCA.crt
二、APP录制(andriod系统)
其实在电脑端的设置和Web录制中的设置都是一样的,只不过在APP端需要设置一下代理
1、先安装web录制中步骤进行操作
2、手机wifi连接,手机的IP地址与电脑IP地址属于相同网段。现在可以进入手机设置-》WLAN,点击手机连接上的wifi,设置改wifi的代理(不同牌子的手机修改wifi的设置稍微不同)。小米手机可以直接点击wifi进入详情页面,在代理的选项选择“手动”,就可以输入主机名:电脑实际的IP地址(例如:192.168.3.35),端口:8080. 如果是华为手机,要长按已连接的wifi名称,弹出一个框,选择“显示高级选项”,在这里就可以修改代理了。
3、此时可以先在电脑上测试一下,可以录制web吗,如果可以的话,手机就可以随便打开要测试的应用程序进行录制。
总结:不知道怎么回事,用web录制时比如上传图片就会报错,但是如果不设置代理进行录制的时候,就可以上传图片。试了很多方法都不行,最后实在没办法,就是用badboy进行录制,就能成功录制。
Jmeter(二)-使用代理录制脚本
Jmeter脚本是以JMX格式为主
Jmeter也是支持录制的,支持第三方录制方式和代理录制方式。
1、第三方录制主要是通过badboy来录制,录制后另存为jmx格式即可。
2、Jmeter也有自己的代理,录制脚本前,我们只要启动好代理,手动通过IE或者火狐来录制,录制完毕停止代理。
新建脚本,首先添加线程组
然后再添加http默认请求HTTP Request Defaults
设置要录制的服务器IP地址或者域名
在平台中添加代理服务器HTTP Proxy Server,选择录制到的请求放置位置,这里放在了线程组下,代理服务器的默认端口为8080,也可以随意修改,修改前尽量通过netstat –ano命令查看一下本机正在使用的端口,不要重复使用,否则录制不到jmeter脚本
下面过滤掉我们不要录制的内容或者只录制的内容,正则表达式: .*\.gif
所有设置完毕,启动jmeter代理
然后打开IE浏览器设置本机的代理,注意端口要一致,如果是其他机器的,请修改IP地址。注意2太机器都要有jmeter
通过IE浏览器手动录制一个登陆页面,登陆成功后,手动停止代理,查看录制后的脚本。
在代理中已经去图片格式的请求都过滤掉啦,这里录制到的只有其他格式的请求。
大家看到录制的脚本中有很多冗余的URL,一定要精简脚本,保证只有有效的URL发给服务器。