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到外部文件的更多相关文章

  1. loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式

    loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式 分类: 心得 loadrunner 我的测试 2012-04-01 12:52 2340人阅读 评论(0) 收藏 举报 脚本l ...

  2. loadrunner 脚本优化-参数化之Parameter List参数同行取值

    脚本优化-参数化之Parameter List参数同行取值 by:授客 QQ:1033553122 select next row 记录选择方式 Same line as,这个选项只有当参数多余一个时 ...

  3. loadrunner 脚本开发-参数化之将内容保存为参数、参数数组及参数值获取

    转自:http://blog.sina.com.cn/s/blog_13cc013b50102v49c.html(查看原文) 在VuGen中默认使用{}的字符串称为参数 注意:参数必须在双引号中才能用 ...

  4. 转:如何在 LoadRunner 脚本中做关联 (Correlation)

    如何在 LoadRunner 脚本中做关联 (Correlation) 当录制脚本时,VuGen会拦截client端(浏览器)与server端(网站服务器)之间的对话,并且通通记录下来,产生脚本.在V ...

  5. C++中函数的返回值

    原文 [ 函数的返回值用于初始化在调用函数处创建的临时对象.在求解表达式时,如果需要一个地方储存其运算结果,编译器会创建一个没有命名的对象,这就是 临时对象.temporary object ] -- ...

  6. MVC中常用的返回值方法

    我们上边所看到的Action都是return View();我们可以看作这个返回值用于解析一个aspx文件.而它的返回类型是ActionResult如 public ActionResult Inde ...

  7. javascript中的函数返回值(return)

    有些情况,我们希望获取到函数的执行结果,也就是我们需要在函数以外的地方处理执行结果,而不是在函数内部处理.这时我们就需要为函数设一个返回值,也就是return,即函数执行完毕以后返回的结果. 若在函数 ...

  8. MyBatis中Mapper的返回值类型

    insert.update.delete语句的返回值类型 对数据库执行修改操作时,数据库会返回受影响的行数. 在MyBatis(使用版本3.4.6,早期版本不支持)中insert.update.del ...

  9. ResultMap和ResultType在使用中的区别、MyBatis中Mapper的返回值类型

    在使用mybatis进行数据库连接操作时对于SQL语句返回结果的处理通常有两种方式,一种就是resultType另一种就是resultMap,下面说下我对这两者的认识和理解 resultType:当使 ...

随机推荐

  1. Elasticsearch数据类型

    Elasticsearch自带的数据类型是Lucene索引的依据,也是做手动映射调整的依据.映射中主要就是针对字段设置类型以及类型相关参数.1.JSON基础类型如下:字符串:string数字:byte ...

  2. sublime_text3 快速生成xhtml表头手动设置

    1. 在github上手动下载emmet安装插件 https://github.com/sergeche/emmet-sublime#how-to-install 2.把下载的安装插件放到packag ...

  3. Code Signal_练习题_Add Border

    Given a rectangular matrix of characters, add a border of asterisks(*) to it. Example For picture = ...

  4. KDTree(Bzoj2648: SJY摆棋子)

    题面 传送门 KDTree 大概就是一个分割\(k\)维空间的数据结构,二叉树 建立:每层选取一维为关键字,把中间的点拿出来,递归左右,有个\(STL\)函数nth_element可以用一下 维护:维 ...

  5. How To Install Cacti On Ubuntu 14

    How To Install Cacti On Ubuntu 14.04/14.10 by anismaj Cacti is an open source web based network moni ...

  6. Android Editable

    在android的sdk中有讲,“This is the interface for text whose content and markup can be changed (as opposed ...

  7. *.vue文件的template标签内使用form标签

    由于form表单有重复提交的问题,所以在vue文件内直接使用form标签时需要注意这个问题,否则会导致页面重复刷新跳转不成功的问题 解决方案: <form @submit.prevent> ...

  8. Linux-文件目录命令

    黑色 代表是普通的文件 蓝色 代表是目录(文件夹) 紫色 代表是图片文件 绿色 代表是可以执行的文件(脚本文件)-->存放linux命令的 红色 代表是压缩文件 clear:清屏pwd:显示当前 ...

  9. FileWriter与BufferedWriter的适用场景

    IO这块,各种Writer,Reader,让人眼晕 而在网上基本找不到在什么时候用哪个类,并且网上的IO demo 很多用法都是错的 在这简单的分析一下FileWriter与BufferedWrite ...

  10. SQL读取注册表值

    最近写一个自动检查SQL Serve安全配置的检查脚本,需要查询注册表,下面是使用SQL查询注册表值的方法. ) ) ) ) --For Named instance --SET @Instance ...