LR脚本中Value值的拼接

在数据准备的时候遇到一个问题,如”Value=zla001”我想由两部分组成,“zla”和001,我想zla做为一个标识,后面的001是个可变的量,像可以递增之类的。以前我有一种做法,就是用robot录制脚本改一下,然robot自动将有规律的数据大量生成到*.txt文档里面,然后再在LR脚本里面把Value后面的值参数化,值就从*.txt中读取。这样可以达到目的,但昨天发现robot好像慢了点,另外,先把数据生成到*.txt,然后再从*.txt中取数据本身就比较麻烦。后来我想既然robot的脚本能改成“zla”+str(i)的样子,LR没有道理不能改成类似的样子。下面就是我经过反复的试验,加上向李正新取了些经最终得到我想要的样子。
 
下面是改后的action中的脚本,里面添加了一些简单的注释,Action每运行一次,i值加1。
#include "web_api.h"
 unsigned long int i=200000;//这里我用了unsigned long int,为了可以产生很多的数据
 char lValue[11]=”i”;//存放转换为字符串的i
   int   length=0;
 
Action()
{   char value[10]="Value=zla"; //存放“Value=+标识“zla
     i=i+1;
    web_url("Add",
              "URL=http://****/Add",
              "Resource=0",
              "RecContentType=text/html",
              "Referer=http:// ****/menu.jsp",
              "Snapshot=t4.inf",
              "Mode=HTML",
              LAST);
  
  
    itoa( i, lValue, 10); //i的值换成字符串存放在lValue里面
    length=strlen(lValue);
 
       web_submit_form("Submit_2",
              "Snapshot=t5.inf",
              ITEMDATA,
        "Name=name", strncat(value, lValue, length), ENDITEM,//Value拼接
//上面开始我用的是strcat,结果发现生成的值的最后多了一个“&,
//所以就想办法用strncat把“&”去掉了
//上面相当于是:
//"Name=name", "Value=zla"i, ENDITEM, 但不能这样写
              "Name=phone", "Value=", ENDITEM,
              "Name=mobile", "Value=", ENDITEM,
              "Name=email", "Value=", ENDITEM,
              "Name=address", "Value=", ENDITEM,
              LAST);
 
       return 0;
注意的地方:
 1.i=i+1;必须放在Action(){}里面,不能放在它上面
 2. char lValue[11] char value[10]必须用数组形式,不能用char * value形式,否则,在运行到itoa( i, lValue, 10) strncat(value, lValue, length)出错
 3. strncat(value, lValue, length)不能写成strncat("Value=zla", lValue, length)形式,否则运行出错
至于为什么LR脚本里面有这么多限制我也不清楚,所以破费周折,不过在我的艰苦追打下终于把它干掉了哈哈
 4.Action()里面的部分循环运行,它上面的部分只运行一次
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值