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

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

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

51Testing软件测试网k~0{C!j/H-mV
本文是收集整理LR常见的问题,如果你有收集整理常见的问题,联系老徐Q957863300补充完善;
本文意义:让所有使用LR的同学,在此处能找到LR日常碰到问题的解决方案。
本文系网络收集,非原创;

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

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

qan!B/W4Nv0

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

勾选去掉

2ke%u6jn?0

3)lr自带的webtours系统,如果点击Flights选项,出现空白页面,请检查本机oracle的 PERL5LIB环境51Testing软件测试网$C VCT,qjR5C|S/s

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

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

;~ c Q|-K!q2K0

启动浏览器,打开Internet选项对话框,切换到高级标签,去掉“启用第三方浏览器扩展(需要重启动)”的勾选,然后再次运行VuGen即可解决问题

\tPkV"b+b0

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

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

使用“HTML-based script”的模式录制脚本,VuGen为用户的每个HTML操作生成单独的步骤,这种脚本看上去比较直观;51Testing软件测试网DIB)Cw2w(mh3k

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

"`M2CqF!sn+|7p0

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

/e8s%T@^Xm0

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

    Pacing主要用来设置重复迭代脚本的间隔时间。共有三种方法:A:上次迭代结束后立刻开始、 B:上次迭代结束后等待固定时间、C:按固定或随机的时间间隔开始执行新的迭代。

&JD"f]Ps3Oq0

     根据实际需要设置迭代即可。通常,没有时间间隔会产生更大的压力。51Testing软件测试网WW,F&N Df8MD0k

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

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

R1d;m#j(D]yT0

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

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

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

LoadRunner提供了char *ctime(const time_t *time)函数,调用参数为一个Long型的整数指针,用于存放返回时间的数值表示。51Testing软件测试网g`i9E5Gz2k

调用语句与返回值如下示例:51Testing软件测试网%c!W.[,V@{0P$~]e H

typedef long time_t;51Testing软件测试网W DS#?*^J

Action()51Testing软件测试网3W ZKfD&v4L mA^

{

]#IU b7w{W0

time_t t;51Testing软件测试网;YU%[2d gXXM%n

lr_message(“Time in seconds since 1/1/70: %ldn”,time(&t));51Testing软件测试网R @z$D(NWv2k}

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

8k a@+h h BV/F0

}51Testing软件测试网9n;O S OI&B

输出结果为:51Testing软件测试网.s2R~"v3O3p|

Time in seconds since 1/1/70: 118532996851Testing软件测试网)T&\F lLm5m)[s*[0i

System time and date:Wed Jul 25 10:19:28 200751Testing软件测试网#p7JO6g$r6`W

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

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

由于脚本迭代时,init和end只能执行一次,如果每次迭代都模拟一个新的用户并清除缓存,则用户登录信息将一并清除,因此迭代时可能会发生错误。51Testing软件测试网.j^/GbW O E1z%uo B

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

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

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

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

这主要有脚本的默认超时设置引起。当回放Web脚本时,有时候由于服务器响应时间较长,会产生超时的错误。这时需要修改脚本的运行时配置。51Testing软件测试网;@`b x6}R;D.df*^g

进入“Run-time Setting”对话框后,依次进入“Internet Protocol→Preference”。然后点击“Options…”按钮,进入高级设置对话框,可以修改各类超时设置的默认值。51Testing软件测试网 h R:JP j)B-F

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

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

       (1)打开注册表后,进入注册表项HKEY_LOCAL_MACHINE中的下列关键字:SystemCurrentControlSetControlSession ManagerSubSystems。51Testing软件测试网{g&H#_ C@$_)\%O*k

        (2)找到Windows关键字,Windows关键字如下所示:51Testing软件测试网$lE2}9Mf

%SystemRoot%system32csrss.exe bjectDirectory=Windows

_5^U9UR0

SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,151Testing软件测试网pb:|5m3K [&UV

ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,251Testing软件测试网z"p,m-h ihq

ProfileControl=Off MaxRequestThreads=1651Testing软件测试网;] ] bD4i}%u6Y5S

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

       (3)将yyyy的设置从3072更改为8192(即8MB),增加SharedSection参数值。

DR e4A{W0

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

MM|7gP0

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

(1)编写SQL语句来插入数据51Testing软件测试网1Fy(] B*z'XV

(2)使用DataFactory等专业的数据生成工具51Testing软件测试网D t`!cR]:bC0w

(3)通过LoadRunner录制回放的方式重复执行生成大批量数据51Testing软件测试网%yy-fiNh%e

        Tips:

vQ o*l.~u3DTN0

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

bfVg5p F2l)~0

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

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

7h-k5B|%?t)vo0

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

9ThAl4[jdu gh0

原因是服务器端没有把响应的编码设置为gb231251Testing软件测试网7b*z{%?'w

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

_#?@!l+~u J0

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

解决办法(1):51Testing软件测试网"[6c"iV&rVi1\

首先设置Run-Time Settings – Browser – Browser Emulation – User-Agent51Testing软件测试网7a in?\v6ko1s

然后设置IE51Testing软件测试网 YS"Wz C*kJ

查看-编码-钩上“自动选择”和Unicode(UTF-8)。

3m"h:}(A7Mr`0

解决办法(2):

(RYhI0y%X){D2v0

使用lr_convert_string_encoding函数来转换编码

G#L1PF q0F&Y M-[%}9h0

下面是一个使用的例子:51Testing软件测试网d4\lcz4at

lr_convert_string_encoding(lr_eval_string("{ReplyContents}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"ReplyMessage");

\EsD3vlWc%m0

       web_submit_data("postreply.aspx_2",51Testing软件测试网 Ov B3`(T[

              "Action=http://127.0.0.1/postreply.aspx?infloat=1&topicid=2&&inajax=1",51Testing软件测试网:Z0L?.G|:d

              "Method=POST",

,MuU/Ck!X%g W!X0

              "EncType=multipart/form-data",51Testing软件测试网N1p7[LCb7`

              "RecContentType=text/xml",51Testing软件测试网+oZJ!Y;D[

              "Referer=http://127.0.0.1/showtopic-2.aspx",51Testing软件测试网)\d4QT6wP

              "Snapshot=t9.inf",51Testing软件测试网/b,}rY/Vw:i/W

              "Mode=HTML",

j^*d1t A]Dy;z3i7F$i)@0

              ITEMDATA,51Testing软件测试网B&rm:C)F*f

              "Name=iconid", "Value=0", ENDITEM,51Testing软件测试网*dUAl'H$[g9nw5B

              "Name=title", "Value=", ENDITEM,51Testing软件测试网yac |hNb-r?,x

              "Name=wysiwyg", "Value=0", ENDITEM,51Testing软件测试网8V/iS,tvL|9Z0q R

              "Name=checkbox", "Value=0", ENDITEM,51Testing软件测试网 ?@4d@7l.~d)]N e

              "Name=message", "Value=[localimg=180,112]1[/localimg]rnrn{ReplyMessage}", ENDITEM,51Testing软件测试网7E,f/|!?n+jT v9gf

              "Name=e_mediatyperadio", "Value=on", ENDITEM,

?l'ahx3P!R MI0

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

:r iZ!^`7MB1zwD0

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

w'Z!G"A:z.RbE0

              "Name=attachdesc", "Value=", ENDITEM,51Testing软件测试网$n\B pP(_{#QK+t

              "Name=localid", "Value=", ENDITEM,51Testing软件测试网_Q2S,x+i@R O

              "Name=attachdesc", "Value=", ENDITEM,

j-g\+m"B xN#_4O^0Y0

              "Name=localid", "Value=1", ENDITEM,51Testing软件测试网2|-?;w#X&h;L{

              "Name=attachdesc", "Value=", ENDITEM,

&mK4h vvj0

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

%{"Bw.[0W-QnOLp0

              "Name=emailnotify", "Value=on", ENDITEM,51Testing软件测试网3V!IqPin

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

6z6t*}D;Zr0

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

/Ab7zK*yo1q U6H0

              "Name=postfile", "Value=D:图片收集It's about time.JPG", "File=Yes", ENDITEM,51Testing软件测试网ZfC&Xf(djP

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

9_+F!i3} h8veTL0

              "Name=uploadallowmax", "Value=10", ENDITEM,

'bZm]W5U0

              "Name=uploadallowtype", "Value=jpg,gif", ENDITEM,

d7gd(r$Y i0

              "Name=thumbwidth", "Value=300", ENDITEM,51Testing软件测试网 Ow"cM*Enp _c

              "Name=thumbheight", "Value=250", ENDITEM,51Testing软件测试网'sD+dYjG#|j

              "Name=noinsert", "Value=0", ENDITEM,51Testing软件测试网'gMu~J)A Q

              LAST);51Testing软件测试网'G)d%_2`y

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

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

0q|`]}P*Z0

stateID="d7lg0ehmjkkm6uin3s4boei7oq">

U8UR2? K0

stateID="cvopakp46ftsf8mh6l37ti3ubm">

O0{T@3L1@0

stateID="bv9mja8gtgr39ddibm5t9163re">51Testing软件测试网G dpF]X$b

web_reg_save_param里的ORD应该怎样设置?

bR6Mm*RBi0

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.

'k.g-QUNo5V%{d0

例子:

f,i1V/~/\0

char outFlightParam[50]; // The name of the parameter for correlation51Testing软件测试网)US ]TpKd

char outFlightParamVal[50]; // The formatted value of outFlightParam51Testing软件测试网 {#O%X(Sfj!x

web_reg_save_param("outFlightVal",51Testing软件测试网}7UVUN*r!w#?

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

5~M9}kSn k0

        "ORD=ALL",51Testing软件测试网"O6W9o{'Q8k v w

        "SaveLen=18",51Testing软件测试网B)[CE Mlxh oI

        LAST);51Testing软件测试网P[4bQG)oj

    web_submit_form("reservations.pl",

x+} pl5jD&Oz0

        "Snapshot=t4.inf",51Testing软件测试网c-b C9~PIjs

        ITEMDATA,51Testing软件测试网-V&[Ff,uVt;S9QvM F

        "Name=depart", "Value=London", ENDITEM,

:zI'L.Ixl%w0

        "Name=departDate", "Value=11/20/2003", ENDITEM,

4z b Q6Yx4oa0

        "Name=arrive", "Value=New York", ENDITEM,

`6\Ud N` }u*g}2w]0

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

.| fL/n)_,e Cd0

        "Name=numPassengers", "Value=1", ENDITEM,

4p,R3E%NG/W0

        "Name=roundtrip", "Value=<OFF>", ENDITEM,

'j9McXFkqg/{0

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

.Wk8r5|m0

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

t9v;|h V f"z0

        "Name=findFlights.x", "Value=83", ENDITEM,51Testing软件测试网h8vM1TbH |w+^

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

e0Lgw'Oj J0

        LAST);

{:X1[ p,Xo3l3r[ qq0

    sprintf(outFlightParam, "{outFlightVal_%s}",

3}r!i-\K%Th6Y3C ^ f0

        lr_eval_string("{outFlightVal_count}"));51Testing软件测试网yVx1^;b0T0r2M

    sprintf(outFlightParamVal, "Value=%s",51Testing软件测试网Kkq a"td*J

        lr_eval_string(outFlightParam));51Testing软件测试网 IpaG$}:L*u|

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

E$[ n*tG0

    web_submit_form("reservations.pl_2",51Testing软件测试网 rq$ir)JqZ?2yl

       "Snapshot=t5.inf",51Testing软件测试网!y;}"S-P/j

       ITEMDATA,51Testing软件测试网\ bW%~-Sg"}C

       "Name=outboundFlight",outFlightParamVal, ENDITEM,

.o U2w*` ~4|tae0

        "Name=reserveFlights.x", "Value=92", ENDITEM,

$f|.oN@uk[#Ou0

        "Name=reserveFlights.y", "Value=10", ENDITEM,51Testing软件测试网1s7X)lF,[a

        LAST);

hd8MsmKy0

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)(出现个别,可以忽略)

+J6xFK+p1qRK0

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

o~[@~Rl0

vuser_init.c(12): Error -2779651Testing软件测试网d2R!z"g'LX)P*ts[8i

            如果觉得下载一个页面超过2分钟不是错误的话,可以在Run-Time设置中选择Preferences->Options,修改Step download timeout(sec)的时间51Testing软件测试网 |"B"[i6ud:e/zj

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

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

xuquan

xuquan

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

日历

« 2019-11-10  
     12
3456789
10111213141516
17181920212223
24252627282930

数据统计

  • 访问量: 507414
  • 日志数: 349
  • 建立时间: 2012-06-04
  • 更新时间: 2019-10-21

RSS订阅

Open Toolbar