我们在使用loadrunner做性能测试的时候经常会出现一些URL编码问题,如当参数中存在中文的时候
"Name=user", "Value=孟林", ENDITEM,
抓包的时候可以看到&user=%e5%ad%9f%e6%9e%97,然而我们在loadrunner中的脚本日志会发现并不是这样,其原因是测试脚本中汉字的编码是ACSII而网站中汉字的编码是UTR-8的形式,从而导致了脚本执行的错误。
那出现了这样的问题我们该如何是好呢?
我们可以在loadrunner中使用lr_convert_string_encoding()这个本身自带的函数对汉字的编码进行转换。
//将参数Param中保存的值转换为UTF-8的形式 lr_convert_string_encoding(lr_eval_string("{Param}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8 ,"user");
然而这个时候我们会发现为什么我的参数后面会有一个\x00?
不要惊慌,这个\x00是文字的一个结尾符,我们可以用下面这段代码将其去掉
//因为使用上面的函数转换的时候会再字符串后面加上\x00,所以需要使用以下的代码将其去掉 lr_save_string(lr_eval_string("{user}"),"user"); //进行调用 "Name=user", "Value={user}", ENDITEM,