/*
目的:使用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 );
应该可以