LR报错系列——关于传参为中文,未转码报400

LoadRunner脚本中,接口传参为中文,导致回放报400的问题

以下为报错详细信息:


报400 的原因有很多,这次记录的是有关编码方式的问题

LR对中文的兼容性不算太好,幸而可通过函数来进行转码

以下为修改后成功转码并传参的具体修改方式:

Action()

{

charlist1[50];    //定义变量

lr_convert_string_encoding(lr_eval_string("{shebei}"),    //接口1中设备名称进行参数化处理

LR_ENC_SYSTEM_LOCALE,    //进行中文转码,LR_ENC_SYSTEM_LOCALE为原编码方式

LR_ENC_UTF8,    //LR_ENC_UTF8为目标编码方式

"list");    //保存至list中

strcpy(list1,lr_eval_string("{list}"));    //将list的值拷贝到已定义的变量list1中

lr_save_string(list1,"list2");    //再将list1存进list2中,可去掉转码后结尾的\x00


lr_start_transaction("接口1");

web_custom_request("checkNameList",   

"URL={str}/selectBaseInfo/checkNameList", 

//由于多个环境会用到这个脚本,因而在登录步骤就将域名也作为变量存了起来,方便后期在不同环境中使用时修改脚本域名

"Method=POST",

"Resource=0",

"RecContentType=application/json;",

"Snapshot=t18.inf",

"Mode=HTML",

"EncType=application/json;charset=UTF-8",

"Body=[\"{list2}\",\"{list2}\",\"{list2}\"]",

LAST);

lr_end_transaction("接口1",LR_AUTO);

return0;

}

你可能感兴趣的:(LR报错系列——关于传参为中文,未转码报400)