loadrunner脚本中参数化和返回值输出log到外部文件
loadrunner脚本中参数化和返回值输出log到外部文件
很多时候,我们在做性能测试之前,需要造数据,但是使用的这些参数化数据和生成的返回数据在后面的测试都会用的,所以我们需要在造数据过程中,将参数化的数据和生成的返回数据保存起来,以便后续测试中使用!下面就以webservice协议的脚本为例,介绍下如何来实现所需的功能!
int id,scid;
char *group;
//定义文件保存位置
char *filename = "E:\\data\\test.log";
long file_stream;
Action()
{
web_service_call( "StepName=crmOpenAcc_101",
"SOAPMethod=LenderFsoServerImplService|LenderFsoServerImplPort|crmOpenAcc",
"ResponseParam=response",
"Service=LenderFsoServerImplService",
"ExpectedResponse=SoapResult",
"Snapshot=t1438929987.inf",
BEGIN_ARGUMENTS,
"xml:crmOpenAccReqData="
"<crmOpenAccReqData>"
"<birthday>1988/09/03</birthday>"
"<certificateNo>{certificateNo}</certificateNo>"
"<certificateType>01</certificateType>"
"<city>未填写</city>"
"<county>未填写</county>"
"<crmName>adminMGMT</crmName>"
"<customerType>0</customerType>"
"<ecpMobile>15030502101</ecpMobile>"
"<email>12345@qq.com</email>"
"<emergContactPerson>紧急联系人</emergContactPerson>"
"<fsoId>12345678901234567890123456789012</fsoId>"
"<gender>1</gender>"
"<isPaperBill>0</isPaperBill>"
"<jurisdictionCity>未填写</jurisdictionCity>"
"<jurisdictionProvince>未填写</jurisdictionProvince>"
"<mobile>{mobile}</mobile>"
"<orgBizDeptId>ff8080814d744d17014e7222cff33307</orgBizDeptId>"
"<orgTeamId>ff8080814d744d17014e72243fc1330a</orgTeamId>"
"<ownerId>ff8080814d744d17014e722afbbf330f</ownerId>"
"<postAddress>未填写</postAddress>"
"<province>未填写</province>"
"<signInfo>0</signInfo>"
"<systemSourceId>MGMT</systemSourceId>"
"<tel>01083383383</tel>"
"<userFrom>pc</userFrom>"
"<userName>testcc</userName>"
"</crmOpenAccReqData>",
END_ARGUMENTS,
BEGIN_RESULT,
"return/retCode=Param_retCode",
"return/retInfo=Param_retInfo",
"return/customerId=Param_customerId",
END_RESULT,
LAST);
......略
//在回放日志中打印参数
lr_output_message("The Param_customerId's value is %s",lr_eval_string("{Param_customerId}"));
lr_output_message("The certificateNo's value is %s",lr_eval_string("{certificateNo}"));
lr_output_message("The certificateNo's value is %s",lr_eval_string("{mobile}"));
if ((file_stream = fopen(filename,"a+")) == NULL)
{
lr_error_message("Cannot open %s", filename);
return -1;
}
lr_whoami (&id,&group,&scid);
//获取当前时间
lr_save_datetime("%H:%M:%S",DATE_NOW + TIME_NOW,"times");
if (id > 0)
{
//保存需要的参数
fprintf(file_stream," %s %s %s\n",lr_eval_string("{Param_customerId}"), lr_eval_string("{certificateNo}"),lr_eval_string("{mobile}"));
}
fclose(file_stream);
return 0;
}
loadrunner脚本中参数化和返回值输出log到外部文件的更多相关文章
- loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式
loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式 分类: 心得 loadrunner 我的测试 2012-04-01 12:52 2340人阅读 评论(0) 收藏 举报 脚本l ...
- loadrunner 脚本优化-参数化之Parameter List参数同行取值
脚本优化-参数化之Parameter List参数同行取值 by:授客 QQ:1033553122 select next row 记录选择方式 Same line as,这个选项只有当参数多余一个时 ...
- loadrunner 脚本开发-参数化之将内容保存为参数、参数数组及参数值获取
转自:http://blog.sina.com.cn/s/blog_13cc013b50102v49c.html(查看原文) 在VuGen中默认使用{}的字符串称为参数 注意:参数必须在双引号中才能用 ...
- 转:如何在 LoadRunner 脚本中做关联 (Correlation)
如何在 LoadRunner 脚本中做关联 (Correlation) 当录制脚本时,VuGen会拦截client端(浏览器)与server端(网站服务器)之间的对话,并且通通记录下来,产生脚本.在V ...
- C++中函数的返回值
原文 [ 函数的返回值用于初始化在调用函数处创建的临时对象.在求解表达式时,如果需要一个地方储存其运算结果,编译器会创建一个没有命名的对象,这就是 临时对象.temporary object ] -- ...
- MVC中常用的返回值方法
我们上边所看到的Action都是return View();我们可以看作这个返回值用于解析一个aspx文件.而它的返回类型是ActionResult如 public ActionResult Inde ...
- javascript中的函数返回值(return)
有些情况,我们希望获取到函数的执行结果,也就是我们需要在函数以外的地方处理执行结果,而不是在函数内部处理.这时我们就需要为函数设一个返回值,也就是return,即函数执行完毕以后返回的结果. 若在函数 ...
- MyBatis中Mapper的返回值类型
insert.update.delete语句的返回值类型 对数据库执行修改操作时,数据库会返回受影响的行数. 在MyBatis(使用版本3.4.6,早期版本不支持)中insert.update.del ...
- ResultMap和ResultType在使用中的区别、MyBatis中Mapper的返回值类型
在使用mybatis进行数据库连接操作时对于SQL语句返回结果的处理通常有两种方式,一种就是resultType另一种就是resultMap,下面说下我对这两者的认识和理解 resultType:当使 ...
随机推荐
- Liunx一些命令
1.设置管理员的密码:sudo passwd root2.获取管理员权限su root3.查看IP地址sudo ifconfig -a4.创建一个文件sudo touch test.txt5.创建一个 ...
- c# 圆上坐标点
var x=-33204.0924438; //圆心x var y=-9512.41208658; //圆心y var r=1000;//半径 var angle=30;//角度 var tmpX ...
- Shellinabox安装及使用教程
本文转载自: shellinabox:一款使用 AJAX 的基于 Web 的终端模拟器 一.shellinabox简介 通常情况下,我们在访问任何远程服务器时,会使用常见的通信工具如OpenSSH和P ...
- WebService发布与调用问题:expected: {http://schemas.xmlsoap.org/soap/envelope/}Envelope but found: {http://schemas.xmlsoap.org/wsdl/}definitions
Mailbox===AsYVzdwoY_b6uD s>>>>>>>javax.xml.ws.Service@103bf65 hs>>>> ...
- Android LinkedList和ArrayList的区别
LinkedeList和ArrayList都实现了List接口,但是它们的工作原理却不一样.它们之间最主要的区别在于ArrayList是可改变大小的数组,而LinkedList是双向链接串列(doub ...
- XSS防范之Encode(转)
防范XSS有三道防火墙:数据的输入校验,数据输出Encode,浏览器安全(主要就是CSP),这里主要介绍Encode. #用于XSS防范的Encode 用户防范XSS的Encode主要有三种:Html ...
- package.json作用
这个文档的内容是你必须要知道的,它必须是JSON文本格式.每个项目的根目录下面,一般都有一个package.json文件,定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称.版本.许可证等元 ...
- oracle 帐号scott被锁定 如何解锁
由于多次输入:账号 密码不对 oracle 帐号scott被锁定 如何解锁: 具体操作步骤如下:C:> sqlplus请输入用户名:sys输入口令:sys as sysdba //注意:在口令这 ...
- TMG阵列部署选择
如果用户环境中有多个网络出口,用EMS配置TMG是最佳选择.在这种情况下,可以使用EMS管理的阵列配置企业级访问规则.由于一个单一的策略适用于整个企业的所有阵列,因此管理成本将大大降低.用于EMS的服 ...
- React学习笔记(六)事件处理
React学习笔记(六) 五.事件处理 React事件绑定属性的命名采用驼峰写法,不同于传统DOM全部小写. 如果采用JSX的语法,事件函数需要用大括号{}包裹函数名,不同于传统DOM字符串小括号的方 ...