LR脚本技巧
参数化空值
如上图所示,当参数化时某个值需要为空值(非空格),直接在参数化文件中空一行/格即可,虽然Parameter List界面上没有显示空的那一行,但并不影响取值。
手工日志跟踪
lr_set_debug_message(|,); web_submit_data("upload_8",
"Action=http://weblink-test.huawei.com/video/upload?method=Complete",
"Method=POST",
"RecContentType=text/html",
"Referer=http://weblink-test.huawei.com/video/video/videoColligation.do?method=uploadVideo",
"Mode=HTTP",
ITEMDATA,
"Name=fileUid", "Value={param_correnlation_fileUid}", ENDITEM,
...
LAST); lr_set_debug_message(|,);
LR中参数数组
参数数组的使用方法参考如下代码片段:
web_reg_save_param_ex(
"ParamName=param_correlation_shippingMark",
"LB=input readonly=\"readonly\" value=\"",
"RB=\"",
"Ordinal=All",
SEARCH_FILTERS,
"Scope=BODY",
LAST); lr_start_transaction("GTM_ExpDecMaking_Edit"); web_submit_data("cntradeCustoms.do",
"Action=http://nkperf.huawei.com/ces/gtm/expcc/cntradeCustoms.do",
"Method=POST",
"RecContentType=text/html",
"Referer=http://nkperf.huawei.com/ces/gtm/expcc/cntradeCustoms.do?method=toDraftQuery&catalogId=11182",
"Snapshot=t7.inf",
"Mode=HTML",
ITEMDATA,
"Name=org.apache.struts.taglib.html.TOKEN", "Value={prama_correlation_token}", ENDITEM,
"Name=method", "Value=toEditCustoms", ENDITEM,
...
EXTRARES,
"URL=http://app.huawei.com/commonresource/newstyle/en/images/loading.gif", ENDITEM,
LAST); lr_end_transaction("GTM_ExpDecMaking_Edit", LR_AUTO); //--------------------------------------------------------------------------------
nshippingMark = lr_paramarr_len("param_correlation_shippingMark");
//lr_paramarr_len:取param_correlation_shippingMark关联变量数组的元素个数 while(nshippingMark > ) //把关联到的参数数组的每一个元素的值连起来
{
i = i + ; //i的初值为0
strcat(szshippingMark," " ); //用一个空格进行连接
strcat(szshippingMark,lr_paramarr_idx("param_correlation_shippingMark", i));
//lr_paramarr_idx:从关联变量数组中取出指定元素的值
nshippingMark = nshippingMark - ; } lr_save_string(szshippingMark,"shippingMark_param");
lr_convert_string_encoding(lr_eval_string("{shippingMark_param}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"shippingMark_param"); web_convert_param("shippingMark_param", "SourceEncoding=PLAIN",
"TargetEncoding=URL", LAST ); //转成URL码时,空格会转成加号:+ szshippingMark_P = ReplaceStr(lr_eval_string("{shippingMark_param}"),"+","&="); //将空格替换成:&= lr_save_string(szshippingMark_P,"shippingMark_param");
//------------------------------------------------------------------------------------
LR脚本技巧的更多相关文章
- java实现将指定文件夹里所有文件路径输出到指定文件作为参数化文件给lr脚本使用
java实现将指定文件夹里所有文件路径输出到指定文件作为参数化文件给lr脚本使用 import java.io.BufferedReader; import java.io.BufferedWrite ...
- 易捷支付完整业务流程的lr脚本编写
业务流程:1.注册2.登录3.重置支付密码4.下订单5.支付订单6.查看订单列表 通用md5.h代码如下: #ifndef MD5_H #define MD5_H #ifdef __alpha typ ...
- LR脚本用户自定义C语言函数
LR脚本实战:用户自定义C语言函数 Loadrunner可以使用标准C语言的函数,因此我们可以在脚本中编写自己的函数用于调用,把脚本结构化,更好的进行重用. 先看一个例子: Action() { in ...
- LR脚本录制方式说明
1.LR脚本录制方式说明1)HTML-based script基于HTML的脚本从内存中读取并下载资源,较少的关联处理,可以加入图片检查,回放时需要解析返回的信息a-基于用户行为的方式 web_lin ...
- 自动生成LR脚本且运行
背景:作为一个测试,特别是性能测试,尤其在活动的测试,时间紧,有很多要测的,我们的LR11因为浏览器兼容问题全录制不了脚本了,用浏览器加代理或手机加代理录制,我感觉好麻烦 ,所以就想如果能用脚本把所有 ...
- Fatal Error -26000: Not enough memory (12320 bytes) for “new buffer in LrwSrvNetTaskIt 问题解决及lr脚本心得
Fatal Error -26000: Not enough memory (12320 bytes) for “new buffer in LrwSrvNetTaskIt 问题解决及lr脚本心得 2 ...
- LR脚本编写时的几个小技巧
参数化空值 如上图所示,当参数化时某个值需要为空值(非空格),直接在参数化文件中空一行/格即可,虽然Parameter List界面上没有显示空的那一行,但并不影响取值. 手工日志跟踪 lr_set_ ...
- 彻底抛弃脚本录制,LR脚本之使用web_custom_request函数自定义
原文 http://www.cnblogs.com/Bonnie83/p/3525200.html 初学性能测试时候,第一步必学脚本录制,但一路下来各种录制失败.回放脚本失败的问题层出不穷,究其原因 ...
- 彻底抛弃脚本录制,LR脚本之使用web_custom_request函数自定义http请求
初学性能测试时候,第一步必学脚本录制,但一路下来各种录制失败.回放脚本失败的问题层出不穷,究其原因一是LR本身存在对测试环境的兼容性问题导致录制失败,更深层次的原因是录制者不清楚LR录制脚本的原理,或 ...
随机推荐
- oracle 10g 学习之oracle管理(3)
怎样将预先写好的sql脚本执行? select * from employees;→107条记录 利用 Oracle 企业管理器连接数据库服务器 点击打开以下界面: 此时已经连接成功了 用 Oracl ...
- GRE学习日志
发现开博客园真的很有督促作用,今天也顺便开个GRE学习日志吧 2015-02-09:单词 2015-02-10:单词 2015-02-11:单词 2015-03-02:阅读 2015-03-04:阅读 ...
- cJSON: 一个用c写的一个简单好用的JSON解析器
转自:http://blog.csdn.net/chenzhongjing/article/details/9188347 下载地址: http://sourceforge.net/projects/ ...
- loj 1407(2-sat + 枚举 + 输出一组可行解 )
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=27115 思路:有一个trick要注意:当情况为 2 x y 时,可 ...
- 使用SQL Server维护计划实现数据库定时自动备份
在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库.而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员每天守到晚上1点去备份数据库.要实现数据库的定 ...
- Struts2拦截器原理以及实例
一.Struts2拦截器定义 1. Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截器是可插拔的,拦截器是AOP的一种实现. 2. ...
- Android Studio 1.0首次安装遇到的问题,无法下载SDK
相信,在安装Android Studio的过程中会遇到很多问题,特别是第一次启动下载不了sdk.郁闷了吧. 可以去官网下载,也可以点击这里下载Android Studio和sdk. 一.不下载SDK启 ...
- [hive小技巧]使用limit查询变成抽样,而不是全盘扫描
将set hive.limit.optimize.enable=true 时,limit限制数据时就不会全盘扫,而是根据限制的数量进行抽样. 同时还有两个配置项需要注意: 1.hive.limit.r ...
- Spotlight实时监控Windows Server 2008
Windows Server 2008作为服务器平台已逐渐被推广和应用,丰富的功能和良好的稳定性为其赢得了不错的口碑.但是和Windows Server 2003相比,其系统的自我监控功能并没有多大的 ...
- js:语言精髓笔记6----作用域
js基础语法:由语句.表达式和变量构成: 语句是主要表达方式:单语句->复合语句(代码块)->程序片段(函数):js中没有单元和程序的概念: 作用域: 语法作用域与变量作用域的区别:前 ...