1.LoadRunner录制脚本时为何不弹出IE浏览器?web
当一台主机上安装多个浏览器时, LoadRunner 录制脚本常常遇到不能打开浏览器的状况,能够用下面的方法来解决。浏览器
启动浏览器,打开Internet选项对话框,切换到高级标签,去掉"启用第三方浏览器扩展(须要重启动)"的勾选,而后再次运行VuGen便可解决问题。缓存
还有就是点击“个人电脑-》属性-》高级-》性能设置-》数据执行保护-》选择“仅为基本WINDOWS程序和服务启用DEP”安全
提示:一般安装Firefox等浏览器后,都会勾选上面得选项,致使不能正常录制。所以建议运行LoadRunner得主机上保持一个干净测试环境。服务器
2.录制WEB脚本时,生成的脚本中存在乱码该如何解决?并发
录制脚本前,打开录制选项配置对话框Record-Options,进入到Advanced标签,先勾选"Support charset",而后选择中支持UTF-8。再次录制就不会出现中文乱码问题了。函数
3.HTML-based script与URL-based script的脚本有什么区别?性能
使用"HTML-based script"的模式录制脚本,VuGen为用户的每一个HTML操做生成单独的步骤,这种脚本看上去比较直观;测试
使用"URL-based script"模式录制脚本时,VuGen能够捕获全部做为用户操做结果而发送到服务器的HTTP请求,而后为用户的每一个请求分别生成对应方法。spa
一般,基于浏览器的Web应用会使用"HTML-based script"模式来录制脚本;而没有基于浏览器的Web应用、Web应用中包含了与服务器进行交互的Java
Applet、基于浏览器的应用中包含了向服务器进行通讯的JavaScript/VBScript代码、基于浏览器的应用中使用了HTTPS安全协议,这时使用"URL-based
script"模式进行录制。
4.为何脚本中添加了检查方法Web-find,可是脚本回放时却没有执行?
因为检查点功能会耗费必定的资源,所以LoadRunner默认关闭了对文本及图像的检查。要想开启检查功能,必须修改运行时的配置Run-time Setting。
进入"Run-time Setting"对话框,依次进入"Internet Protocol→Preferences",勾选Checks下的"Enable Image and text check"选项便可。
检查执行结果时推荐使用web_reg_find方法。
5.运行时的Pacing设置主要影响什么?
Pacing主要用来设置重复迭代脚本的间隔时间。共有三种方法:上次迭代结束后马上开始、上次迭代结束后等待固定时间、按固定或随机的时间间隔开始执行新的迭代。
根据实际须要设置迭代便可。一般,没有时间间隔会产生更大的压力。
6.运行时设置Log标签中,若是没有勾选"Enable logging",则手工消息能够发送吗?
Enable logging选项仅影响自动日志记录和经过lr_log_message发送的消息。即便没有勾选,虚拟用户脚本中若是使用lr_message、lr_output_message、
lr_error_message,仍然会记录其发出的消息。
7.LoadRunner 8.0版本的VuGen在录制Web Services协议的脚本时一切正常,而回放时报出错误提示"Error:server returned an incorrectly formatted SOAP response"。这时说明缘由引发的?
形成这种状况的主要缘由是LoadRunner 8.0的VuGen在录制Web Service协议的脚本时存在一个缺陷:若是服务器的操做系统是中文的,VuGen会自动将
WSDL文件的头改成<?xml version="1.0" encoding="zh_cn"?>,所以会有上面的错误提示。
解决方法:把"LR80WebservicesFPI_setup.exe"和"lrunner_web_sevices_path_1.exe"两个补丁打上便可解决。
8.VuGen支持Netscape的客户证书吗?
不支持。目前的VuGen 8.0版本中仅支持Internet Explorer的客户端证书。录制脚本时能够先从Netscape中导出所需的证书,而后将其导入到Internet
Explorer中,并确保以相同的顺序导出和导入这些证书。并且,在每台将要录制或运行须要证书的Web Vuser脚本的计算机上都要重复执行前面的过程。
9.VuGen会修改录制浏览器中的代理服务器设置吗?
会修改。在开始录制基于浏览器的Web Vuser脚本时,VuGen首先会启动指定的浏览器。而后,VuGen会指示浏览器访问VuGen代理服务器。
为此,VuGen会修改录制浏览器上的代理服务器设置。默认状况下,VuGen会当即将代理服务器设置更改成Localhost:7777。录制以后,VuGen会将原始代理
服务器设置还原到该录制浏览器中。所以,在VuGen进行录制的过程当中,不能够更改代理服务器设置,不然将没法正常进行。
10.在LoadRunner脚本如何输出当前系统时间?
LoadRunner提供了char *ctime(const time_t *time)函数,调用参数为一个Long型的整数指针,用于存放返回时间的数值表示。
调用语句与返回值以下示例:
typedef long time_t; Action() { time_t t; lr_message("Time in seconds since 1/1/70: %ld/n",time(&t)); lr_message("System time and date: %s",ctime(&t)); } |
输出结果为:
Time in seconds since 1/1/70: 1185329968 System time and date:Wed Jul 25 10:19:28 2007 |
11.一些Web虚拟用户脚本录制后马上回放没有任何问题,可是当设置迭代次数大于1时,若是进行回放则只能成功迭代一次。为何从第二次迭代开始发生错误?
这种现象可能是因为在"Run-time Setting"的"Browse Emulation"的设置中,勾选了"Simulate a new user on each iteration"及其下面的选项"Clear
cache on each iteration"这两个选项的含义是每次迭代时模拟一个新的用户及每次迭代时清除缓存。
因为脚本迭代时,init和end只能执行一次,若是每次迭代都模拟一个新的用户并清除缓存,则用户登陆信息将一并清除,所以迭代时可能会发生错误。
12.虚拟客户脚本"Run-time Setting"中的线程和进程运行方式的区别?
若是选择"Run Vuser as a process",则场景运行时会为每个虚拟用户建立一个进程;选择"Run Vuser as a thread"则将每一个虚拟用户做为一个线程来运
行,在任务管理器中只看到一个mmdrv.exe,这种方式的运行效率更高,能形成更大的压力,时默认选项。
另外,若是启用了IP欺骗功能,则先在Controller中选中Tools菜单下的"Expert Mode",而后将Tools菜单下的"Options>General"标签页中的IP地址分配方式
也设置为与Vuser运行方式一致,同为线程或进程方式。
13.在Controller中运行Web相关测试场景时,常常会有不少超时错误提示,如何处理这类问题?
这主要有脚本的默认超时设置引发。当回放Web脚本时,有时候因为服务器响应时间较长,会产生超时的错误。这时须要修改脚本的运行时配置。
进入"Run-time Setting"对话框后,依次进入"Internet Protocol→Preference"。而后点击"Options…"按钮,进入高级设置对话框,能够修改各种超时设置的默认值。
14.为何Windows系统中的CPU、内存等资源仍然充足,可是模拟的用户数量却上不去?
在Windows计算机的标准设置下,操做系统的默认限制只能使用几百个Vuser,这个限制与CPU或内存无关,主要是操做系统自己规定了默认的最大线程数所导
致。要想突破Windows这个限制,须修改Windows注册表。以Windows XP Professional为例。
(1)打开注册表后,进入注册表项HKEY_LOCAL_MACHINE中的下列关键字:
System/CurrentControlSet/Control/Session Manager/SubSystems |
(2)找到Windows关键字,Windows关键字以下所示:
%SystemRoot%/system32/csrss.exe bjectDirectory=/Windows SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16 SharedSection=1024,3072,512 |
关键字的格式为xxxx,yyyy,zzz。其中,xxxx定义了系统范围堆的最大值(以KB为单位),yyyy定义每一个桌面堆得大小。
(3)将yyyy的设置从3072更改成8192(即8MB),增长SharedSection参数值。
经过对注册表的更改,系统将容许运行更多的线程,于是能够在计算机上运行更多的Vuser。这意味着可以模拟的最大并发用户数量将不受Windows操做系统的
限制,而只受硬件和内部可伸缩性限制的约束。
15.Controller中设置了用户并发数量,可是运行时为什么初始化的用户数量少于实际数量?
主要时设置问题。在Tools→options→Run-time setting中能够设置每次最多初始化的虚拟用户。若是须要100个并发用户,则将该值设置为大于100的数
值。另外,注意LoadRunner相关协议License的更新,确保使用的License可以容许所须要的并发用户数量。
16.如何让场景的用户执行发生错误继续运行,以保证不间断进行压力测试?
用VuGen打开虚拟用户脚本后,进入"Run-time Settings"对话框后,依次进入"General→Miscellaneous",能够看到Miscellaneous设置中关于"Error
Handling"的配置。勾选"Continue on error"便可让虚拟用户发生错误继续运行。
17.为何.NET虚拟用户有时不能在远程主机执行?
主要时LoadRunner的版本问题。根据笔者的经验,若是是Microsoft Visual Studio 2005开发的虚拟用户,同时LoadRunner客户端的版本低于8.1,执行Controller的主机将会发生错误。
所以要想正确的运行Microsoft Visual Studio 2005开发的.NET虚拟用户,客户端最好装8.1以上的版本,Controller的主机则安装8.0和8.1两个版本都可。
此外,产生压力的 LoadRunner客户端上预先应该安装.NET运行环境,若是Microsoft Visual Studio 2005开发的是.NET虚拟用户,则应该安装Microsoft .NET
Framework SDK v2.0。
18.测试分析结果中会统计Action时间,而实际上可能并不需要这些数据,如何只显示本身定义的用户事务?
进入脚本的运行时设置,依次进入General→Miscellaneous。默认状况下,自动事务配置"Automatic Transactions"下有两个选项:第一个是把脚本的
Action部分定义为一个事务;第二个时把脚本的每一部分定义为一个事务。去掉这两个勾选后,测试结果将会只显示本身定义的用户事务。
19.测试结果中,Summary和平均事务响应时间图里的各个事务的最大值、平均值、最小值为何显示不同?
主要是受采样时间的影响。Summary里的事务平均响应时间是根据整个场景执行过程获得的数据计算所得,最大值与最小值也是从整个场景中得到的。平均事
务响应时间图主要时按照LoadRunner分析出来的采样频率来获取事务响应时间的最大值与最小值,而后计算平均值。
能够经过"Set Granularity"来修改平均事务响应时间图的采样频率。若是把"Granularity"设为场景执行时间,则统计结果将会一致。
20.统计结果中的总点击量Total Hits时用户的鼠标点击次数吗?
Total Hits不时按照用户的鼠标点击次数来计算的,而是按照各个虚拟客户端向后台发起的总的请求数来进行统计的。例如在向服务器请求的一个页面中,若是
该页面包含5个图片,用户只要单击鼠标就能够访问该页面,而单个虚拟用户在LoadRunner访问的点击量为1+5=6次。
21.有些Web测试结果分析图(例如每秒返回页面数)在测试结果分析图中没法看到,如何进行配置?
用VuGen打开虚拟用户脚本后,进入"Run-time Settings"对话框后,依次进入"Internet Protocol>Preference",能够看到一些Web性能图配置。
勾选上面得选项后,Controller将会在测试执行过程当中生成数据,而后可在Analysis中查看相应的性能结果分析图。