运行脚本-Run-time Settings-Browser Enmulation设置详解
浏览器模拟
所有Internet Vuser Header包含一个标识将被模拟的浏览器类型(或无线工具包)的User Agent header.例如User-Agent: Mozilla/3.01Gold (WinNT; I)标识运行在Windows NT下的MozillaGold version 3.01浏览器
说明:
change
点击change按钮改变User Agent header,即指定浏览器类型,版本,语言和操作平台或自定义浏览器头,如下图
Simulate Browser Cache
指示Vuser模拟带有缓存的浏览器(默认开启).即使你不开启这个选项,每个资源也只为每个页面下载一次,即使每个页面出现多次。资源可以是图像、框架或其他类型的脚本文件等。
Cache URLs requiring content (HTMLs).
指示VuGen仅缓存包含HTML内容的url.包含的HTML内容可能是解析,验证或关联所需要的。开启后,自动缓存这些html内容
默认开启
注意:
开启后,进行多次脚本迭代时,非首次迭代,lr会从模拟浏览器从缓存中读取被请求资源,而不发送对应资源的请求,每次可能只是请求一些静态的HTML页面,这样一来,可能会大大降低事务响应时间,大大增加每秒事务数,这样就达不到真实性能测试效果
建议:为减少虚拟用户的内存占用,不开启这个选项,除非测试需要。。、
注:实际测试时,发现仅勾取Simulate Browser Cache时并未读取缓存,取而代之,勾选Cache URLs requiring content (HTMLs)时,才出现从缓存中读取的日志,具体为何?是否bug呢?我也不清除,有知道的可以告诉我下。
Advanced...
打开缓存的带有内容的URL-高级对话框,可指定缓存除HTML页面外的HTML内容类型的.
修改指定类型信息步骤:
1.勾选Specify URLs requiring content in addition to HTML page。
2.点“+”号,添加指定类型信息,如text/plain, text/xml, image/jpeg, and image/gif。
3.点“-”号,去除指定类型信息。
Check for newer versions of stored pages every visit to the page.
指示浏览器检查指定URL的最新版本而不是检查那些存储在缓存中的URL。当你开启这个选项,VuGent为Http头添加"If-modified-since"属性。这个选项带来了最新的页面版本,但是在场景或会话期间生成了更多的流量。
默认不开启。
注意:如果没有最新版本会咋样呢?答案是从本地缓存中读取
Download non-HTML resources
回放期间指示Vusers在访问Web页面时下载“非HTML资源”。
如何理解这里的“非HTML资源”?
非HTML资源,即资源类型为非HTML页面文档的资源,比如js脚本,图片,css等
以下面的web_url函数为例子,如果勾选该选项,将在回放脚本的时候下载,会下载EXTRARES参数中给出的每个资源。
web_url("ishouke.blog.sohu.com",
"URL=http://ishouke.blog.sohu.com/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t4.inf",
"Mode=HTML",
EXTRARES,
"Url=http://media.info.client.xunlei.com/xl7bho.ini", "Referer=", ENDITEM,
"Url=http://sucimg.itc.cn/avatarimg/192001075_1413357812990_c55", ENDITEM,
"Url=http://sucimg.itc.cn/avatarimg/175818109_1406783882881_c55", ENDITEM,
"Url=http://sucimg.itc.cn/avatarimg/191243469_1412775712017_c55", ENDITEM,
....
LAST);
特别说明:如上,EXTRARES参数,给出了与所请求页面相关的,一系列由逗号分隔的资源列表。
当真实用户访问一个Web页面时,他们要等待相关资源的下载,因此,如果你尝试测试整个系统的性能,包括最终用户时间则开启这个选项。为测试单一事务处理的性能且不模拟真实用户则不开启这个选项。
注:如果下载资源,发送和接收的数据量一般会变大,事务时间自然也不一样。
到这里,关于论坛有人问,是否可以删除类似上述EXTRARES参数中给出的列表数据,答案就出来了,最好不删,如果想要“删除”的效果,不开启该选项即可。
Simulate a new user each iteration
指示VuGen重置所有迭代生成的HTTP上下文为初始状态。这个设置运行Vuser更精确的模拟一个新用户开始一个浏览器会话。它删除所有cookies,关闭所有TCP连接(包括保持活动的),清空模拟的浏览器缓存,重置所有HTML框架层次[HTML frame hierarchy](frame编号从1开始)并且清空用户名和密码。
缺省:开启.
Clear cache on each iteratio(每次迭代都清空缓存)
为模拟一个用户首次访问Web页面而清空浏览器缓存。不勾选复选框来禁用该选项,允许用户使用存储在浏览器缓存中的信息,模拟最近访问页面的用户。
注意:
1.清空缓存可能会导致脚本的前后文丢失而回放失败
2.如果进行多次场景迭代运行,强烈建议勾选该选项
其一,参加上述关于缓存的描述
其二:如下实验
通过类似httpwatch的工具,对浏览器访问同一网址进程观察,发现:
无浏览器缓存(仅清空缓存,未清空cookie)的情况下,从打开网址到页面完全显示,所花费的时间是有缓存下的2倍左右
以下是访问http://ishouke.blog.sohu.com,通过firebug分析得到的数据
应用
还可以用来做浏览器兼容性测试