




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Loadrunner学习-脚本编写(1) (OG5I4|DBt7A144971 中午看了两集奋斗发现越看越想看,但是想到好不容易没上班,在家还是赶紧学习下LR的知识吧。下面这个网页的文章原来也是看过的,但发现没几天就忘记了,为了加深学习的印象,特把它翻译出来。/1lrscrpt.htm上是关于脚本编写的介绍.下面是第一部分,脚本的开发. $ do1Ut,j3)e14&F4XH$b)x6f_144971VuGen脚本文件的开发过程51Testing软件测试网#U$WnGO7MT Q 1。定义测试项目的目标,环境,脚本,测试数据,硬件等。脚本应该符合编码规范或编码习惯。 2。创建一个版本文件夹来保存被测应用程序相关的各种不同资源,例如截获的.png/.gif图形文件,录制过程保存的html文件,录制中的所有html源文件和VuGen的录制日志。 3。列出(在表里)每一个手动操作业务过程需要的实际步骤51Testing软件测试网$mQx3D)R0H 1)截取每一个屏幕图像(screen image )。51Testing软件测试网4Fc3wc!q.E 2)为每一个屏幕(screen)分配一个唯一的事务名称。 3)为处理的每一个步骤使用的技术组件(URL或者方法和函数)做注释。51Testing软件测试网4y)BUT1JnR 4。创建一个版本文件夹。51Testing软件测试网&6MC!O#|R51Testing软件测试网E*c7ei5y注:我不喜欢使用默认位置,我喜欢把所有脚本相关的文件放到一个相同的文件夹中。不幸的是,这意味着如果我在不同的测试间互相交换录制,那我每次都得记住修改默认的设置。$bgRx2QQ KE144971注:当录制一个新的脚本时,我喜欢选择多协议而不是单个协议。51Testing软件测试网Mi*i Q%t9p(W6ukHkBS/l1449715。根据你的业务处理列表上指定的用户使用步骤和screen的顺序来使用VuGen录制程序,产生一系列脚本代码。在“开始录制”对话框中 * 使用COM/DCOM 协议时,选择“Win32应用程序“y4d|m.m+Itf1449ys c t iAw#wD144971 * 使用Web(HTTP/HTML)时,选择“Internet Application“ 6。根据改进脚本方法和脚本语言规则来修改脚本。51Testing软件测试网.A5CD9?!-Y%g7Y#Z 改进脚本的方法: 1)为每一个GUI的screen添加事务语句来获得事务时间。51Testing软件测试网ua0E5m-E p5OahEX h%QHS144971 2)添加显示数据来帮助调试。Q)Vt)J+X/Y;U144971 3)添加验证点来验证是否期望的文本或者图片在每个脚本执行后显示。51Testing软件测试网|$o h_WQ I)d F+| rP0144971 4)通过插入新参数和动态获得整个文件的方式对硬编码的URL,用户id,用户密码和其他的变量数据进行参数化。这样脚本中的参数就可以被动态的替换,以此来模拟运行时不同数据的使用。51Testing软件测试网7F,Y2g7z/B+Es9Gr2M o_ fQ144971 5)添加重试逻辑(retry logic)来处理不可见的错误。51Testing软件测试网6Wc&bcSt(h Lh)eW.M%cr+x144971 6)添加随机函数发生器变化脚本来模拟真实的负载。zWvI5,JlM144971 7)添加if/else逻辑来检查结果,或者进行合适的操作,或者在合适的时候退出脚本。51Testing软件测试网w.L xXT+k oH Ws144971 8)在一个screen中添加语句来捕获需要在其他命令中使用的数据。当使用Microsoft .NET的web form技术的时候,需要避免习惯性的“脚本超时“错误。 R6F,|.wwN,g144971 9)添加语句来调用外部库函数,以便保存和检索在内存Virtual Table Server中的数据。 %u4i Ri2IY (_A144971 10)处理XML. QET!L9c-DKs144971 11)添加语句来模仿客户端的Javascrpt问题。 SV I+jVX8v;Bw0q)r144971 12)添加语句来管理超时。 13)从事务计时器中计算和减去无效的时间。51Testing软件测试网s)?!B)J)M9BD4uFr 14)输出日志。 15)添加集合点。51Testing软件测试网?5jq dM9#gqO!4k0e.RxOK144971 16)添加时间(Timing)。eE3oH14497151Testing软件测试网Bm!Y4sKost1脚本语言规则: 把cookie代码标注出来(因为脚本运行的时候他们被再次执行)。*&Dx+j73cl14497151Testing软件测试网1|gY,q8J(g7。通过在VuGen中运行来调试和调整脚本(单个用户),同时运行时设置的日志能够显示如下信息: 9H0q+iG*r,dL1449GW E,pQ_144971 辨别和解决脚本编辑错误。51Testing软件测试网P+q6h| s0W6M1L 决定timing. LT:nEKOX;Le1449A$a3B m%dt G1g4S144971 设置初始运行设置的场景。51Testing软件测试网Z wzEv69cl 8。在控制器中使用full test Runtime Settings来运行脚本。 脚本录制和产生:51Testing软件测试网;bDQ.a5_-Q9vu/wud#O*I lNR9k144971建立一个新脚本的第一步是选择一个单协议或多协议。51Testing软件测试网ctrO&S+$MSR.gA * 一些协议可能在多协议模式下不能用。 * 只有在多协议的GUI下你才能重新排列action 在使用Java协议之前,确保你在环境变量的路径下有JDK,否则你可能会遇到这个错误:51Testing软件测试网 v/xLkp_4C Error: Failed to find javac.exe Java Compiler in Path and JDK installation folder in registry. MsgId: MERR-2298151Testing软件测试网R0b X7Rd1n$rgF Error: Failed to get JRE version. Check that your PATH environment variable containsbin directory. MsgId: MERR-2298651Testing软件测试网Hw.Cy) C4L*i$zDk#v1RO7J7i144971当选择Java协议的时候: * 只有选择了“RMI Java”才能录制。51Testing软件测试网,F0c0ruX.W7m!j$wf*V4|IC)B144971 * 如果选择“Java user”,“开始录制”图标或菜单是灰色的。51Testing软件测试网8pZ-BnC&zZPjrxE144971当你打开一个新的脚本时,默认的脚本名称为“noname1”。下一个新的脚本名称为“noname2”,以此类推。 X_K 144971注:有顺序的录制多个动作(而不是录制一个动作,然后停止开始另一个动作)。这样能使你识别出在你脚本中需要关联的序列码(在例如PeopleSoft的程序中)。51Testing软件测试网 v$q+ Z*S.m6hm3t 注:每次修改脚本后,脚本都需要重新编译。 ylc,O:l h144971脚本文件的调用: wV6Mz|P.ki0a144971 VuGen是默认在你双击.usr后缀文件的时候被调用。 在这个文件里,Javascrpt被指定为“Type=General-Js”。 (D Q;NaLES7*C*d144971为了避免重新编译,我使用命令行的变量和值得组合这样的批处理文件来调用控制器。例如: Y6nLX W14497REM LoadRun from LoadRunner 8.0 default installation location:.ot-|7IJ144971SET LR80=C:Program FilesMercury InteractiveMercury LoadRunnerbin51Testing软件测试网kx6S.aQcd %LR80%51Testing软件测试网2lxRblj u-Pnwlrun.exe -TestRun c:TempScenario1.lrs-port 8080 脚本文件Action51Testing软件测试网.qP0Y!S7D3K%Zx 主机上的代理发送的到服务器的请求是由虚拟用户生成器创建的(VuGen.exe)action的回放实现的。51Testing软件测试网&lq rz m Fk4T6xibx4Ug144971 Loadrunner创建的脚本有三部分:51Testing软件测试网1L Ba6FH)L2I-n *vuser_init来初始化 Vuser。执行在这部分的虚拟用户的状态是Init51Testing软件测试网bZ Lo?+w J:D. C *Action用来重复多次迭代 执行到这部分的虚拟用户的状态是Runningazs2b5A0x144971#m7Xm:F/144971 *vuser_end退出虚拟用户。 执行到这部分的虚拟用户的状态是Exiting ,RD2fc/Xk144971如果你的脚本只需要执行一次,你仍然需要把这些脚本写到Action部分,因为在其他部分(vuser_init 和vuser_end)有些命令是不合法的或者会忽略掉。51Testing软件测试网t;oS$n;|d&J;e$ytW Q GQB!G#D144971VuGen允许脚本包含多个action。所以我为每一个screen创建一个新的action。u$nT2RS!aX;cfs14497fxd%S_7?(O144971注:如果你想使用不同的用户登录,就不要把登录操作放到vuser_init中,而是放到action部分。3v3F4LDx2u14497151Testing软件测试网 lO3C1g9cNF VuGen根据选择脚本协议的不同来添加不用的引用到“.h”头文件。 C的.h头文件 对于Web(HTTP/HTML)协议,51Testing软件测试网+O C7Mas 创建globals.h,包含内容: #ifndef _GLOBALS_H#define _GLOBALS_H/-/ Include Files#include lrun.h#include web_api.h#include lrw_custom_body.h/ recorded for web_custom_request functions./-/ Global Variables#endif / _GLOBALS_H,_Qg!Y144971对于COM/DCOM协议:略51Testing软件测试网g!U5tLpt1Sk;144971C脚本语言的格式: LoadRunner使用的没有进行微软扩展的ANSI C语法。任意最小的action代码块如下:ML&K8uN2H+Ik144971#include as_web.h / from LoadRunners include folder.Action1()/* comment block */ comment linereturn 0;51Testing软件测试网k$W3P-OqVr,C脚本编译/类库 当VuGen编译脚本时,产生一个pre_cci.ci文件,这个文件包含了所有action的代码和包含文件。这就是为什么会有语法错误“not writing pre_cci.ci”的原因。51Testing软件测试网2b-cN)p #E%a#Yb1!p144971控制器编译这些.ci文件为机器目标码。51Testing软件测试网KWZ,Y(zM)FG p gn144971VuGen在每一个脚本文件中自动创建一个lib文件夹,这个文件夹中包含了combined_lib.c文件。该文件包含了所有引用文件。 #include lrun.h 来定义UNIX或者Windows的函数。51Testing软件测试网bcY f2e#LZ #include globals.h LoadRunner的模版文件夹的其中一个。51Testing软件测试网XG*?2FpP0bSr;l P%B214497 #include vuser_init.c51Testing软件测试网2?&d!zF Z#z #include Action.c51Testing软件测试网 nsbU ru oJP/y K #include vuser_end.c51Testing软件测试网cf.Hzw+o3Jk(LLFke144971警告:当你使用类库中的函数却没有正确包含该类库的时候,你会收到一条错误信息: Error - Unresolved symbolE(Fk1IC|Gy144971C类库LoadRunner使用1994 GNU C Pre-Processoroptions和1995 LCC-win32 Retargetable C Compiler/Linkerfrom the Free Software Foundation via Chris Fraser of AT&T and Dave Hanson of Princeton.51Testing软件测试网C!Q-_/r D附加的函数定义在ANSI C library中。51Testing软件测试网#m5G!2c;hR Q S dc Gfh:Zoo-l144971外部的没有返回整型数的C函数需要在脚本的开头进行显式声明。例如,string函数中的 string tokenizer: T_d.tHq*g w144971extern char*strtok(char *token, const char *delimiter);A(k f4t)U J144971Java语法:略wLu0M!T14497151Testing软件测试网_9H4|9,先到这里,休息一下,下期接着翻译脚本相关知识loadrunner学习系列-脚本编写(2)8In,A AS iS%_144971 今天接着翻译/1lrscrpt.htm上面关于LR脚本编写部分.51Testing软件测试网58Np6XO vdt3Z7_:w,s/j144971VUser_Init部分 这里是Vuser_init部分的一些例子: 3l;f&Jk)ao)t H oEb14497151Testing软件测试网3e7l;1操作系统的User ID51Testing软件测试网4c.S*V2| 下面显示了使用advapi32.dll的GetUserNameA函数获得的操作系统的用户ID51Testing软件测试网JT$g1pcharsUserID1024; / Maximum possible UserID length.longlUserIDSize = sizeof(sUserID)-1;int rc;rc=lr_load_dll(advapi32.dll);if( rc != 0 )lr_error_message(lr_load_dll of advapi32.dll failed. Aborted for rc=%d,rc);lr_abort(); elseGetUserNameA(sUserID, &lUserIDSize);lr_message(UserID=%s, sUserID);所有的变量声明需要一块放到最上方。在vuser_init 部分创建的本地C变量(如 int或char)对其他部分的脚本是不可见的。所以使用lr_save_string函数来创建对所有脚本可用的全局参数。例子:char *itoa ( int value, char *str, int radix ); vuser_init() int x = 10;char buffer10;lr_save_string(itoa( x, buffer, 10) , pX ); lr_message ( int x = %s, lr_eval_string(pX ); return 0;运行时设置的附加属性(Additional Attribute)8.0版本引进了一个非常有价值的特性:在运行时设置中指定属性,这个属性可以对不同的虚拟用户组设置不同的值。下面的代码是从运行时设置的附加属性中读取名为“usertype”的参数。然后使用参数值来对应的设置全局的thinktime1变量。int thinktime1=0;51Testing软件测试网o5L2| CAF!0P#p2xUvuser_init()CJ2TOg/Gu5t144971LPCSTR strUsertype; / Define *str.51Testing软件测试网u.J 1g7peIstrUsertype =lr_get_attrib_string(usertype);x4T5kK*EK144971if (strUsertype=NULL)lr_output_message(# Run-time Settings Additional Attribute usertype not specified. Cannot continue.);51Testing软件测试网18M-y:U/YlXo$q4Clr_abort();else(zm#T!L4u#uA144971lr_message(# Run-time Settings Additional Attribute usertype=%s, strUsertype );4jN;k+Y+huXB#k2144971if( strcmp( strUsertype,advanced) = 0 ) thinktime1=2; 51Testing软件测试网N*eM(u*F2t1hElse 2E%C$FpH-ji144971if( strcmp( strUsertype,intermediate) = 0 ) thinktime1=4; TRo1P1Pv+grd144971else3L_x3B?Z;144971if( strcmp( strUsertype,basic) = 0 ) thinktime1=8; 51Testing软件测试网7-a|4Hh1EPelse51Testing软件测试网sOz/dD,vX&lr_error_message(# ERROR: Value not recognized. Aborting run. );51Testing软件测试网T|f1n;lr_abort();UG8y&voD)n-h#Y(B144971return 0;Time Structure Fix(不知道怎么翻译,呵呵,“时间结构的解决“?)根据知识库34195的文章,默认当前时间戳的毫秒部分不被更新,除非ftime使用的时间结构被重新定义:typedef long time_t; struct _timeb time_t time;unsigned short millitm;short timezone; short dstflag; ; struct _timeb t; _tzset(); 使用ftime设置变量 _ftime( &t ); lr_message( Plus milliseconds: %u, litm );控制信息的显示:在运行时,当脚本的事务失败后继续,你怎么知道哪个用户失败了?在每个失败的事务之后,发出一个能够唯一确定该用户的信息。Loadrunner提供了一些函数来在运行时显示信息: / 往输出日志上发送消息,这个消息前边会带有action 的名称和行数W*dMLSV)W7U#X144971lr_output_message(an output message);#VS d0et(U144971b:|*u2Dq)F*6O144971例子:51Testing软件测试网A5-zy$a!d,Z*MActions.c (4): an output message&l-Z$K-eq14497151Testing软件测试网mV9OF_ / 往输出日志和虚拟用户日志上发消息:51Testing软件测试网pcy|$y,g lr_message(* a message+r+A new line.);把);放到另一行,这样可以容易的在命令上添加或者删除代码项。51Testing软件测试网(zTQ3Fj.f|在UNIX/Linux机器上,使用 n来添加一个换行。51Testing软件测试网p6uY#yQ,Gd在Windows机器上,使用r来添加一个换行。)Ax5NW144971/ 往输出日志上发送不带action名称和行数的信息g9kSjxR7v#h144971lr_log_message(numbert+ numvar +t);51Testing软件测试网c.N2SJqd2.Yj4/sN7y3DUr;Qfe144971/ 只给控制器上的虚拟用户状态区域发送信息(当在VuGen中运行时,只是简单的显示):51Testing软件测试网AY%dJJE+rlr_vuser_status_message(a vuser status message);51Testing软件测试网o-EZA3|U/ 给LoadRunner控制器或者Tuning模块的控制台输出窗口显示一个红色高亮度显示的-17999 信息。51Testing软件测试网7y|z1cGH*IJlr_error_message(an error message);51Testing软件测试网$w2z&KIre$J#FcA#H$dL#_e5sB+G144971使用lr_error_message将会使日志信息堆栈在每个新的action开始时被自动清空。如果选择了当错误发生时才发送消息LoadRunner学习-脚本编写(4)(比较重要)51Testing软件测试网j6ObV 今天接着来翻译/中关于LoadRunner脚本编写部分,下面该翻译脚本编写中一些比较重要的部分了。51Testing软件测试网+ E gb!X3nu)EFhn)WjP144971Web用户Action(1v#LRS&EEq14497151Testing软件测试网/pc/h+5Fu 在VuGen中,脚本产生的默认模式是基于HTML的-“描述用户的动作的脚本”直接与用户的动作是对应的: *web_url是浏览器地址栏的URL. *web_link是点击在和之间的文本超链接。 *web_image是点击HTML的 Internet Procotol Recording”中选择“a scrpt containing explicit URLs only”,这将会产生URL-based的脚本录制,只使用web_url和web_submit_data函数,将不会使用 web_link和 web_image函数,或包含在 applets, XML, ActiveX或javascrpt中的非HTML元素。51Testing软件测试网-b4LClP6d#w3q5mhwW144971在进行下一页录制之前(如点击链接或者图标),暂停录制,把该页屏幕的标题拷贝下来粘贴到注释中。录制完成之后,这将会在后面的给事务命名上用到。Gy+RuoN144971 :J y;TH#p,h144971在每一个页面显示之后,暂停录制,把决定是否是期望页的文本拷贝下来,粘贴到注释中。录制完成之后,这将会用到文本验证检查点的脚本编写中。.o8k:Q 3Z144971 y.i*jiV5i144971 录制中产生的各种信息都保存在RecordingLog.txt文件中,删除它不会对脚本的回放产生影响。51Testing软件测试网2Nt.yF9Yo4B,#DU.Cm144971额外录制的Action脚本51Testing软件测试网Gp*zn1e8cR|j T$c!z,Z144971 录制脚本的时候,当浏览器没有安装SSL根证书的时候,会捕获的下面这些代码行。这个信息意思是“这个证书不能被信任证书验证”。51Testing软件测试网 !B4Iy4i.bf0o0j3F4K/S,jiK144971 web_url(authrootseq.txt,51Testing软件测试网v*MsR+Mi3gURL=/msdownload/update/v3/static/trustedr/en/authrootseq.txt,%Df:a.m N.d144971Resource=1,51Testing软件测试网 C.Y TrmRecContentType=text/plain,PW%/JoN144971Referer=,L4l9f0X rNm144971LAST);i1Pe upO8H14497151Testing软件测试网lrae3?zI!Eu%web_url(authrootstl.cab, URL=/msdownload/update/v3/static/trustedr/en/authrootstl.cab,51Testing软件测试网 ,W t,S#KResource=1,)KBm7yX.yz144971RecContentType=application/octet-stream,yL Jx jj144971Referer=,0N*Kmq%o;)NR144971LAST);录制脚本的时候,但浏览器遇到Macromedia flash组件的时候,会产生下面的代码行:web_url(version_en_win_ax.xml, URL=/pub/flashplayer/update/current/xml/version_en_win_ax.xml,51Testing软件测试网e;GN&mSpResource=0,51Testing软件测试网 H&pUu6b0V.eA$W?RecContentType=text/html,51Testing软件测试网(MG v1_1Q OBReferer=,51Testing软件测试网(lRF1_9Snapshot=t8.inf,51Testing软件测试网iwl&A0XMode=HTML,51Testing软件测试网xVHut5JLILAST); 如果你安装有Google Toolbar,即使你没有访问Google,也会录制上发到Google的请求。脚本语言规则:在LoadRunner中,大小写是敏感的,甚至在被检验的值中。所以上面的脚本会因为大写字母的原因,不会识别“Welcome”的。所以Steve Cheney 建议使用“ic”忽略大小写的文字标志:web_reg_find(Text/ic=Welcome,LAST);括号里的参数包含了LAST是为了指定最后的一个参数。这样做是很方便的,因为上面的例子漏掉了一个指定期望是“found”还是“notfound”的属性。默认是“found”,所有我经常忽略它。 另一个文本标志是“/BIN”用来指定是二进制的字符集。例如,查找“Adams”:web_reg_find(Text/BIN=x00Ax00dx00ax00mx00s,LAST);注意两个反斜杠,一个是转义字符,代表是使用了一个符号。如果错误的只使用一个反斜杠,LR会认为它是一个空的终止。 下面的例子脚本是在UTF8服务器上支持获得underquoted为UTF-16编码。因为LoadRunner中,UTF16编码的“Red”用ASCII是 Rx00ex00dx00 这样的,所以需要把它保存到buffer中。lr_eval_string_ext(newquoteuid_temp,j-m0fPr/y 144971strlen(newquoteuid_temp) + 2,)Q8T f%_v144971&Buf, &BufLen, 0, 0, -1);对字符数组变量NewBuf使用lr_save_var函数来去掉额外的填充(x00):for (i=0; i if (Bufi!=0) NewBufNewBufLen+=Bufi;kB&F64Rp Q5s144971lr_save_var(NewBuf, NewBufLen-1, 0, newquoteuid);注:lr_save_var 需要四个参数(不需要使用LAST)1.param_value 参数值2 value_len 参数的长度。3 options 参数的选项,一般为04。param_name 参数名称LoadRunner 7.8不支持正则表达式,但是有他自己的通配符:为了使任何0-9 的数字在指定的数字位置,使用/DIG做标志:web_reg_save_param(pSer,LB/DIG=Serial XXX-#-ZZZZ,RB=rn, LAST );有三种使用做通配符的方法:* 忽略大小写,并且允许在指定的字符位置使用任意字符:web_reg_find(Text/ALNUMIC=ercury, LAST);* 允许任何小写字符a-z 在指定位置:web_reg_find(Text/ALNUMLC=ercury, LAST);* 允许任何大写字符A-Z在指定的字符位置:web_reg_find(Text/ALNUMUC=ercury, LAST);把一个字符串变成大写:strupr()错误信息:请添加一些其他的错误信息来帮助其他人:Could not resolve address of host . MsgId: MERR-27798如果网络不能用或者域没有注册的话,显示一个404的DNS错误51Testing软件测试网!H6i(o E4t Z7K5rJs14497151Testing软件测试网nQ-m c|q;F Contents unexpectedly not in cache. MsgId: MERR-2654951Testing软件测试网UJ,t6EuMC+N!x 当一个文件为空时会显示该错误。在空文件中添加空格来满足LoadRunner的错误检查。BTW,因为当创建的iframe没有文件时,IE会产生一个错误,这样就指定了一个空文件。51Testing软件测试网M(l4J+O W;xF l%Q3g1KM144971事务时间脚本编写:!nAgXh/f14497151Testing软件测试网Xn$*lC3f 我更喜欢给一个action命名事务,而不是一个结果页面。-d.V(V o E&?144971 lr_start_transaction(00.1 Invoke URL);51Testing软件测试网9 G!L0o8v*J.,x:a.jJ | u144971lr_end_transaction(00.1 Invoke URL,LR_AUTO);51Testing软件测试网)|.D!R FcF+p/|.51Testing软件测试网*v ua s9hp+Nlr_start_transaction(01.2 Top menu);$pvoj2I&t+J144971._1r9G#?0U144971lr_end_transaction(01.2 Top menu,LR_AUTO);ccWBN o144971W N8i#v:xFI#n144971lr_start_transaction(02.0 Updating); 51Testing软件测试网a w2M |lr_start_sub_transaction(02.1 Update menu,02.0 Updating);51Testing软件测试网u/duv0Y%k gcY4M)oweb_url( .51Testing软件测试网8P U)k)X/j2g rMlr_end_sub_transaction(02.1 Update menu,LR_AUTO);*bdH;iDVO144971lr_start_sub_transaction(02.2 Update submit,02.0 Updating);$B?Zzx55c144971web_submit_form( .51Testing软件测试网TbuU*gX+Plr_end_sub_transaction(02.2 Update submit,LR_AUTO);51Testing软件测试网cJ+ND9Rlr_start_sub_transaction(02.3 Update OK,02.0 Updating);51Testing软件测试网d4uOKR.z NyLfweb_url( .51Testing软件测试网3j.QmIMlr_end_sub_transaction(02.3 Update OK,LR_AUTO);mG%b6hiX144971lr_end_transaction(02.0 Updating,LR_AUTO);51Testing软件测试网w%d I$NX1_C 我喜欢在一个层次结构中使用0填充的事务名称,这样来确保控制器能够正确的给事务排序。51Testing软件测试网GTF(UQ&X4c6L我对不同类型的action上的事务名称上加不同的关键字 ContactLink= Click Contact link on Menu ContactIcon= Click Contact Icon Regis.Sub= Page Submit OK= Pop-up dismiss with OK 事务名可以是变量,但是它只能被VuGen作为字符串来编译,不能在控制器的接口中显示。无论如何,他们会显示在分析结果文件中。 对于web脚本,LR自动创建和决定事务的的持续时间,但是C语言脚本可以使用这些函数:51Testing软件测试网v/havPe2i:qLX+H144971 使用lr_start_transaction_instance函数来显式获得指定事务实例的句柄,事务名称在函数lr_user_data_point_instance或lr_user_data_point_instance_ex中使用。 使用lr_start_sub_transaction在一个事务中来操作思考时间和消耗的时间。:R#c5mX(J7E7Dg GN144978|h wP,t2j8otl144971 好了,脚本编写部分基本已经翻译了一半了,该睡觉了,下面会接着翻译检查点,操作字符串,从流中获得数据,参数化,如何使用文件,关联,集合点等,内容还是很多的。哈哈LoadRunner脚本编写(5)- 检查点,关联等函数本文接着前面脚本编写4/?34866/action_viewspace_itemid_70224.html来继续翻译wilsonmar的文章。其中在翻译过程中,都以zibeike注的方式添加了自己对相关知识点的一些经验和理解。转载请注明作者zibeike和出处,谢谢。51Testing软件测试网 l6Y$V:%a$b1错误预防和恢复p_+cF i144971 参数默认是用括起来的,但也可以指定用6A8pA3Gb144971 NTLM或用户登录验证51Testing软件测试网$Yp3V.n2m2dweb_set_user(XY, Z, A.com:80);51Testing软件测试网dGmeB1R t在域与X上的用户名为Y的用户,使用密码Z来登录到A.com:80。在windows基本验证的时候这个脚本被默认录制下来,但如果web服务器需要更安全的NTLM或更深层次的验证,需要手动的添加这个函数到脚本中。对于NTML验证,用户名必须在域名之后,并且以分割。使用等符号,需要使用,前面的用来做转义用,否则会出现警告提示。YFE.ZJ sYw144971 zibeike注:在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广东省深圳市南山区深圳湾学校中考数学三模试卷(含答案)
- 南阳招教试题及答案
- 计算机软考试题及答案
- 儿童喜欢的题目及答案
- 批复安全培训中心课件
- 医院医保工作管理工作计划
- 2025年杭州物理高考试卷及答案
- 2025年医院行政干事考试题及答案
- 2025年语文诗词考试题型及答案
- 2025年北京二建考试试题及答案
- 科技创新领军人才申请表
- 云南省食品经营许可申请表
- 高中物理进阶学习资料-第3章 刚体力学基础(大学物理版)
- 冠脉微循环障碍课件
- 校园管制刀具排查记录表
- 折弯机保养记录表
- 财务管理学及财务知识分析笔记串讲
- 07FK02防空地下室通风设备安装PDF高清图集
- 项目费用申请表
- 价值观大拍卖-优质课件PPT
- 新《长庆油田石油与天然气钻井井控实施细则》
评论
0/150
提交评论