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. Java - “JUC”原子类

    根据修改的数据类型,可以将JUC包中的原子操作类可以分为4类. 1. 基本类型: AtomicInteger, AtomicLong, AtomicBoolean ;2. 数组类型: AtomicIn ...

  2. UVA 624(01背包记录路径)

    https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  3. C++ STL:stack和queue

    http://blog.csdn.net/wallwind/article/details/6858634 http://blog.csdn.net/chao_xun/article/details/ ...

  4. sql 模糊搜素拼接

    if($irb_order!=''){ $condition .= " AND d.irb_order like '%".$irb_order."%'"; } ...

  5. CSS实现文字两端对齐

    最近的项目遇到了这样的需求:(要求标题部分不管文字多少,都必须两端对齐) 如下图: 当时也没有多想直接使用‘ ’进行代替,毕竟产品同学想快一点看到效果,不敢怠慢!不过到第二个页面就傻眼了. 如图: 这 ...

  6. COCI2017-2018-2 San

    题意 有\(n \leq 40\)个节点,每个节点有权值\(H \leq 1e9\)和贡献\(v \leq 1e9\),从任意一个点可以向右跳到一个权值不小于它的节点,并获得该点贡献 可以从任意一个点 ...

  7. Django—Form两种解决表单数据无法动态刷新的方法

    一.无法动态更新数据的实例 1. 如下,数据库中创建了班级表和教师表,两张表的对应关系为“多对多” from django.db import models class Classes(models. ...

  8. XML与web开发-01- 在页面显示和 XML DOM 解析

    前言: 关于 xml 特点和基础知识,可以菜鸟教程进行学习:http://www.runoob.com/xml/xml-tutorial.html 本系列笔记,主要介绍 xml 在 web 开发时需要 ...

  9. 线性表的Java实现--链式存储(单向链表)

    单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始. 链式存储结构的线性表将采用一组任意的存储单元存放线性表中的数据元素.由于不需要按顺序存储,链表在 ...

  10. PHP中die()、exit()、return的区别

    1.die()是exit()的别名函数,用法与exit()完全相同,php手册上的说法是,“使用这种别名通常不是个好主意,因为这种别名可能会被完全废弃或更名,导致脚本难以移植到新版本的 PHP 上.” ...