Loadrunner系统知识(非常好)(4)
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字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [资格考试]机械振动与噪声学部分答案
- [资格考试]空调工程课后思考题部分整合版
- [资格考试]电信登高模拟试题
- [资格考试]2018年上海市徐汇区中考物理二模试卷(
- [资格考试]坐标转换及方里网的相关问题(椭球体、
- [资格考试]语文教研组活动记录表
- [资格考试]广东省2006年高应变考试试题
- [资格考试]LTE学习总结—后台操作-数据配置步骤很
- [资格考试]北京市医疗美容主诊医师和外籍整形外科
- [资格考试]中学生广播稿400字3篇
- [资格考试]CL800双模站点CDMA主分集RSSI差异过大
- [资格考试]泵与泵站考试复习题
- [资格考试]4个万能和弦搞定尤克里里即兴弹唱(入
- [资格考试]咽喉与经络的关系
- [资格考试]《云南省国家通用语言文字条例》学习心
- [资格考试]标准化第三范式
- [资格考试]GB-50016-2014-建筑设计防火规范2018修
- [资格考试]五年级上册品社复习资料(第二单元)
- [资格考试]2.对XX公司领导班子和班子成员意见建议
- [资格考试]关于市区违法建设情况的调研报告
- 二0一五年下半年经营管理目标考核方案
- 2014年春八年级英语下第三次月考
- 北师大版语文二年级上册第十五单元《松
- 2016国网江苏省电力公司招聘高校毕业生
- 多渠道促家长督导家长共育和谐 - 图文
- 2018 - 2019学年高中数学第2章圆锥曲线
- 竞争比合作更重要( - 辩论准备稿)课
- “案例积淀式”校本研训的实践与探索
- 新闻必须客观vs新闻不必客观一辩稿
- 福师大作业 比较视野下的外国文学
- 新编大学英语第二册1-7单元课文翻译及
- 年产13万吨天然气蛋白项目可行性研究报
- 河南省洛阳市2018届高三第二次统一考试
- 地下车库建筑设计探讨
- 南京大学应用学科教授研究方向汇编
- 2018年八年级物理全册 第6章 第4节 来
- 毕业论文-浅析余华小说的悲悯性 - 以《
- 2019年整理乡镇城乡环境综合治理工作总
- 广西民族大学留学生招生简章越南语版本
- 故宫旧称紫禁城简介




