教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 资格考试 >

Loadrunner系统知识(非常好)(4)

来源:网络收集 时间:2026-08-26
导读: web_url(\ \dr/en/authrootstl.cab\ \ \ \ LAST); 录制脚本的时候,但浏览器遇到Macromedia flash组件的时候,会产生下面的代码行: web_url(\ \/version_en_win_ax.xml\ \ \ \ \ \ LAST); 如果你安装有Google Tool

web_url(\

\dr/en/authrootstl.cab\ \

\ \ LAST);

录制脚本的时候,但浏览器遇到Macromedia flash组件的时候,会产生下面的代码行:

web_url(\

\/version_en_win_ax.xml\ \

\ \

\ \ LAST);

如果你安装有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(\LAST);

注意两个反斜杠,一个是转义字符,代表是使用了一个符号。如果错误的只使用一个反斜杠,LR会认为它是一个空的终止。

下面的例子脚本是在UTF8服务器上支持获得newquoteuid为UTF-16编码。因为LoadRunner中,UTF16编码的“Red”用ASCII是 R\\x00e\\x00d\\x00 这样的,所以需要把它保存到buffer中。

lr_eval_string_ext(\ strlen(\ &Buf, &BufLen, 0, 0, -1);

对字符数组变量NewBuf使用lr_save_var函数来去掉额外的填充(x00): for (i=0; i if (Buf[i]!=0) NewBuf[NewBufLen++]=Buf[i]; lr_save_var(NewBuf, NewBufLen-1, 0, \ 注:lr_save_var 需要四个参数(不需要使用LAST) 1.param_value 参数值

16

2 value_len 参数的长度。

3 options 参数的选项,一般为0 4。param_name 参数名称

LoadRunner 7.8不支持正则表达式,但是有他自己的通配符: 为了使任何[0-9] 的数字在指定的数字位置,使用/DIG做标志:

web_reg_save_param(\/DIG=Serial XXX-###-ZZZZ\ 有三种使用^做通配符的方法:

* 忽略大小写,并且允许在指定的字符位置使用任意字符: web_reg_find(\IC=^ercury\ * 允许任何小写字符[a-z] 在指定位置:

web_reg_find(\LC=^ercury\ * 允许任何大写字符[A-Z]在指定的字符位置:

web_reg_find(\UC=^ercury\ 把一个字符串变成大写:strupr() 错误信息:

请添加一些其他的错误信息来帮助其他人:

Could not resolve address of host ... [MsgId: MERR-27798] 如果网络不能用或者域没有注册的话,显示一个404的DNS错误 Contents unexpectedly not in cache. [MsgId: MERR-26549] 当一个文件为空时会显示该错误。在空文件中添加空格来满足LoadRunner的错误检查。BTW,因为当创建的iframe没有文件时,IE会产生一个错误,这样就指定了一个空文件。 事务时间脚本编写:

我更喜欢给一个action命名事务,而不是一个结果页面。

lr_start_transaction(\ ...

lr_end_transaction(\ ...

lr_start_transaction(\ ...

lr_end_transaction(\

lr_start_transaction(\

lr_start_sub_transaction(\ web_url( ...

lr_end_sub_transaction(\

17

lr_start_sub_transaction(\ web_submit_form( ...

lr_end_sub_transaction(\ lr_start_sub_transaction(\ web_url( ...

lr_end_sub_transaction(\

lr_end_transaction(\

我喜欢在一个层次结构中使用0填充的事务名称,这样来确保控制器能够正确的给事务排序。

我对不同类型的action上的事务名称上加不同的关键字 Contact Link = Click \ ? Contact Icon = Click \ ? Regis. Sub = Page Submit ? OK = Pop-up dismiss with OK

?

事务名可以是变量,但是它只能被VuGen作为字符串来编译,不能在控制器的接口中显示。无论如何,他们会显示在分析结果文件中。

对于web脚本,LR自动创建和决定事务的的持续时间,但是C语言脚本可以使用这些函数:

使用lr_start_transaction_instance函数来显式获得指定事务实例的句柄,事务名称在函数lr_user_data_point_instance或lr_user_data_point_instance_ex中使用。

使用 lr_start_sub_transaction在一个事务中来操作思考时间和消耗的时间。

LoadRunner关联通用函数的学习

Loadrunner脚本中进行关联的时候,用到了一些函数,作用是把字符串保存到参数中,并且在需要的时候检索出来.C Vusers中用到的函数有: lr_eval_string 所有出现参数的地方用它的当前值来代替.

lr_save_string 把null-terminated字符串保存到参数中.其

中,null-terminated的意思,我从网上查了下是:\以空字符为结束标志的字符 串\也就是以\结束的字符串,其中的0是ASCII码的0,是不能用显示字符表示出来的,只有用转义字符表示了.

18

lr_save_var 把变长字符串保存到参数中. 下面再来看下每个函数的具体解释(参考帮助): lr_eval_string: C Language

char * lr_eval_string (const char * instring ); 返回内嵌参数赋值后的字符串。 instring: 需要赋值的字符串。

lr_eval_string函数返回任何内嵌参数赋值后的输入字符串。如果字符串变量只包含一个参数,函数返回参数的当前值。 内嵌参数必须在括号中。

注:lr_eval_string是内部地分配内存。在每一次迭代之后会释放。如果你在循环中给参数赋值,不要使用lr_eval_string保存内存。你需要使用lr_eval_string_ext,并且在每个循环迭代中使用lr_eval_string_ext_free释放内存。

这里我再补充一下:lr_eval_string_ext 在关联的数据是二进制数据,例如,数据包含嵌入的NULL字符时是非常有用的。

例子:下面的例子使用lr_eval_string来代替参数row_cnt的当前值。使用lr_output_message把这个值输出到输出窗口。

lrd_stmt(Csr1, \/*Ora V7*/, 0);

lrd_bind_col(Csr1, 1, &COUNT_D1, 0, 0); lrd_exec(Csr1, 0, 0, 0, 0, 0);

lrd_save_col(Csr1, 1, 1, 0, \lrd_fetch(Csr1, 1, 1, 0, PrintRow2, 0); lr_output_message(\,

lr_eval_string(\lr_save_string:

19

C Language

int lr_save_string (const char *param_value, const char *param_name); param_value:给参数赋值的值,参数值 param_name:参数名称

lr_save_string函数把指定的以空结束的字符串赋值给参数。这个函数在关联查询的时候非常有用。需要使用lr_eval_string来确定参数的值。 例子:

在下面的例子中,lr_save_string给参数emp_id赋值为777。然后这个参数被用在另一个查询中。

lrd_stmt(Csr1, \lrd_bind_col(Csr1,1,&ID_D1,...); lrd_exec(Csr1, ...); lrd_fetch(Csr1, 1, ...);

ID_D1 0 777 lr_save_string(\

lrd_stmt(Csr1,\lrd_exec(Csr1, 0, 0, 0, 0, 0); lr_save_var C Language

int lr_save_var (const char * param_value, unsigned long const value_len, unsigned long const options, const char …… 此处隐藏:2302字,全部文档内容请下载后查看。喜欢就下载吧 ……

Loadrunner系统知识(非常好)(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/413535.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)