您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > LoadRunner乱码完整解决方案(HTTP)
LR录制时,经常会出现中文乱码现象原因是页面编码和LR设置的录制编码不匹配Tools--RecordingOptions--Advanced里面有一个Supportcharset是用来设置录制时使用的编码(RecordingOptions注意:此设置只有设置后再录制才有效,录制完了再去改没有任何的意义)当设置UTF-8时,页面如果是GB2312等,不同的编码,或者相反,即会造成乱码。如何去查看页面是什么编码?1查看页面源代码查找charset(更准确的编码在httpresponseheader中Content-Type)2IE打开页面后,菜单查看–编码–看浏览器自动选择的是哪一项如果还没有遇到需要对乱码中文进行参数化,或者没有对中文进行验证结果,那么是可以忽略的,乱码只是因为脚本中不同导致显示乱码,发出去服务器还是收到正确的,网络流和文件流一样,只认16进制的字节码。接下来是如何去解决此问题(已录制完不想重新录制,或者RecordingOptions怎么改都没用的情况)打开在保存脚本的目录中有一个叫default.cfg的配置文件,内容是INI格式的如果你是录制的脚本,在这个配置文件的[WEB]节点中,可以找到UTF8InputOutput录制时的charset如果是UTF-8,那么这个参数为1,没有选择则为01代表为UTF8,0代表为ANSI,ANSI基本和GBXXX编码相同当然也有情况没有UTF8InputOutput,这说明脚本不是录制的没有生成相关配置,可自加此配置修改后,发送和接收的编码都会变化测试方式,打开扩展日志,Runtimesettings–Log–Extenedlog–Datareturnedbyserver例如百度(UTF8页面),没有选择UTF-8,此时录制完成后,UTF8InputOutput=0运行脚本,会看到下方输出里面内容中文是乱码,修改UTF8InputOutput为1后,中文正常显示简易测试代码:web_url(test,URL==weather&_req_seqid=0xa4908d280003ff2d&asyn=1&t=1420474523457&sid=1449_10491_10874_10496_10752_10923_10219_7477_10355_10442_9950_10619,Mode=HTTP,LAST);当然此配置修改变更后,如果脚本原来含乱码中文的地方,也需要手动改为正常显示的中文,否则发出去就真的是乱码了以下是附加内容:注:此修改方式只在web_submit_data、web_submit_form、web_custom_request等一些请求中POSTITEMDATA参数中有效,但如果是web_url的URL属性或者web_submit_data的Action属性中(即提交的目标链接),LR对中文只会是认为ANSI,不会是UTF-8此问题有2种解决方案:(链接一般不会有中文,基本不用考虑。只有很特殊的情况)1LR脚本中使用代码进行转换再拼接lr_convert_string_encoding2={NewParam},因为参数文件都是ANSI的,系统默认生成的文件,将文件另存为UTF-8格式(但在参数表格里会是乱码)
本文标题:LoadRunner乱码完整解决方案(HTTP)
链接地址:https://www.777doc.com/doc-2885388 .html