博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LoadRunner中Lr_save_string()函数和Itoa()函数的使用
阅读量:6327 次
发布时间:2019-06-22

本文共 2291 字,大约阅读时间需要 7 分钟。

/*

  目的:使用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/

你可能感兴趣的文章
百度、长沙加码自动驾驶,湖南阿波罗智行科技公司成立 ...
查看>>
Java面试笔试题大汇总一(最全+详细答案)
查看>>
10 个 Linux 中方便的 Bash 别名
查看>>
[Server] 服务器配置SSH登录邮件通知
查看>>
全新 DOCKER PALS 计划上线,带给您不一样的参会体验! ...
查看>>
WPF中获取鼠标相对于桌面位置
查看>>
Android开发之自定义View(二)
查看>>
python爬虫之微打赏(scrapy版)
查看>>
自制操作系统Antz day08——实现内核 (中) 扩展内核
查看>>
poj-1056-IMMEDIATE DECODABILITY(字典)
查看>>
如何让Sublime Text编辑器支持新的ABAP关键字
查看>>
Django快速分页
查看>>
Android统计图表MPAndroidChart
查看>>
阿里云容器Kubernetes监控(二) - 使用Grafana展现Pod监控数据
查看>>
区块链应用 | 不知道什么时候起,满世界都在谈区块链的事情
查看>>
小程序爆红 专家:对简单APP是巨大打击
查看>>
FarBox--另类有趣的网站服务【转】
查看>>
在非纯色背景上,叠加背景透明的BUTTON和STATIC_TEXT控件
查看>>
Distributed2:Linked Server Login 添加和删除
查看>>
海量数据处理相关面试问题
查看>>