loadrunner学习系列---脚本编写(2).docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
今天接着翻译上面关于LR脚本编写部分. VUser_Init部分 这里是Vuser_init部分的一些例子: 的User ID 下面显示了使用advapi32.dll的GetUserNameA函数获得的操作系统的用户ID char sUserID[1024]; // Maximum possible UserID length. long lUserIDSize = 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(); }else{ GetUserNameA(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 buffer[10]; 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; vuser_init() { LPCSTR strUsertype; // Define *str. strUsertype = lr_get_attrib_string(usertype); if (strUsertype==NULL){ lr_output_message(### Run-time Settings Additional Attribute usertype not specified. Cannot continue.); lr_abort(); }else{ lr_message(### Run-time Settings Additional Attribute usertype=\%s\, strUsertype ); if( strcmp( strUsertype,advanced) == 0 ){ thinktime1=2; } else if( strcmp( strUsertype,intermediate) == 0 ){ thinktime1=4; } else if( strcmp( strUsertype,basic) == 0 ){ thinktime1=8; } else{ lr_error_message(### ERROR: Value not recognized. Aborting run. ); lr_abort(); } } return 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, t.millitm ); 控制信息的显示: 在运行时,当脚本的事务失败后继续,你怎么知道哪个用户失败了? 在每个失败的事务之后,发出一个能够唯一确定该用户的信息。 提供了一些函数来在运行时显示信息: ? //

文档评论(0)

hhh1 + 关注
实名认证
文档贡献者

没有什么可以说的

1亿VIP精品文档

相关文档