回答网友提问:参数化编程

上一篇 / 下一篇  2007-08-12 10:35:12 / 个人分类:Loadrunner

问题:
我需要做参数化输入
假设有2个字段: customid和planid,一个customid下有多个planid,
我需要对customid和planid都做参数化输入,即顺序取一个customid,再随机在这个customid里取一个planid
但是planid要跟着customid变化
这是否是关联的问题?
怎么解决? 思路即可.

解决的代码:
Action()
{
   int i,j,k,rnum;
   char costomid[30];
   char combin_planid[30],planid_temp[30],planid[30];


   //先从costomid_single中顺序取一个costomid;
   strcpy(costomid,lr_eval_string("{costomid_single}"));
   lr_output_message("costomid=%s",&costomid);

   //在combinid.dat中寻找相同costomid的个数;
   j=0;
   strcpy(combin_planid,"#");
   for (i=1;i<10;i++) {
         if (strcmp("end",lr_eval_string("{costomid}"))==0)
           i=1000;
         else
      if (strcmp(costomid,lr_eval_string("{costomid}"))==0){
                 j=j+1;
         strcat(combin_planid,lr_eval_string("{planid}"));
         strcat(combin_planid,"#");
           }
     lr_advance_param("costomid");
   }
   lr_output_message("和%s相同的costomid的个数是=%d",&costomid,j);

   //处理字符串,找出随机的那个planid
   rnum = rand() % j;
   lr_output_message("随机数是:%d",rnum);
   k=0;
   strcpy(planid_temp,"");
   strcpy(planid,"");
   for (i=0;i<50;i++) {
     strncpy(planid_temp, &combin_planid, 1);
         if (strcmp("#",planid_temp)==0)
            k=k+1;
         if (k-rnum-1==0)
                strcat(planid,planid_temp);
   }
   strncpy(planid,&planid[1],10);

   lr_output_message("你要用的参数costomid=%s,planid=%s",costomid,&planid);


        return 0;
}

TAG: 参数化编程 Loadrunner

 

评分:0

我来说两句

Open Toolbar