Loadrunner编辑脚本一些技巧

来源:互联网 发布:unity3d 录屏插件 编辑:程序博客网 时间:2024/06/11 12:21

1 . 给一个数组中的每个元素分配一个存储空间

    char *a[100];    int iter=1;        for(i=0;i<iter;i++)  {            tmp2 = (char *)malloc(1024 * 4 * sizeof(char));             sprintf(tmp2,"{\"waybillId\":\"%s\",\"consignDate\":\"%sZ\",\"waybillNo\":\......,\"price1\":0}]},", waybillid1[i+1],lr_eval_string("{waybilldate}"),waybillno1[i+1]......lr_eval_string("{hubId}")); len = strlen(tmp2);        a[i] = (char *)malloc(1024 * 4* sizeof(char));        memcpy(a[i],tmp2,strlen(tmp2)+1);           free(tmp2);    }

2 . 转码
1) 将汉字转化为Loadrunner可以识别的格式;
将“水果”转化为Loadrunner识别的格式并保存为“goodsName”参数;

lr_convert_string_encoding( "水果",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"temp" ); //将“水果”转为“LR_ENC_UTF8”格式并保存为变量“temp”;     strcpy(tmp,lr_eval_string("{temp}"));//将参数变为变量并保存在tmp中    lr_save_string(tmp,"goodsName");//将变量tmp保存为变量“goodsName”

2) 将Loadrunner运行脚本返回值中的乱码转为可以识别的汉字
先提取不可识别的返回值,保存在一个参数中;

web_reg_save_param("message",        "LB=errorMessages\":[",        "RB=success\"",        "NotFound=WARNING",        LAST);

然后将该参数转码并输出

 lr_convert_string_encoding( lr_eval_string("{message}"),LR_ENC_UTF8,LR_ENC_SYSTEM_LOCALE,"my" ); 

3 . 关联时提取的参数太大,导致运行脚本报错,可以将提取的参数设定一个最大的容量(默认为256);

web_set_max_html_param_len("1024");    web_reg_save_param("message",        "LB=errorMessages\":[",        "RB=success\"",        "NotFound=WARNING",        LAST);

4 . 退出当前脚本

  lr_abort();//终止执行的脚本  lr_exit(LR_EXIT_ITERATION_AND_CONTINUE, LR_FAIL);LR_EXIT_VUSER无条件退出,并终止actionLR_EXIT_ACTION_AND_CONTINUE停止当前的action,但依然执行后续的actionLR_EXIT_MAIN_ITERATION_AND_CONTINUE停止当前运行的迭代全局脚本,但依然执行后续的迭代LR_EXIT_ITERATION_AND_CONTINUE停止当前迭代,但依然执行后续的迭代。如果调用的是一个Block迭代,仅终止Block迭代,而不终止全局的迭代LR_EXIT_VUSER_AFTER_ITERATION直到当前的迭代运行完成后才退出LR_EXIT_VUSER_AFTER_ACTION直到当前的Action运行完成后才退出
0 0
原创粉丝点击