IDO老徐,在深圳,某上市公司质量部负责人,干了十二年软件测试,公号"简尚" ,博客isTester.com ,关注「软件测试从业者综合能力提升」,微信957863300

「资料合集」性能测试工具LR常见问题汇总

上一篇 / 下一篇  2016-05-17 14:08:01 / 个人分类:测试工具


-fW*r }T.^"WU[0
本文是收集整理LR常见的问题,如果你有收集整理常见的问题,联系老徐Q957863300补充完善;
本文意义:让所有使用LR的同学,在此处能找到LR日常碰到问题的解决方案。
本文系网络收集,非原创;

1.LR 脚本为空的解决方法:

1)如果安装了IE以外的浏览器,并且IE不是默认浏览器,则无法生成录制脚本

/e{S'PI#|X0

2)如果录制脚本时IE不能打开,则需要将浏览器的IE工具高级选项中,将“启用第三方浏览器扩展”的51Testing软件测试网9y9Pw[m

勾选去掉51Testing软件测试网|'F/O$G d/`T8`NlQ

3)lr自带的webtours系统,如果点击Flights选项,出现空白页面,请检查本机oracle的 PERL5LIB环境

d2M4sSj;eg,cTE0

2.LoadRunner录制脚本时为什么不弹出IE浏览器?

当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决。

$V$B aTrg$B/\_0

启动浏览器,打开Internet选项对话框,切换到高级标签,去掉“启用第三方浏览器扩展(需要重启动)”的勾选,然后再次运行VuGen即可解决问题51Testing软件测试网 B2V | e/p;F ~{

提示:通常安装Firefox等浏览器后,都会勾选上面得选项,导致不能正常录制。因此建议运行LoadRunner得主机上保持一个干净的测试环境。51Testing软件测试网(D@*t&z6UE$q

3.HTML-based scriptURL-based script的脚本有什么区别?

使用“HTML-based script”的模式录制脚本,VuGen为用户的每个HTML操作生成单独的步骤,这种脚本看上去比较直观;

&v/\-@q0b_0

使用“URL-based script”模式录制脚本时,VuGen可以捕获所有作为用户操作结果而发送到服务器的HTTP请求,然后为用户的每个请求分别生成对应方法。

F!Zn:@(AS0

通常,基于浏览器的Web应用会使用“HTML-based script”模式来录制脚本;而没有基于浏览器的Web应用、Web应用中包含了与服务器进行交互的Java Applet、基于浏览器的应用中包含了向服务器进行通信的JavaScript/VBScript代码、基于浏览器的应用中使用了HTTPS安全协议,这时使用“URL-based script”模式进行录制。

4A VO8^ BB-BZ)TtM0

4.运行时的Pacing设置主要影响什么?

    Pacing主要用来设置重复迭代脚本的间隔时间。共有三种方法:A:上次迭代结束后立刻开始、 B:上次迭代结束后等待固定时间、C:按固定或随机的时间间隔开始执行新的迭代。51Testing软件测试网#{ d S&Dy:`;T.G&] ha

     根据实际需要设置迭代即可。通常,没有时间间隔会产生更大的压力。51Testing软件测试网|3^0m+gGS+B-V

 5.运行时设置Log标签中,如果没有勾选“Enable logging”,则手工消息可以发送吗?

Enable logging选项仅影响自动日志记录和通过lr_log_message发送的消息。即使没有勾选,虚拟用户脚本中如果使用lr_message、lr_output_message、lr_error_message,仍然会记录其发出的消息。

1C7`MpmP'T8J9p;A!`0

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

会修改。在开始录制基于浏览器的Web Vuser脚本时,VuGen首先会启动指定的浏览器。然后,VuGen会指示浏览器访问VuGen代理服务器。为此,VuGen会修改录制浏览器上的代理服务器设置。默认情况下,VuGen会立即将代理服务器设置更改为Localhost:7777。录制之后,VuGen会将原始代理服务器设置还原到该录制浏览器中。因此,在VuGen进行录制的过程中,不可以更改代理服务器设置,否则将无法正常进行。51Testing软件测试网I E3H8F-X

7.LoadRunner脚本如何输出当前系统时间?

LoadRunner提供了char *ctime(const time_t *time)函数,调用参数为一个Long型的整数指针,用于存放返回时间的数值表示。

:~%z Ou[7J|:N a0

调用语句与返回值如下示例:

x{#Rl8IQ5k m0

typedef long time_t;51Testing软件测试网 Eo~&}.fC$@z@d

Action()

n X+b"J \%C$z0

{

+n"^(n Qs IhV'a0

time_t t;

/{W ~k2~$~q P0

lr_message(“Time in seconds since 1/1/70: %ldn”,time(&t));

)vw J5Vq#@0

lr_message(“System time and date: %s”,ctime(&t));

~M qS-C+L;m0b2F0

}51Testing软件测试网,vs4v O#wkKZ

输出结果为:

O RV b_!e0

Time in seconds since 1/1/70: 1185329968

.S'B8~#@(g:Uh\0

System time and date:Wed Jul 25 10:19:28 2007

:?X2xueW+F p$K3T0

8.一些Web虚拟用户脚本录制后立刻回放没有任何问题,但是当设置迭代次数大于1时,如果进行回放则只能成功迭代一次。为什么从第二次迭代开始发生错误?

这种现象多是由于在“Run-time Setting”的“Browse Emulation”的设置中,勾选了“Simulate a new user on each iteration”及其下面的选项“Clear cache on each iteration”这两个选项的含义是每次迭代时模拟一个新的用户及每次迭代时清除缓存。

q'HOj&g-Zz0

由于脚本迭代时,init和end只能执行一次,如果每次迭代都模拟一个新的用户并清除缓存,则用户登录信息将一并清除,因此迭代时可能会发生错误。

|3[f~f.pdn5Z0

9.虚拟客户脚本“Run-time Setting”中的线程和进程运行方式的区别?

如果选择“Run Vuser as a process”,则场景运行时会为每一个虚拟用户创建一个进程;选择“Run Vuser as a thread”则将每个虚拟用户作为一个线程来运行,在任务管理器中只看到一个mmdrv.exe,这种方式的运行效率更高,能造成更大的压力,时默认选项。

y D&Dy3X p:f S Q%Q2U0

另外,如果启用了IP欺骗功能,则先在Controller中选中Tools菜单下的“Expert Mode”,然后将Tools菜单下的“Options>General”标签页中的IP地址分配方式也设置为与Vuser运行方式一致,同为线程或进程方式。

o&kv8b{ V0

10.Controller中运行Web相关测试场景时,经常会有很多超时错误提示,如何处理这类问题?

这主要有脚本的默认超时设置引起。当回放Web脚本时,有时候由于服务器响应时间较长,会产生超时的错误。这时需要修改脚本的运行时配置。

*v0](`$O$Ez0

进入“Run-time Setting”对话框后,依次进入“Internet Protocol→Preference”。然后点击“Options…”按钮,进入高级设置对话框,可以修改各类超时设置的默认值。51Testing软件测试网(f(SN:h4`#@cqd

11.为什么Windows系统中的CPU、内存等资源仍然充足,但是模拟的用户数量却上不去-27796?

     在Windows计算机的标准设置下,操作系统的默认限制只能使用几百个Vuser,这个限制与CPU或内存无关,主要是操作系统本身规定了默认的最大线程数所导致。要想突破Windows这个限制,须修改Windows注册表。以Windows XP Professional为例。

.Gh*v2Y1r:tH P0

       (1)打开注册表后,进入注册表项HKEY_LOCAL_MACHINE中的下列关键字:SystemCurrentControlSetControlSession ManagerSubSystems。

spG!`'I+j0

        (2)找到Windows关键字,Windows关键字如下所示:51Testing软件测试网p#x'n B+C"D

%SystemRoot%system32csrss.exe bjectDirectory=Windows

czX)Rq'J!V.Wk0

SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,151Testing软件测试网,DQ!Pw1[1w'x/B!@E.l

ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2

/r%w(]T*}nV:U8R0

ProfileControl=Off MaxRequestThreads=1651Testing软件测试网8J!T$T(` Ux&{#l Tw

SharedSection=1024,3072,512关键字的格式为xxxx,yyyy,zzz。其中,xxxx定义了系统范围堆的最大值(以KB为单位),yyyy定义每个桌面堆得大小。

8@9{$yj`3Ji U0_t0

       (3)将yyyy的设置从3072更改为8192(即8MB),增加SharedSection参数值。51Testing软件测试网 I{z|1H

 通过对注册表的更改,系统将允许运行更多的线程,因而可以在计算机上运行更多的Vuser。这意味着能够模拟的最大并发用户数量将不受Windows操作系统的限制,而只受硬件和内部可伸缩性限制的约束。

+R.K2P!zK{ d _;v0

 12.性能测试 往往需要准备大批量的数据,大批量数据的生成方法有很多种,常见的有:

(1)编写SQL语句来插入数据51Testing软件测试网b$o,L*f#r F8W[v

(2)使用DataFactory等专业的数据生成工具

k2K^N|7R%n0

(3)通过LoadRunner录制回放的方式重复执行生成大批量数据51Testing软件测试网R.P1]eF*xa(wd#N)g

        Tips:

:v2G`&G7X$WC0

        使用DataFactory插入nchar数据类型的数据时会出现空值的情况,可以先修改数据库的数据类型设置,插完数据后再改回来

6e"Z)z8YN^ uxuKR0

13.录制脚本中包含中文,出现乱码怎么办?

 把录制选项中的Support charset选中UTF-8

0Yf\4o@j.vn@0

 录制脚本后,切换到树视图中,打开相应的脚本页面。在右侧的PageView中录制的脚本呈现中文版式,但是当切换到Server Response中,所有的中文全部换成的乱码,如“勌缞仫訆”。

$s'ISB9G0

原因是服务器端没有把响应的编码设置为gb231251Testing软件测试网 w)y|~[)c8ct x-{7i-e

在IIS中找到Web.Config文件,在<system.web>….</system.web>节加入<globalization requestEncoding="gb2312" responseEncoding="gb2312" fileEncoding="gb2312"/>后再次录制脚本,乱码变中文。

c k2_Y!Iy2Gu0

 14.LoadRunner回放脚本时,在浏览器显示的中文是乱码

解决办法(1):

p]&{~u&u} r'X0

首先设置Run-Time Settings – Browser – Browser Emulation – User-Agent

jm9LKXd$c0

然后设置IE51Testing软件测试网3tc6P:buXV,A4^

查看-编码-钩上“自动选择”和Unicode(UTF-8)。51Testing软件测试网1w~oZ%g3DY8d

解决办法(2):

dX/BD-e} q0

使用lr_convert_string_encoding函数来转换编码

^-D-i[Y\,{%X0

下面是一个使用的例子:51Testing软件测试网 d`:`r+E7a ^;O'Lq

lr_convert_string_encoding(lr_eval_string("{ReplyContents}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"ReplyMessage");51Testing软件测试网bK;kVLx [%m)i4[XW

       web_submit_data("postreply.aspx_2",51Testing软件测试网Z5o l$wWw&|Mdrz

              "Action=http://127.0.0.1/postreply.aspx?infloat=1&topicid=2&&inajax=1",

%d^"tQ xE#E,Ga0

              "Method=POST",51Testing软件测试网3]?po1X,Mc \ O

              "EncType=multipart/form-data",51Testing软件测试网;mWcw"S MI],b

              "RecContentType=text/xml",

N] hEH0

              "Referer=http://127.0.0.1/showtopic-2.aspx",

H-beZ4VI0

              "Snapshot=t9.inf",51Testing软件测试网 }k Sx~

              "Mode=HTML",51Testing软件测试网-L,]t8x2yE;ys)H4^O

              ITEMDATA,

p/ig!Z7wjm0Y'S0

              "Name=iconid", "Value=0", ENDITEM,51Testing软件测试网;PG-Q d%Ns3hQ'k8@

              "Name=title", "Value=", ENDITEM,

&KWIE0Ep+J0

              "Name=wysiwyg", "Value=0", ENDITEM,51Testing软件测试网~~-un0B-j9ERT

              "Name=checkbox", "Value=0", ENDITEM,51Testing软件测试网V5B,X*C&}|:y7KXX

              "Name=message", "Value=[localimg=180,112]1[/localimg]rnrn{ReplyMessage}", ENDITEM,51Testing软件测试网"](W*B2a9e*y^

              "Name=e_mediatyperadio", "Value=on", ENDITEM,51Testing软件测试网([:s [6Ju:lv+?

              "Name=sl_attachdesc", "Value=", ENDITEM,

[ b$w5L#h*{0

              "Name=attachid", "Value=", ENDITEM,

+P tq4H [0

              "Name=attachdesc", "Value=", ENDITEM,51Testing软件测试网 Mw6Eonc

              "Name=localid", "Value=", ENDITEM,

l0O)eS }4h1@Lu0

              "Name=attachdesc", "Value=", ENDITEM,51Testing软件测试网*@Thw!`b-j-L]

              "Name=localid", "Value=1", ENDITEM,

ehk0|'E0

              "Name=attachdesc", "Value=", ENDITEM,51Testing软件测试网+y"`H*b8_+U]U"b*E

              "Name=localid", "Value=2", ENDITEM,

,h+G`@-`Xn"R |0

              "Name=emailnotify", "Value=on", ENDITEM,

xU@5Dzh,Z+e0

              "Name=postreplynotice", "Value=on", ENDITEM,

:MR9mK{9Bn0

              "Name=postfile", "Value=", "File=Yes", ENDITEM,

z'imo}Qz0

              "Name=postfile", "Value=D:图片收集It's about time.JPG", "File=Yes", ENDITEM,

t#HrG+_k1xJ6T0

              "Name=postfile", "Value=", "File=Yes", ENDITEM,

#kgnBy9t0

              "Name=uploadallowmax", "Value=10", ENDITEM,51Testing软件测试网(SJo/V2VUj2Y9N

              "Name=uploadallowtype", "Value=jpg,gif", ENDITEM,51Testing软件测试网&Gj#Kf8Qv\e%_

              "Name=thumbwidth", "Value=300", ENDITEM,51Testing软件测试网@g&t\'w&u5@W*V

              "Name=thumbheight", "Value=250", ENDITEM,

%I&Y[F A8jNx0

              "Name=noinsert", "Value=0", ENDITEM,51Testing软件测试网.Wy)GYr

              LAST);51Testing软件测试网h0P(e p7?3BGqg

15.怎样抓取有相同左右边界的动态value

怎样抓取有相同左右边界的动态value?例如:

;Wf^ _f%{ rg0

stateID="d7lg0ehmjkkm6uin3s4boei7oq">51Testing软件测试网p FqiM

stateID="cvopakp46ftsf8mh6l37ti3ubm">51Testing软件测试网]PS,{A

stateID="bv9mja8gtgr39ddibm5t9163re">51Testing软件测试网 twc.yy&r:n o }

web_reg_save_param里的ORD应该怎样设置?

0V&Q6E!Z)J8C\#z _%oVk0

ORD: Indicates the ordinal position or instance of the match. The default instance is 1. If you specify "All," it saves the parameter values in an array.

/Fm&c0a6HxF0

例子:

OI;x"NP$juW0

char outFlightParam[50]; // The name of the parameter for correlation51Testing软件测试网c(P7m;V#m yO*xZ

char outFlightParamVal[50]; // The formatted value of outFlightParam51Testing软件测试网1}z4t#D\ S

web_reg_save_param("outFlightVal",51Testing软件测试网/p9h;T],]+I4m

        "LB=outboundFlight value=", "RB=>",

3ML1Nr;\yc m0

        "ORD=ALL",

$_;}W O&@W/g4Gy0

        "SaveLen=18",51Testing软件测试网 DH'?I Q N

        LAST);

7M@p:TwQ5@ `x0

    web_submit_form("reservations.pl",51Testing软件测试网RZxz5mM0es"T l M`

        "Snapshot=t4.inf",

b7og7|%o pdG"h4m0

        ITEMDATA,

x5U V^L0?0

        "Name=depart", "Value=London", ENDITEM,51Testing软件测试网N v:d"dND5F9D

        "Name=departDate", "Value=11/20/2003", ENDITEM,51Testing软件测试网%{fq/K,h9[F1?O

        "Name=arrive", "Value=New York", ENDITEM,51Testing软件测试网Y.kI:V8^M3P![-b

        "Name=returnDate", "Value=11/21/2003", ENDITEM,

AA}i4e b0

        "Name=numPassengers", "Value=1", ENDITEM,51Testing软件测试网F#x-N+P5K)SP

        "Name=roundtrip", "Value=<OFF>", ENDITEM,51Testing软件测试网j$^;TgX0Co p

        "Name=seatPref", "Value=None", ENDITEM,

M,J0M.xCHjc-J0

        "Name=seatType", "Value=Coach", ENDITEM,

xJ T.^h0

        "Name=findFlights.x", "Value=83", ENDITEM,51Testing软件测试网inVZ1G:y!c6a_B

        "Name=findFlights.y", "Value=16", ENDITEM,

)r By9v1b1H X-F0

        LAST);51Testing软件测试网m ~D1f,x

    sprintf(outFlightParam, "{outFlightVal_%s}",51Testing软件测试网3Gsz cL8m n-I)V

        lr_eval_string("{outFlightVal_count}"));

S _ZB*]&Er0

    sprintf(outFlightParamVal, "Value=%s",51Testing软件测试网1U*aO#Kh4^T

        lr_eval_string(outFlightParam));

5G5dIa2r'{8I"f0

    lr_message("The value argument is : %s", outFlightParamVal);

X!ta5k:X/c0

    web_submit_form("reservations.pl_2",

Q/K3m HsSY F0

       "Snapshot=t5.inf",

kr)sWj{6J Q/\ZZ0

       ITEMDATA,51Testing软件测试网1DfiSG8H_'tI

       "Name=outboundFlight",outFlightParamVal, ENDITEM,

1Mi1Y(_t"E-mM$L!c0

        "Name=reserveFlights.x", "Value=92", ENDITEM,51Testing软件测试网ta?rxV-PQ

        "Name=reserveFlights.y", "Value=10", ENDITEM,51Testing软件测试网M\c Af

        LAST);

wLgc7G$I0

16.运行场景时提示“Step download timeout (120 seconds) has expired when downloading resource(s)

vuser_init.c(12): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)(出现个别,可以忽略)

{ bM? m0

vuser_init.c(12): Error -27727: Step download timeout (120 seconds) has expired when downloading resource(s). Set the "Step Timeout caused by resources is a warning" Run-Time Setting to Yes/No to have this message as a warning/error, respectively

$Trx"q5p0

vuser_init.c(12): Error -2779651Testing软件测试网*~)GI Uu|O

            如果觉得下载一个页面超过2分钟不是错误的话,可以在Run-Time设置中选择Preferences->Options,修改Step download timeout(sec)的时间51Testing软件测试网+c'R+h;y~1c

TAG: 性能测试工具 软件测试 LR LR常见问题 LR显示浏览器

 

评分:0

我来说两句

xuquan

xuquan

IDO老徐,坐标深圳,测试经理,干了十年测试,公号"简尚" ,个人博客isTester.com ,关注「软件测试从业者综合能力提升」,微信957863300

日历

« 2024-03-27  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 911406
  • 日志数: 427
  • 建立时间: 2012-06-04
  • 更新时间: 2022-02-23

RSS订阅

Open Toolbar