LoadRunner中Lr_save_string()函数和Itoa()函数的使用-阿里云开发者社区

开发者社区> 玄学酱> 正文

LoadRunner中Lr_save_string()函数和Itoa()函数的使用

简介:
+关注继续查看
/*

  目的:使用for循环添加多条有规律的数据,比如说:a1、a2、a3......a1000

  方法:从上面看1-1000是一个有序序列,并且前面的a都是固定的,所以只需要用for循环将1-1000循环出来就可以了。

  但是loadrunner使用的是C语言的语法,所以不能向在java中一样,将两个变量直接相加(+)(+:连字符)

  所以这个时候就需要将首先将int变量转换成string,然后再用lr_save_string()函数将该变量用loadrunner可以识别的参数化方式保存起来,再应用到录制的脚本中就可以了

  函数简介:

  int itoa ( int value, char *str, int radix );

  函数目的:将int类型转换成string

  参数介绍:value: 要转换的int型的值

  str: 目标字符串,即将转换成的string值保存到str中

  radix:转换数字时所用的基数 10:十进制;2:二进制……

  int lr_save_string (const char *param_value, const char *param_name);

  函数目的:将param_value值保存到param_name变量中

  参数介绍:param_value:要保存的值

  param_name: 变量名称

  问题:为什么要用itoa()和lr_save_string()两个函数相结合使用呢?

  因为lr_save_string()中的两个参数都是char类型的指针,int类型的值必须经过转换才能在lr_save_string()函数中使用,所以此处就要将itoa()和lr_save_string()两个函数相结合使用。

  */

  Action()

  {

  int i;

  char str[100]; //定义一个数组用来保存int类型转换后的值

  for(i=0;i<=9;i++){

  itoa(i,str,10);

  lr_save_string(str,"ID");

  lr_output_message("==str:=%s==ID:=%s====",str,lr_eval_string("{ID}"));

  }

  /*

  用lr_save_string()将数组保存到变量中以后就可以应用到Loadrunner录制的脚本中了

  {ID}:是loardrunner识别参数的方式

  web_url("login",

    "URL=http://server0.im.sonoro.cn:18001/login?username=a{ID}&password=test&autoLogin=false&1211433835878&1211433835878",

  "TargetFrame=",

  "Resource=0",

  "RecContentType=text/html",

  "Referer=http://server0.im.sonoro.cn:18001/proxy.html?1211433821547",

  "Snapshot=t6.inf",

  "Mode=HTML",

  LAST);

  

  */

  return 0;

  }

版权声明:51Testing 软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像。 51testing软件测试网欢迎与业内同行进行有益的合作和交流,如果有任何有关内容方面的合作事宜,请联系我们



lr_eval_string()函数的主要是返回脚本中的一个参数当前的值,返回值类型为char型.一般多用在调试脚本时输出参数的值.具体用法如下:
lr_output_message("The parameter1's value is %s",lr_eval_string("{parameter1}")),其中参数parameter1在之前已经定义了.你的代码中将int型数据拷 贝到char型数组里是不行的,参考一下2#楼的代码.
1 lr_eval_string(), eval应该是evaluate的缩写。
功能 如果只有一个参数,则返回当前参数的值。它的参数必须是{newParam} 的形式,也就是被大括号包起来
应用:对每个迭代过程中需要需要使用参数化的内容的时候。lr_output_message("value : %s", lr_eval_string("The row count is: {row_cnt}")); 

例如:有一个int的参数化值{paraInt},如果直接把它作为一个int是错的。必须atoi(lr_eval_string({ParaInt}))
所以不能直接把一个int变量作为参数。
2.如何实现“我想把iTemp转换成字符串存到变量chArr里”
int iTemp=3;
char chArr[1024] = {0};
// if not unicode
itoa( itemp, charr, 10  );
应该可以








====================================分割线================================



最新内容请见作者的GitHub页:http://qaseven.github.io/

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
C语言-重构string.c系统库函数(3)
这是重写C语言string.c的部分函数的第3篇文章,前面2篇文章已经重写了部分函数,这篇文章介绍剩下的几个常用函数重写方法。
12 0
php移动文件的函数 move_uploaded_file()和copy
最近遇到的问题就是:用户提交一个图片,我这边给缩放成三种格式的大小,缩放的方法存在,所以我这边直接就调用三次,结果只有一张图片上传,采用循环调用的方法还是只有一个图片,后来发现 提交文件的时候有一个移动函数 move_uploaded_file(),这个函数虽然多次调用但是只能执行一次,原因就在于...
575 0
使用webpack loader加载器
了解webpack请移步webpack初识! 什么是loader loaders 用于转换应用程序的资源文件,他们是运行在nodejs下的函数 使用参数来获取一个资源的来源并且返回一个新的来源(资源的位置),例如:你可以使用loader来告诉webpack去加载一个coffeescript或者j...
763 0
使用loadrunner进行压力测试之----post请求
1. 发送post请求时使用web_submit_data  如: 1 web_submit_data("create",//事务名 2 "Action=http://bizhi.
831 0
重构-改善既有代码的设计-简化函数调用
Rename Method 函数改名 问题函数的名称未能揭示函数的用途。方法修改函数名称。动机好的函数需要有一个清晰的函数名。
813 0
中文命名之Hibernate 5演示 - 使用注解(annotation)而非xml定义映射
用一个简单例子演示Hibernate 5 + MySQL基本功能中使用中文命名标识符.
704 0
我的mqtt协议和emqttd开源项目个人理解(21) - 关于emq的payload的使用和加密
我的mqtt协议和emqttd开源项目个人理解(21) - 关于emq的payload的使用和加密
21 0
+关注
玄学酱
这个时候,玄酱是不是应该说点什么...
20710
文章
438
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载