如何解决lr12录制lr中文乱码码的问题

当我们使用LR进行脚本录制的时候,会遇到录制好的脚本的乱码问题。那么应该如何解决这样的问题呢?
下面就讲讲我们采用的方法。
一般情况下遇到的乱码情况如下(下面是录制好的脚本):
&web_add_auto_header(&Accept-Language&,
&&&zh-cn&);
&web_set_max_html_param_len(&1024&);
&web_reg_save_param(&Siebel_Analytic_ViewState4&,
&&&LB/IC=ViewState&value=&&,
&&&RB/IC=&&,
&&&Ord=1&,
&&&RelFrameId=1&,
&&&Search=Body&,
&web_url(&login.aspx&,
&&&URL=http://192.168.31.16/it/login/login.aspx&,
&&&Resource=0&,
&&&RecContentType=text/html&,
&&&Referer=&,
&&&Snapshot=t1.inf&,
&&&Mode=HTTP&,
&web_url(&lo.jpg&,
&&&URL=http://192.168.31.16/it/Images/lo.jpg&,
&&&Resource=1&,
&&&RecContentType=image/jpeg&,
&&&Referer=http://192.168.31.16/it/login/login.aspx&,
&&&Snapshot=t2.inf&,
&lr_start_transaction(&login&);
&lr_rendezvous(&login&);
&lr_think_time(66);
&web_submit_data(&login.aspx_2&,
&&&Action=http://192.168.31.16/it/login/login.aspx&,
&&&Method=POST&,
&&&RecContentType=text/html&,
&&&Referer=http://192.168.31.16/it/login/login.aspx&,
&&&Snapshot=t3.inf&,
&&&Mode=HTTP&,
&&ITEMDATA,
&&&Name=__EVENTTARGET&,&Value=LinkButton1&, ENDITEM,
&&&Name=__EVENTARGUMENT&,&Value=&, ENDITEM,
&&&Name=__VIEWSTATE&,&Value={Siebel_Analytic_ViewState4}&, ENDITEM,
&&&Name=__EVENTVALIDATION&,&Value=/wEWBQL1zYCUCgKM54rGBgKvruq2CALQ75rvDALM9PumD5njSJlIKihzfQ/Pj8sgG2WSShWtI6C+mvJXxum/HZtf&,ENDITEM,
&&&Name=UserName&,&Value=xuhongiyng&, ENDITEM,
&&&Name=pd&, &Value=123&,ENDITEM,
&lr_start_transaction(&login&);
&web_submit_data(&login.aspx_3&,
&&&Action=http://192.168.31.16/it/login/login.aspx&,
&&&Method=POST&,
&&&RecContentType=text/html&,
&&&Referer=http://192.168.31.16/it/login/login.aspx&,
&&&Snapshot=t4.inf&,
&&&Mode=HTTP&,
&&ITEMDATA,
&&&Name=__EVENTTARGET&,&Value=LinkButton1&, ENDITEM,
&&&Name=__EVENTARGUMENT&,&Value=&, ENDITEM,
&&&Name=__VIEWSTATE&,&Value={Siebel_Analytic_ViewState4}&, ENDITEM,
&&&Name=__EVENTVALIDATION&,&Value=/wEWBQL1zYCUCgKM54rGBgKvruq2CALQ75rvDALM9PumD5njSJlIKihzfQ/Pj8sgG2WSShWtI6C+mvJXxum/HZtf&,ENDITEM,
&&&Name=UserName&,&Value=xuhongying&, ENDITEM,
&&&Name=pd&, &Value=123&,ENDITEM,
&web_concurrent_start(NULL);
&web_url(&Master.css&,
&&&URL=http://192.168.31.16/it/Styles/Master.css&,
&&&Resource=1&,
&&&RecContentType=text/css&,
&&&Referer=http://192.168.31.16/it/Pages/UnProcessList.aspx&,
&&&Snapshot=t5.inf&,
&web_url(&jquery-1.4.4.min.js&,
&&&URL=http://192.168.31.16/it/JS/jquery-1.4.4.min.js&,
&&&Resource=1&,
&&&RecContentType=application/x-javascript&,
&&&Referer=http://192.168.31.16/it/Pages/UnProcessList.aspx&,
&&&Snapshot=t6.inf&,
&web_url(&jquery-ui-1.8.7.custom.min.js&,
&&&URL=http://192.168.31.16/it/JS/jquery-ui-1.8.7.custom.min.js&,
&&&Resource=1&,
&&&RecContentType=application/x-javascript&,
&&&Referer=http://192.168.31.16/it/Pages/UnProcessList.aspx&,
&&&Snapshot=t7.inf&,
&web_url(&jquery.autocomplete.js&,
&&&URL=http://192.168.31.16/it/JS/jquery.autocomplete.js&,
&&&Resource=1&,
&&&RecContentType=application/x-javascript&,
&&&Referer=http://192.168.31.16/it/Pages/UnProcessList.aspx&,
&&&Snapshot=t8.inf&,
&web_url(&jquery-ui-1.8.7.custom.css&,
&&&URL=http://192.168.31.16/it/JS/redmond/jquery-ui-1.8.7.custom.css&,
&&&Resource=1&,
&&&RecContentType=text/css&,
&&&Referer=http://192.168.31.16/it/Pages/UnProcessList.aspx&,
&&&Snapshot=t9.inf&,
&web_url(&jquery.autocomplete.css&,
&&&URL=http://192.168.31.16/it/Styles/jquery.autocomplete.css&,
&&&Resource=1&,
&&&RecContentType=text/css&,
&&&Referer=http://192.168.31.16/it/Pages/UnProcessList.aspx&,
&&&Snapshot=t10.inf&,
&web_url(&Common.css&,
&&&URL=http://192.168.31.16/it/Styles/Common.css&,
&&&Resource=1&,
&&&RecContentType=text/css&,
&&&Referer=http://192.168.31.16/it/Pages/UnProcessList.aspx&,
&&&Snapshot=t11.inf&,
&web_url(&validator.js&,
&&&URL=http://192.168.31.16/it/JS/validator.js&,
&&&Resource=1&,
&&&RecContentType=application/x-javascript&,
&&&Referer=http://192.168.31.16/it/Pages/UnProcessList.aspx&,
&&&Snapshot=t12.inf&,
&web_url(&line.jpg&,
&&&URL=http://192.168.31.16/it/Images/line.jpg&,
&&&Resource=1&,
&&&RecContentType=image/jpeg&,
&&&Referer=http://192.168.31.16/it/Pages/UnProcessList.aspx&,
&&&Snapshot=t13.inf&,
&web_concurrent_end(NULL);
&web_concurrent_start(NULL);
&web_url(&user.png&,
&&&URL=http://192.168.31.16/it/Images/user.png&,
&&&Resource=1&,
&&&RecContentType=image/png&,
&&&Referer=http://192.168.31.16/it/Pages/UnProcessList.aspx&,
&&&Snapshot=t14.inf&,
&web_url(&password.png&,
&&&URL=http://192.168.31.16/it/Images/password.png&,
&&&Resource=1&,
&&&RecContentType=image/png&,
&&&Referer=http://192.168.31.16/it/Pages/UnProcessList.aspx&,
&&&Snapshot=t15.inf&,
&web_url(&top1_03.png&,
&&&URL=http://192.168.31.16/it/Images/top1_03.png&,
&&&Resource=1&,
&&&RecContentType=image/png&,
&&&Referer=http://192.168.31.16/it/Pages/UnProcessList.aspx&,
&&&Snapshot=t16.inf&,
&web_url(&top1_01.png&,
&&&URL=http://192.168.31.16/it/Images/top1_01.png&,
&&&Resource=1&,
&&&RecContentType=image/png&,
&&&Referer=http://192.168.31.16/it/Pages/UnProcessList.aspx&,
&&&Snapshot=t17.inf&,
&web_url(&top1_02.png&,
&&&URL=http://192.168.31.16/it/Images/top1_02.png&,
&&&Resource=1&,
&&&RecContentType=image/png&,
&&&Referer=http://192.168.31.16/it/Pages/UnProcessList.aspx&,
&&&Snapshot=t18.inf&,
&web_concurrent_end(NULL);
&lr_think_time(19);
&web_reg_find(&Search=Body&,
&&&TextPfx=xu&,
&&&TextSfx=ying&,
&web_url(&寰呭姙椤圭洰&,
&&&URL=http://192.168.31.16/it/Pages/UnProcessList.aspx&,
&&&Resource=0&,
&&&RecContentType=text/html&,
&&&Referer=http://192.168.31.16/it/login/login.aspx&,
&&&Snapshot=t19.inf&,
&&&Mode=HTTP&,
&lr_think_time(5);
&web_url(&寰呭姙椤圭洰_2&,
&&&URL=http://192.168.31.16/it/Pages/UnProcessList.aspx&,
&&&Resource=0&,
&&&RecContentType=text/html&,
&&&Referer=http://192.168.31.16/it/login/login.aspx&,
&&&Snapshot=t20.inf&,
&&&Mode=HTTP&,
&lr_think_time(16);
&web_url(&Login.aspx&,
&&&URL=http://192.168.31.16/it/Login/Login.aspx&,
&&&Resource=0&,
&&&RecContentType=text/html&,
&&&Referer=&,
&&&Snapshot=t21.inf&,
&&&Mode=HTTP&,
&lr_end_transaction(&login&, LR_AUTO);
针对上面的中文乱码,可以采用如下设置:
解决方案一:脚本录制好后-》在TOOL-》RECORDING OPTIONS -》ADVANCED -》SUPPORTCHARSET 勾选UTF-8即
解决方案二:在IE--&属性--&高级选项里的最后一项,总是以UTF-8发送请求前面的勾去掉,关闭浏览器.再录制试试
解决方案三:新建脚本---&选择协议(Http)--&选项--&高级--&选择“支持字符集”并点选“UTF-8”
解决方案四:在回放脚本之前:Vuser--&运行时设置--&浏览器--&浏览器仿真--&更改--&使用浏览器--&语言下来选择“中文(中国)”
下面再推荐两种解决方法:
a)&&Go to Vugen-& Tools -& Recording Options-& Advanced
b)&&Check the option that reads&Support Charset& and select &UTF-8&
本文已收录于以下专栏:
相关文章推荐
这篇文章性能测试工具LR进行简单介绍,LR的安装和如何录制简单的脚本并对录制好的脚本进行加压等内容,主要目的是让大家对LR有一个基本的了解,同时也掌握录制一个简单脚本的方法。
在学习过程中的...
今天使用HttpClient 在ElasticSearch2.0上index documents时,由于document中包含有中文,浏览器打开一看,发现中文乱码,index的代码如下:
转自文章  .cn/s/blog_00kurv.html
一、MySQLdb中文乱码问题的解决(Python)...
访问Tomcat7及以下版本时(HttpServeltRequest请求时)的乱码解决问题
  总的来说,乱码的解决方式是根据请求方式的不同而去选择取用何种方式解决棘手的乱码问题的。
  先说po...
Firefox中文乱码解决方法:
  打开桌面的火狐浏览器,进入主界面右键点击上方任务栏的空白区域,在属性框里选择【Menu Bur(菜单栏)】选项
  然后我们在上方任务栏就可以...
他的最新文章
讲师:姜飞俊
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)LoadRunner中文乱码问题解决方法 - 帅胡 - 博客园
前段时间在录制,增强,整合脚本,期间两次遇到了中文乱码问题。在此记录一下中文乱码问题的解决办法。
  一、录制回放中文乱码
  我录制登陆的脚本,用户名中出现中文,回放的时候总是提示登陆失败。如下图:
图1 LR回放中文乱码
  解决中文乱码可以在录制的时候在Virtual User Gen的 Tools-&Recoding Options -& Advanced -& Support charset -& UTF-8。重新录制后中文乱码问题得到解决。
  二、整合脚本中文乱码
  录制增强(参数化,关联,检查点,事务)脚本后决定将几个脚本整合在一起。于是新建了一个空的脚本,将登陆退出公用操作分别放在vuser_init和vuser_end中,其他操作放在各自的Action中。整理完成回放后又出现中文乱码。为解决这个问题,最关键的是要把本地GBK编码的汉字转换成UTF-8编码格式的信息,为此我们引进loadrunner自带的编码函数lr_convert_string_encoding。
  int lr_convert_string_encoding ( const char *sourceString, const char *fromEncoding, const char *toEncoding, const char *paramName);
  该函数有4个参数,含义如下:
  sourceString:被转换的源字符串。
  fromEncoding:转换前的字符编码。
  toEncoding:要转换成为的字符编码。
  paramName:转换后的目标字符串。
  实践一:
  lr_convert_string_encoding("登陆账号",LR_ENC_SYSTEM_LOCALE, LR_ENC_UTF8, "Account");
  web_submit_data("login.quick",
  "Name=account", "Value={Account}", ENDITEM,
  LAST);
  回放脚本的时候依然报错。查看lr_convert_string_encoding的解释,它会在其转换的字符串末尾加上\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,
  通过strcpy和lr_save_string的处理屏蔽\x00的影响,结果正常
随笔 - 637loadRunner 12.50 输出 代码生成中文字符乱码,如何解决? - 知乎3被浏览210分享邀请回答还没有回答在Loadrunner回放脚本时,会看到replay log区会展示脚本回放时的信息。有时候选中了打印服务器返回具体信息后,服务器返回的中文字符为乱码。怎么破?
  原来Loadrunner的replay log需要和具体请求返回的数据格式相对应后,log才能显示正常。那么怎么看服务器返回的内容的具体格式呢?
  在发送请求的header字段中,Content-Type字段代表客户端可以接受服务器的请求格式。服务器就是根据这个字段来判断应该返回什么样的格式的。如果没有定义,默认为UTF-8格式。
这样,在Run-time Settings&Preferences&Options...中可以选择General&Convert from/to UTF-8选择Yes。再次回放脚本时,发现中文正常显示了。
另外附录Run-time Settings里面log不同级别的含义:
i. Parameter substitution代表打开参数的描述。例如你在脚本中定义了截取函数,则这项可以直接打印出你定义函数的返回值。
ii. Data returned by server:代表从服务器返回的具体内容。
iii. Advanced trace:多用于脚本调试,记录VU在运行期间发送的所有函数信息。
阅读(...) 评论()loadrunner 中文乱码的问题
我的图书馆
loadrunner 中文乱码的问题
loadrunner 中文乱码的问题
我用loadrunner,里的乱码一直没有。看到网上很多贴子。采用的方法:1、第一步:去lr 的vugen的Tools -& Recoding Options -& Advanced -& Support charset -& UTF-8 选上。2、新建脚本---&选择(Http)--&选项--&高级--&选择“支持字符集”并点选“UTF-8”;& &在回放脚本之前:Vuser--&时--&--&浏览器仿真--&更改--&使用浏览器--&语言下来选择 “(中国)”;3、采用“首先,我们直接用正常的字去化,这里只举其中的一个例子来说明,比如&assuname&这个字段,我们用参数值“汽车”直接在脚本中替换“浣忔埧”,脚本回放失败。然后就想到会不会是所有的中文字段都需要用才行呢?于是把所有的乱码都用简体字替换,脚本回放还是失败。& & 通过以上的两点试验,说明直接参数化的方法是行不通的,我们必须另找办法。在中,为我们提供了一个字符串编码转换的lr_convert_string_encoding,用法如下:& & int lr_convert_string_encoding ( const char *sourceString, const char *fromEncoding, const char *toEncoding, const char *paramName);”此贴的办法。都有没成功。大家有没有相似的问题呀,还有什么别的办法吗。我根据方法修改的代码如下所示:&&web_add_header("Content-Type", "text/ charset=UTF-8");&&& & & & lr_convert_string_encoding(lr_eval_string("{NewParam_1}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"str");& & strcpy(tmp,lr_eval_string("{str}"));&&& & & & lr_log_message("str is %s",tmp);& & & & web_submit_data("longOpenAction!create.ilf", & & & & & & & & "Action=http://10.19.69.23:7082/intel/longOpenAction!create.ilf?", & & & & & & & & "Name=ciropenreqs[1].zmRegion", "Value=鏋e簞", ENDITEM, & & & & & & & & "Name=ciropenreqs[1].zmUsage", "Value=绔\xAF\xE5眬", ENDITEM, & & & & & & & & "Name=ciropenreqs[1].circuitNumber", "Value=2", ENDITEM, & & & & & & & & "Name=task.procDefName", "Value=%s", ENDITEM, & & & & & & & & "Name=task.actCreateTime", "Value=", ENDITEM, %s是我想要参数化的地方。但就成了%s。并没有将NewParam_1的内容代进去。先问各位应该怎么将表示才能将其跟NewParam_1的内容表示出来呀。
在“Tools-&Recording Options-&Advanced”中选中“Support charset”,再选“UTE-8”,点击“OK”就可以了!
知道怎么用了,在lr_convert_string_encoding(lr_eval_string("{NewParam_1}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"str");& & strcpy(tmp,lr_eval_string("{str}"));&&& && &&&lr_log_message("str is %s",tmp);后面加lr_save_string(tmp,"sorvalue");将:Name=task.procDefName", "Value=%s", ENDITEM, 改为:Name=task.procDefName", "Value=sorvalue", ENDITEM, 即可。嘿嘿,我也是在网上搜到的,不过真的很管用呀。
不错,我关注这个问题也有一段时间了,终于看到一个能实际解决的方案了。原来改utf8也是没有什么效果。
我测我测我测测测,思考思考不断的思考!
lr_convert_string_encoding(lr_eval_string("{NewParam_1}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"str");& && &&&web_submit_data("longOpenAction!create.ilf", & && && && && & ......& && && && && & "Name=task.procDefName", "Value={str}", ENDITEM, & && && && && & "Name=task.actCreateTime", "Value=", ENDITEM,
TA的最新馆藏[转]&[转]&[转]&[转]&
喜欢该文的人也喜欢}

我要回帖

更多关于 lr 乱码转换 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信