51Testing软件测试论坛

标题: 在for循环遍历进行拼接时利用idx_小标,此方法是否可行 [打印本页]

作者: 一起来ppapp    时间: 2019-1-18 13:28
标题: 在for循环遍历进行拼接时利用idx_小标,此方法是否可行
我有个疑问,批量删除时不采用web_custon_request,仍然采用web_submit_data,只不过在for循环内strcat拼接数据时我自己稍微做了改动,也不知此方法合不合适,原理是ord=all时,关联数据存进了数组里,在for循环遍历进行拼接时利用idx_小标,此方法是否可行?
//批量删除
int i=0;
int len;
char strid[500];
strid[0]='\0';
web_reg_save_param("idx",
                   "LB=aa",
                   "RB=bb",
                   "Search=Body",
                   "Ord=All"
                   LAST);
web_url("hqid",
        "URL=http//www.baidu.com",
        LAST);
len=lr_paramarr_len("idx");
for(i=1;i<=len;i++){   //i初始值为1,所以i<=len
    strcat(strid,"idx_");  //拼接起始部分
    strcat(strid,i);  //下标为1,即idx_1代表获取关联数组的第1个删除id
    if(i<len){  //判断是否为最后1位,最后1位无需拼接&
        strcat(strid,"&");  //多个id用&拼接
    }
}
web_submit_data("shanchu",
                "Methon=Post",
                "Action=http//www.baidu.com",
                ITEMDATA,
                "Name=id","Value={strid}",ENDITEM,
                LAST);

free(strid);


在学课程:
手写Loadrunner脚本彻底摆脱录制的痛
http://www.atstudy.com/course/572



作者: 学掌门网校    时间: 2019-1-22 10:23
很好,不错,你能够举一反三

你这个思路是对的,当你打开loadruuner的扩展日志时候,你看到的关联到的是数组,

但是你做复杂了

strcat(strid,"idx_");  //拼接起始部分

你要先把strid变为idx_1、idx_2、idx_3...

lr_eval_string("{idx_1}"); 取出第一个值

lr_eval_string("{idx_2}");取出第二个值

你的方法可以测试下,可以用脚本提升篇里面的练习题辅助试下

http://liyongfei.xyz/agent/jsp/atstudyTeaching/submitOrder.jsp




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2