loadrunner之中文字符

上一篇 / 下一篇  2012-03-20 14:33:40 / 个人分类:loadrunner

那啥,在loadrunner使用过程中,因为中文而跌倒的已经不止一回了。

总结一下吧。

1.使用loadrunner的web_custom_request函数进行webserivce协议的脚本开发时,发现当发送的报文中含有中文时,字符集charset=utf-8时,无法接收正确的报文,解决方法,可以将这段charset注释掉,我设置成charset=gb2312,也能正确返回报文。原因不明。

脚本如下:

web_custom_request("Sample_Request","Method=POST",

        "Mode=HTML",

         "RecContentType=text/xml",

         "EncType=text/xml; charset=gb2312",

   "URL=http://172.16.13.213:8002/service/pmi/userExtend?wsdl",

   "Body=<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:api=\"http://api.user.webservice.pmis.jit.com.cn/\"><soapenv:Header/><soapenv:Body><api:queryUserInfo><arg1><userList><attrs><attrValues><attrValueName>{usercode}</attrValueName></attrValues><name>用户编号</name></attrs></userList></arg1></api:queryUserInfo></soapenv:Body></soapenv:Envelope>",LAST);

2.在使用socket协议进行测试时,发送报文含有中文的时候,服务器接收后无法识别。上面的方法行不通。网上看来一个法子,将参数化的文件转换成utf-8,就能很好的解决了。成功。

补充:有些汉字转换成utf-8时,会出现特殊字符,例如安全管理员会转成 瀹夊叏淇濆瘑绠$悊鍛\x98 ,有说使用

lrs_length_send("socket0","buf0",0,LrsLastArg);

解决的,但是,我没有解决成功。待续。

3.http协议进行测试的时候,如果请求内容包含中文可以用以下的函数进行替换。

  char buffer[80];  
lr_convert_string_encoding( lr_eval_string("<mytest>"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"str" );

  lr_log_message("str is str %s",lr_eval_string("<str>"));
  strcpy(buffer, lr_eval_string("<str>"));
  lr_save_string(buffer,"sorvalue");

  //lr_log_message("str orvalue is %s",lr_eval_string("<sorvalue>"));

 

话说,loadrunner对中文的处理可是真不咋样啊。

 

 

 


TAG:

 

评分:0

我来说两句

Open Toolbar