2023年11月27日发(作者:)

LR常见报错及解决的办法

LR常见报错及解决的办法

1LoadRunner 2637726388错误码的成因

脚本如下:

脚本的是请求下载,如果是三个cot请求,就不会有错,我现在

是有10cot请求,从"objectURI4"就提示以下错误信息,请大有帮

忙解决一下。谢谢

错误码如下:

Error -26377: No match found for the requested parameter

"objectURI10". Check whether the requested boundaries exist in

the response data. Also, if the data you want to save exceeds

1516000 bytes, use web_set_max_html_param_len to increase the

parameter size [MsgId: MERR-26377]

web_url("entry") highest severity level was "ERROR", 1631

body bytes, 199 header bytes [MsgId: MMSG-26388]

1.首先看下脚本中有没有使用了自动关联(web_reg_save_param)

2.Virtual的脚本里查询下web_reg_save_param的参数使用位

,然后把这个参数化给还原回来,比如

web_reg_save_param("Siebel_Analytic_ViewState2",............

后就在全文查询

Siebel_Analytic_ViewState2

3,至于修改成什么东西要看几个地方,如果是启动了自动关联,一般

在脚本上面会有一段被自动注释掉的:关联变量名=""比如上面的

Siebel_Analytic_ViewState2大概就是

// {Siebel_Analytic_ViewState2}

=

"/wEPDwUKMTI5Nzk1OTc3NmRkikSkNLllgC5BL8dbmU5bHIwtt4

I="

/wEPDwUKMTI5Nzk1OTc3NmRkikSkNLllgC5BL8dbmU5bHIwtt4I

=就是要找的值了,这个也可以在"View Tree"里找到

4."View script"里的被关联的那部分参数改成

/wEPDwUKMTI5Nzk1OTc3NmRkikSkNLllgC5BL8dbmU5bHI

wtt4I=就好了(不是修改web_reg_save_param里的参数,要把它注释

,从下面正文里查询另一个带Siebel_Analytic_ViewState2的东东,

它改掉)

web_set_max_html_param_len50000)值加大

这个函数要放在所有参数化前面。

2、录制时无法弹出IEgoogle一下,解决办法如下

l 主要是LR的注册信息被修改,无法找到IE路径。如何重新注册

LRlrD:/Program

Files/Mercury/LoadRunner/bin)下,单击register_文件,

注册信息被重新改写了。不过别忘了最后一步。重新启动一下,好了;

l 有多个浏览器时,将IE置为默认浏览器;由于IE的第三方插件

的影响,IE工具-Internet选项…-》高级,把“启用第三方浏览器扩

展”的选中去掉即可;

l Windows 2003IE6/7IE

Crash,(IE Crash Detection)

Windows ServerIEDEP()

刚好又跟DEP冲突。方法:我的电脑>右键属性->高级

->“性能”部分的“设置”->“数据执行保护”->点击“添加”按钮

->LR安装目录bin 下的添加进去->点击确定,重启一

LR,就可以录制了。

3、录制不到脚本

l 选择的协议不对,有时需要选择多个协议,这个需与开发、系统

架构师沟通;

l 没有选择jar包;

l 检查防火墙个杀毒软件,关闭所有的网络监测;

l 早期的版本(Ld8.0以前的版本)不能很好的支持IE6以上的版

本,换成IE6即可;

l Flex需要客户端下安装flash,并且IE选项的安全设置中设置可

以访问所有active控件;

4、录制的脚本回放错误

l 选择的协议不对(应选择多个协议或其他协议);

l 没有选择jar包,无法解析数据;

l 自动关联错误;

l 动态数据没有做关联;

Flex协议录制的脚本没有办法产生自动关联时,需要下面的Ld

自带的函数进行自定义:

l 选择另一台机器上录制的ld9.50版本的脚本,原来选择的

http/flex两个协议的脚本,回放报错Replay log如下:

Error: Encoding of AMF message failed. Error is : Exception

Occurred while invoking WriteObject method

-

/doc/,otFoundExcep

tion: 3Output

Enter to WriteObject WriteObject throws exception:

/doc/,otFoundE

xception: 3Output――后台debug log)

at

/doc/,.URLClassLoader$(

:200)

at ileged(Native Method)

at

/doc/,.a

ss(:188)

at

/doc/,as

s(:306)

at

/doc/,uncher$AppClassLoader.

loadClass(:268)

at

/doc/,as

s(:251)

at

/doc/,as

sInternal(:319)

at

/doc/,e0(Nati

ve Method)

at

/doc/,e(Class.j

ava:164)

at

SObjectOutputStre

am(:155)

at

ectOutputStream(HPExt

:215)

at

bject(HPExternalizable

:23)

无法解析,原来机器上的jar包的位置在本机器上不同引起的

因缺少录制时候选择的jar包,选择的jar包的位置变化了或者引

用的jar包已经删除了。

l 重复记录导致:Error: Server returned error for message #1 :

"AMF call returned an error, described in XML seen in extended

log"logRun-time

Setting->General->Log->Extended log,全部选择上),然后回放脚

本,进行具体问题的跟踪,一般是由于程序中限定不允许数据重复

(或数据记录的某个字段不能重复导致的,一般发生在新建和修改里

面。(有些可能不是程序中作限定,而是数据库中有唯一性限制,索引

或主健等),删除相关的所有记录后再次回放即可。(本系统中的此

次测试出现这个错误是由于删除了客户台帐的新建客户数据,但在客

户会中生成的主数据没有删除导致的)

l 版本不兼容,在一个ld版本下录制的脚本在一个版本下使用。

l 请求超时或修改了程序(但你不知道)。

l 根据Replay log的具体错误内容查看原因(结合Replay log

F10单步执行)、web服务的后台日志和程序综合分析)注:web

服务后台日志的显示级别在/WEB-INF/classes/ties或者

中的props设置(最好只显示错误,不

然日志文件太大,不容易分析)。

5、录制的可以回放的脚本却不能操作成功

l 对动态数据没有做关联;

l 有验证码:如果请求进去后,服务器虽然判别请求非法,但是它

仍能成功处理,告诉你请求数据有问题,那么它返回的http代码仍是

200!只是页面上会有它的提示信息错误!LR只判断请求的状态是否

正确,不判断业务数据是否正确!如果要做判断得自己写检查点判别!

l web服务器后台日志显示Unknown AMF question的错误,请

求无效导致

l 选择的协议不完整,录制的脚本不完整导致的;

l 打开Extended Log单步执行查看Replay logweb服务后台

日志,然后分析

6、为什么脚本中添加了检查方法Web-find,但是脚本回放时却

没有执行?

由于检查点功能会耗费一定的资源,因此LoadRunner默认关闭

了对文本及图像的检查。要想开启检查功能,必须修改运行时的配置

Run-time Setting

“Run-time Setting”“Internet

Protocol→Preferences”,勾选Checks下的“Enable Image and

text check”选项即可。

检查执行结果时推荐使用web_reg_find方法。

7、运行时的Pacing设置主要影响什么?

Pacing主要用来设置重复迭代脚本的间隔时间。共有三种方法:

上次迭代结束后立刻开始、上次迭代结束后等待固定时间、按固定或

随机的时间间隔开始执行新的迭代。

根据实际需要设置迭代即可。通常,没有时间间隔会产生更大的

压力。

8、运行时设置Log标签中,如果没有勾选“Enable logging”,

则手工消息可

以发送吗

Enable logging选项仅影响自动日志记录和通过lr_log_message

发送的消息。即使没有勾选,虚拟用户脚本中如果使用lr_message

lr_output_messagelr_error_message,仍然会记录其发出的消息。

9LoadRunner 8.0版本的VuGen在录制Web Services协议的

脚本时一切正常,

而回放时报出错误提示“Error:serve

造成这种情况的主要原因是LoadRunner 8.0VuGen在录制

Web Service协议的脚本时存在一个缺陷:如果服务器的操作系统是

中文的,VuGen会自动将WSDL文件的头改为,因此会有上面的错误

提示。

“LR80WebservicesFPI_”

“lrunner_web_sevices_path_”两个补丁打上即可解决。

10VuGen支持Netscape的客户证书吗?

不支持。目前的VuGen 8.0版本中仅支持Internet Explorer的客

户端证书。录制脚本时可以先从Netscape 中导出所需的证书,然后

将其导入到Internet Explorer中,并确保以相同的顺序导出和导入这

些证书。而且,在每台将要录制或运行需要证书的Web Vuser脚本的

计算机上都要重复执行前面的过程。

11VuGen会修改录制浏览器中的代理服务器设置吗?

会修改。在开始录制基于浏览器的Web Vuser脚本时,VuGen

先会启动指定的浏览器。然后,VuGen会指

示浏览器访问VuGen代理服务器。为此,VuGen会修改录制浏

览器上的代理服务器设置。默认情况下,VuGen会立即将代理服务器

设置更改为Localhost:7777。录制之后,VuGen会将原始代理服务器

设置还原到该录制浏览器中。因此,在VuGen进行录制的过程中,不

可以更改代理服务器设置,否则将无法正常进行。

12、在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: %ldn”,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

13、一些Web虚拟用户脚本录制后立刻回放没有任何问题,但是

当设置迭代次数

大于1时,如果进行回放则只能成功迭代

“Run-time Setting”“Browse

Emulation”的设置中,勾选了“Simulate a new user on each

iteration”及其下面的选项“Clear cache on each iteration”这两个

选项的含义是每次迭代时模拟一个新的用户及每次迭代时清除缓存。

由于脚本迭代时,initend只能执行一次,如果每次迭代都模

拟一个新的用户并清除缓存,则用户登录信息将一并清除,因此迭代

时可能会发生错误。

14、虚拟客户脚本“Run-time Setting”中的线程和进程运行方

式的区别?

如果选择“Run Vuser as a process”,则场景运行时会为每一个

虚拟用户创建一个进程;选择“Run Vuser as a thread”则将每个虚拟

用户作为一个线程来运行,在任务管理器中只看到一个

这种方式的运行效率更高,能造成更大的压力,时默认选项。

另外,如果启用了IP欺骗功能,则先在Controller中选中Tools

“Expert Mode”Tools

“Options>General”标签页中的IP地址分配方式也设置为与Vuser

运行方式一致,同为线程或进程方式。

15、在Controller中运行Web相关测试场景时,经常会有很多

超时错误提示,如

何处理这类问题?

这主要有脚本的默认超时设置引起。当回放Web脚本时,有时候

由于服务器响应时间较长,会产生超时的错误。这时需要修改脚本的

运行时配置。

“Run-time Setting”“Internet

Protocol→Preference”。然后点击“Options…”按钮,进入高级设

置对话框,可以修改各类超时设置的默认值。

16、为什么Windows系统中的CPU、内存等资源仍然充足,但

是模拟的用户数量

却上不去?

Windows计算机的标准设置下,操作系统的默认限制只能使用

几百个Vuser,这个限制与CPU或内存无关,

主要是操作系统本身规定了默认的最大线程数所导致。要想突破

Windows这个限制,须修改Windows注册表。以Windows XP

Professional为例。

(1)打开注册表后,进入注册表项HKEY_LOCAL_MACHINE中的

下列关键字:

SystemCurrentControlSetControlSession

ManagerSubSystems

(2)找到Windows关键字,Windows关键字如下所示:

%SystemRoot%

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)yyyy30728192(8MB)

SharedSection参数值。

通过对注册表的更改,系统将允许运行更多的线程,因而可以在

计算机上运行更多的Vuser。这意味着能够模拟的最大并发用户数量

将不受Windows操作系统的限制,而只受硬件和内部可伸缩性限制的

约束。

17Controller中设置了用户并发数量,但是运行时为何初始化

的用户数量少

于实际数量?

主要时设置问题。在Tools→options→Run-time setting中可以

设置每次最多初始化的虚拟用户。如果需要100个并发用户,则将该

值设置为大于100的数值。另外,注意LoadRunner相关协议License

的更新,确保使用的License能够允许所需要的并发用户数量。

18、如何让场景的用户执行发生错误继续运行,以保证不间断进

行压力测试?

VuGen打开虚拟用户脚本后,进入“Run-time Settings”对

“General→Miscellaneous”

Miscellaneous“Error Handling”

“Continue on error”即可让虚拟用户发生错误继续运行

19、为什么.NET虚拟用户有时不能在远程主机执行?

主要时LoadRunner的版本问题。根据笔者的经验,如果是

Microsoft Visual Studio 2005开发的虚拟用户,同时LoadRunner

客户端的版本低于8.1,执行Controller的主机将会发生错误。

因此要想正确的运行Microsoft Visual Studio 2005开发的.NET

虚拟用户,客户端最好装8.1以上的版本,Controller的主机则安装

8.08.1两个版本均可。此外,产生压力的LoadRunner客户端上预

先应该安装.NET运行环境,如果Microsoft Visual Studio 2005开发

的是.NET虚拟用户,则应该安装Microsoft .NET Framework SDK

v2.0

20、测试分析结果中会统计Action时间,而实际上可能并不须要

这些数据,如

何只显示自己定义的用户事务?

进入脚本的运行时设置,依次进入General→Miscellaneous。默

认情况下,自动事务配置“Automatic Transactions”下有两个选项:

第一个是把脚本的Action部分定义为一个事务;第二个时把脚本的每

一部分定义为一个事务。去掉这两个勾选后,测试结果将会只显示自

己定义的用户事务。

21、测试结果中,Summary和平均事务响应时间图里的各个事

务的最大值、平均

值、最小值为什么显示不一样?

主要是受采样时间的影响。Summary里的事务平均响应时间是根

据整个场景执行过程得到的数据计算所得,最大值与最小值也是从整

个场景中得到的。平均事务响应时间图主要时按照LoadRunner分析

出来的采样频率来获取事务响应时间的最大值与最小值,然后计算平

均值。

可以通过“Set Granularity”来修改平均事务响应时间图的采样

频率。如果把“Granularity”设为场景执行时间,则统计结果将会一

致。

22、统计结果中的总点击量Total Hits时用户的鼠标点击次数吗?

Total Hits不时按照用户的鼠标点击次数来计算的,而是按照各个

虚拟客户端向后台发起的总的请求数来进行统计的。例如在向服务器

请求的一个页面中,如果该页面包含5个图片,用户只要单击鼠标就

可以访问该页面,而单个虚拟用户在LoadRunner访问的点击量为

1+5=6次。

23、有些Web测试结果分析图(例如每秒返回页面数)在测试结

果分析图中无法

看到,如何进行配置?

VuGen打开虚拟用户脚本后,进入“Run-time Settings”对

话框后,依次进入“Internet

Protocol>Preference”,可以看到一些Web性能图配置。

勾选上面得选项后,Controller将会在测试执行过程中生成数据,

然后可在Analysis中查看相应的性能结果分析图。

24、重装系统后安装LR,提示setup has determined that a

previous

installation has not completed,重启无效

解决办法:1)进入注册表:运行/regedit;

2)

3)Session Manager

KEY_LOCAL_MACHINE/SYSTEM/Contrl/SessionManager;

PendingRenameOperations,在弹出的窗口中,将临时文件删除。

4)重新运行LR安装文件即可

25、安装LR,提示Command Line Option Syntax

Command/?时:

解决办法:将安装文件放在英文目录下即可;(或直接放在盘的

根目录下即可)

26、录制Web脚本时,生成的脚本中存在乱码该如何解决?

解决办法:1)新建脚本--->选择协议(Http-->选项-->高级-

->选择“支持字符集”并点选“UTF-8”;

2)在回放脚本之前:Vuser-->运行时设置-->浏览器-->浏览器

仿真-->更改-->使用浏览器-->语言下来选择“中文(中国)”;

进行如上设置以后即可。

27、录制脚本时出现IE运行错误

原因:一般是操作系统的环境不适合或者浏览器的版本有出入。

nnerStandaloneIE7

XPSP2+IE7上验证通过;

nnerwindows vista,(Mercury

Virtual User Generator)启动失败,错误提示"Action",跟UAC安全特

性无关,初步分析跟当前用户的Temp路径改变有关;

s 2003 SP2IE6/7IE

Crash,(IE Crash Detection)

0xc0000005,ie在地址00CD4548 push 1Ah段中断。初步分析原因

Windows Server默认对IE加载DEP(数据执行保护)特性,而

刚好又跟DEP冲突。

解决方案(WIN2003环境):不想换系统那就按下面操作:

Control Panel->System -> "Advanced"

tab->Performance section "Settings" button ->"Data

Execution Prevention" tab->add the client program() in

"Turn on DEP for all programs and services except those I select"

or choose "Turn on DEP for essential windows programs and

services only." and a reboot is required. (控制面板--系统--高级--

性能--数据执行保护--添加例外程序,或许选择第一个选项)

28HTML-based scriptURL-based script的脚本有什么区

?

使“HTML-based script”

VuGen为用户的每个HTML操作生成单独的步骤,这种脚本看上去比

较直观;使用“URL-based script”模式录制脚本时,VuGen可以捕获

所有作为用户操作结果而发送到服务器的HTTP请求,然后为用户的

每个请求分别生成对应方法。

通常,基于浏览器的Web应用会使用“HTML-based script”模

式来录制脚本;而没有基于浏览器的Web 应用、Web应用中包含了与

服务器进行交互的Java Applet、基于浏览器的应用中包含了向服务器

进行通信的JavaScript/VBScript代码、基于浏览器的应用中使用了

HTTPS安全协议,这时使用“URL-based script”模式进行录制。

29、录制脚本后,切换到树视图中,打开相应的脚本页面。在右

侧的PageView

中录制的脚本呈现中文版式,但是当切换

解决办法:问题不在LR本身!被测系统的文件,

在。。。。。节加入后再次录制脚本,乱码变中文。即可解决。

30HP LOADRUNNER 27796, Failed to connect to

server ..10060 connection timed out是什麼意思?

loadrunner的一个报错信息!

解决方法

loadrunnerEdit Runtime Setting>Internet

Protocol>Proxy中选中User custom

proxy然后在选中Use porxy server中填上你所用的代理服务器

IP和端口号