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

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

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

51Testing软件测试网0Q#q(|!R&_`
本文是收集整理LR常见的问题,如果你有收集整理常见的问题,联系老徐Q957863300补充完善;
本文意义:让所有使用LR的同学,在此处能找到LR日常碰到问题的解决方案。
本文系网络收集,非原创;

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

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

aWZ~{$H0

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

勾选去掉

r&Z4}1tK.y%W+s0

3)lr自带的webtours系统,如果点击Flights选项,出现空白页面,请检查本机oracle的 PERL5LIB环境51Testing软件测试网[ }F b fN

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

当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决。51Testing软件测试网6Qk3W w MH

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

5e,hyOo5Qo0

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

4~(}qvQT WH @X0

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

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

7?U1u5\vlZ(Y0

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

"eT D%{J+F,P5l5T0

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

7liXzb0

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

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

z$]ZK$rO0

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

DY9{8YXt0

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

Enable logging选项仅影响自动日志记录和通过lr_log_message发送的消息。即使没有勾选,虚拟用户脚本中如果使用lr_message、lr_output_message、lr_error_message,仍然会记录其发出的消息。51Testing软件测试网*L4@Q K,o!z'f)b;Q

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

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

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

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

调用语句与返回值如下示例:51Testing软件测试网2e\2q+Yi[n

typedef long time_t;51Testing软件测试网;ws?{/Y}4X

Action()51Testing软件测试网,j v,X KzW;H#f"`:YJ

{

5M ]to w#xl,v`0

time_t t;51Testing软件测试网&OY4og,lJC

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

&CAw3h}#E vT0x0

lr_message(“System time and date: %s”,ctime(&t));51Testing软件测试网-a fF zl^

}

9H\5oV(ykno0

输出结果为:

2[7`#i{!],M0

Time in seconds since 1/1/70: 1185329968

GeAGc1u(@)E0

System time and date:Wed Jul 25 10:19:28 200751Testing软件测试网c om$g.h5H1l

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

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

由于脚本迭代时,init和end只能执行一次,如果每次迭代都模拟一个新的用户并清除缓存,则用户登录信息将一并清除,因此迭代时可能会发生错误。51Testing软件测试网"T/TP\-Mo3fnE W

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

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

3XP$Xd"?!|4tw UQ0

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

h){n6bS/S!@0

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

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

0g d9U6Sd pQ_0

进入“Run-time Setting”对话框后,依次进入“Internet Protocol→Preference”。然后点击“Options…”按钮,进入高级设置对话框,可以修改各类超时设置的默认值。

3ykQ.I0Q5L0

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

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

       (1)打开注册表后,进入注册表项HKEY_LOCAL_MACHINE中的下列关键字:SystemCurrentControlSetControlSession ManagerSubSystems。51Testing软件测试网4P g_s'Uw[j

        (2)找到Windows关键字,Windows关键字如下所示:51Testing软件测试网0d q'{5{)]g$id

%SystemRoot%system32csrss.exe bjectDirectory=Windows51Testing软件测试网u:Kux?5`

SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1

7TSq$o-md0

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

|1CkT;ym0a;c |0

ProfileControl=Off MaxRequestThreads=16

8m0vj&{y b*Y0

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

GM_!t@`1U$b0

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

m!E6O%wYV2Z"_0

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

o(In%a:u7t0

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

(1)编写SQL语句来插入数据

;`g&zRSE(| ~Q0

(2)使用DataFactory等专业的数据生成工具51Testing软件测试网 nW(T4{:JY-pu

(3)通过LoadRunner录制回放的方式重复执行生成大批量数据

L'Ha0|m-~0

        Tips:51Testing软件测试网Q-R?%Vn\(\

        使用DataFactory插入nchar数据类型的数据时会出现空值的情况,可以先修改数据库的数据类型设置,插完数据后再改回来51Testing软件测试网'C@G I/`U

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

 把录制选项中的Support charset选中UTF-851Testing软件测试网A[;sU Vp kD

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

`QRt+g0

原因是服务器端没有把响应的编码设置为gb2312

2G/jL5J's Nx0

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

R1rY] u2}+U;O?,C0

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

解决办法(1):

m_u'L#lEN&c4g0

首先设置Run-Time Settings – Browser – Browser Emulation – User-Agent51Testing软件测试网m4jC[B r'`%C

然后设置IE

};Rq3`1R2{]0}?"H0

查看-编码-钩上“自动选择”和Unicode(UTF-8)。51Testing软件测试网/o7vg4{$b

解决办法(2):

8wrG:m9AA.|0

使用lr_convert_string_encoding函数来转换编码51Testing软件测试网H7f~O Q%R

下面是一个使用的例子:

7p-w}MCg*a a Kd0

lr_convert_string_encoding(lr_eval_string("{ReplyContents}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"ReplyMessage");51Testing软件测试网3} q E K4o(i

       web_submit_data("postreply.aspx_2",51Testing软件测试网e'_ v+P6i5|Ptw+J

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

Fi/L\T(?7@,k0

              "Method=POST",

;]-CWM2x~dBRj%q0

              "EncType=multipart/form-data",

%D9us1I3C0

              "RecContentType=text/xml",

s3rbb1SB]b%e4j0

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

8Th,aD&m'kO^k`0

              "Snapshot=t9.inf",

3r0f4b'_)tZgb/s0

              "Mode=HTML",

.kVD@b0zB0

              ITEMDATA,51Testing软件测试网-T-F7U;J'Y*Rc'y

              "Name=iconid", "Value=0", ENDITEM,51Testing软件测试网^ R F Q:TTOU

              "Name=title", "Value=", ENDITEM,51Testing软件测试网J8r.R6_,dYN b

              "Name=wysiwyg", "Value=0", ENDITEM,51Testing软件测试网 @3TZ }&J ?Z+L

              "Name=checkbox", "Value=0", ENDITEM,

9c6WP Nf$NLg k0

              "Name=message", "Value=[localimg=180,112]1[/localimg]rnrn{ReplyMessage}", ENDITEM,51Testing软件测试网!PE;W`!~l`p#Z

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

'V|%}q!y\A i0

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

T3T0YB c0

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

K A8KD ['b[U0

              "Name=attachdesc", "Value=", ENDITEM,51Testing软件测试网5f,Qo7nO YO

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

e[&_wpM[0

              "Name=attachdesc", "Value=", ENDITEM,51Testing软件测试网Jn5J%T%p

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

d-c6}?p6f0

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

A a{xIEf%X0

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

D:] Zgv DF:~)\i0

              "Name=emailnotify", "Value=on", ENDITEM,51Testing软件测试网Q@H6v,M.K:lPyB e

              "Name=postreplynotice", "Value=on", ENDITEM,51Testing软件测试网R&dlr{O G

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

m"yI]4_a/o;f3n7W0

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

,iZQ6] Lz6\5c0

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

w8Pk Zo G&k0

              "Name=uploadallowmax", "Value=10", ENDITEM,51Testing软件测试网W3m p3n,d TzE

              "Name=uploadallowtype", "Value=jpg,gif", ENDITEM,51Testing软件测试网~0q4LJ G*U j

              "Name=thumbwidth", "Value=300", ENDITEM,

2E tPbj}+ZP0

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

Hr,t_5eK0

              "Name=noinsert", "Value=0", ENDITEM,51Testing软件测试网J&h+T9j _e [*sg9Y;A

              LAST);

&Au$Pj~&F?w0

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

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

r.w"G:b2^P0

stateID="d7lg0ehmjkkm6uin3s4boei7oq">

/?_H,zp:[U,w]0

stateID="cvopakp46ftsf8mh6l37ti3ubm">51Testing软件测试网gj#f4O iV.V(u1A

stateID="bv9mja8gtgr39ddibm5t9163re">51Testing软件测试网B-P/r vr ai1G(f P

web_reg_save_param里的ORD应该怎样设置?

-Tsxz},z b LE0

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.

@/k8{ lm0

例子:51Testing软件测试网a)f6|:]?R

char outFlightParam[50]; // The name of the parameter for correlation

2hPFg8GD0

char outFlightParamVal[50]; // The formatted value of outFlightParam51Testing软件测试网]"R1J]^)vzR

web_reg_save_param("outFlightVal",51Testing软件测试网m'`_2l~vQ)~^;E!Nl$F

        "LB=outboundFlight value=", "RB=>",51Testing软件测试网3l;O5L:Gls

        "ORD=ALL",51Testing软件测试网^"k8B#g5\#y;]Gm

        "SaveLen=18",

2p;L3PaG+H8G"q K0

        LAST);

C-u9J sw#q7oW0

    web_submit_form("reservations.pl",

E&uf#`Ck}0

        "Snapshot=t4.inf",51Testing软件测试网o tpbz4i5l G)c

        ITEMDATA,51Testing软件测试网E XT$B7\(u3{

        "Name=depart", "Value=London", ENDITEM,51Testing软件测试网`-{x N-x/s1H9M

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

6wd j h g-K0

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

N Ss)_%hb_0g/sW!g0

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

+Ks#_ [L~5C6a0

        "Name=numPassengers", "Value=1", ENDITEM,51Testing软件测试网 T"F^)P.v:I/e

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

{1P8@eMa^ EF0

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

gN wA2NP0

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

l?X]0i1Sm-G0

        "Name=findFlights.x", "Value=83", ENDITEM,

\'QQ[1Dvv0

        "Name=findFlights.y", "Value=16", ENDITEM,51Testing软件测试网.w3e%y{R4Px;~

        LAST);

@D@)a d!I E `A0

    sprintf(outFlightParam, "{outFlightVal_%s}",51Testing软件测试网4c$OSs'^ L A

        lr_eval_string("{outFlightVal_count}"));51Testing软件测试网~2PA$E$B5u

    sprintf(outFlightParamVal, "Value=%s",

V1_,H_[ c.^.TT0

        lr_eval_string(outFlightParam));51Testing软件测试网XHyt|X)P

    lr_message("The value argument is : %s", outFlightParamVal);51Testing软件测试网8W#\y \5s~aG.S%G

    web_submit_form("reservations.pl_2",

!?;Kn T Q s*z\w[?0

       "Snapshot=t5.inf",

eb{ O"qX0

       ITEMDATA,51Testing软件测试网 ]lP)d&]okv5E9k

       "Name=outboundFlight",outFlightParamVal, ENDITEM,51Testing软件测试网N4V TU,u(ym$ffN4o

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

{ Q Uxp;[r|0

        "Name=reserveFlights.y", "Value=10", ENDITEM,51Testing软件测试网$w4Y;h*MF

        LAST);

:z3kK2W-Y:mt,rZ0

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

"esn(S!u"f+f a;MVm!t0

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

$ZY|yg1| X1d+@0

vuser_init.c(12): Error -27796

J Lcb VrK0

            如果觉得下载一个页面超过2分钟不是错误的话,可以在Run-Time设置中选择Preferences->Options,修改Step download timeout(sec)的时间

ga,JM6VRoS!tq0

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

 

评分:0

我来说两句

xuquan

xuquan

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

日历

« 2024-05-20  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

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

RSS订阅

Open Toolbar