遇到中文时首先需要转下格式
lr_convert_string_encoding(lr_eval_string("{city}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"UnicodeString"); //此时city是一个中文城市列表的参数,把它转换为utf-8,存入UnicodeString参数中
lr_convert_string_encoding(lr_eval_string("{city}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"UnicodeString"); //此时city是一个中文城市列表的参数,把它转换为utf-8,存入UnicodeString参数中
lr_save_string (lr_eval_string("{UnicodeString}"),"test" ); //把UnicodeString参数的值又覆盖回test参数,前2步相当于完成了city参数的汉字到utf-8的转换
但是转后它会在其转换的字符串末尾加上\x00。在C语言中\X00是一个字符串的结束,而正是这个\x00的存在导致了脚本回放失败。还需要
char tmp[100];
lr_convert_string_encoding("登陆账号",LR_ENC_SYSTEM_LOCALE, LR_ENC_UTF8, "Account");
strcpy(tmp,lr_eval_string("{Account}"));
lr_save_string(tmp,"Account");
web_submit_data("login.quick",
……
"Name=account", "Value={Account}", ENDITEM,
……
LAST);
web_convert_param("test", "SourceEncoding=PLAIN", "TargetEncoding=URL", LAST ); //这一步把city的参数值从utf-8又转换到url编码
loadrunner 的循环
for ( i =1 ; i < atoi(lr_eval_string("{dcc_count}"))+1; i++){
sprintf(idParam, "{dcc_%d}", i);
sprintf(idValue, "%s", lr_eval_string(idParam));
lr_save_string(idValue,"topicid");
}
return 0;
}
loadrunner 返回报文中文乱码问题
lr_convert_string_encoding(lr_eval_string("{topicid}"),"utf-8",NULL,"dddddd");
lr_message ("value:11111111%s: ",lr_eval_string("{dddddd}"));