Loadrunner测试之中文参数解决方案

转帖|使用教程|编辑:龚雪|2014-03-28 09:57:07.000|阅读 461 次

概述:本方案详细的描述Loadrunner测试中文参数的解决过程。

Loadrunner测试中,有的应用需要发送中文。本案例(以人名payerName : 张三)进行实例解释和处理。

发现调用失败。通过观察错误日志,发现传过去的payerName是乱码。

解决过程:

首先,Virtual User Gen的Tools->Recoding Options -> Advanced -> Support charset -> UTF-8重试之,无效。

然后,使用lr_convert_string_encoding函数进行强制转码。

[cpp] view plaincopyprint?

lr_convert_string_encoding: 对中文进行UTF-8转码

int lr_convert_string_encoding ( const char *sourceString, const char *fromEncoding, const char *toEncoding, const char *paramName):该函数有4个参数,含义如下:

  • sourceString:被转换的源字符串。
  • fromEncoding:转换前的字符编码。
  • toEncoding:要转换成为的字符编码。
  • paramName:转换后的目标字符串。 

注意: 使用这个函数转码出来的字符串会以 \x00 结尾,所以要做一次额外处理。

代码如下:  

[cpp] view plaincopyprint?

  char tmp[50]; 

  lr_convert_string_encoding("张三", LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"str"); 

  strcpy(tmp,lr_eval_string("{str}")); 

  lr_save_string(tmp,"payerName");

  char tmp[50];

  lr_convert_string_encoding("张三", LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"str");

  strcpy(tmp,lr_eval_string("{str}"));

  lr_save_string(tmp,"payerName"); 

  然后再使用 如下方式进行调用:

  [cpp] view plaincopyprint?

  web_custom_request("consume", 

  "URL=http://192.168.12.89:8010/quickpay/v10/003",

  "Method=POST",

  "Resource=0",

  "RecContentType=application/json",

  "Referer=",

  "Mode=HTTP",

  "EncType=application/json",

  "Body={\"cardHolderName\":\"{payerName}\",\"cardNo\":\"4392260802828457\",\"cardTypeEnum\":\"CREDI\"}",

  LAST);

  web_custom_request("consume",

  "URL=http://192.168.12.89:8010/quickpay/v10/003",

  "Method=POST",

  "Resource=0",

  "RecContentType=application/json",

  "Referer=",

  "Mode=HTTP", 

  "EncType=application/json", 

  "Body={\"cardHolderName\":\"{payerName}\",\"cardNo\":\"4392260802828457\",\"cardTypeEnum\":\"CREDI\"}",

  LAST);

再次运行脚本,OK了。希望对需要测试中文参数的朋友有所帮助。



标签:性能测试网页测试测试优化测试

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
Parasoft C/C++test

Parasoft C/C++test – 针对 C/C++ 开发的综合性代码质量保障工具,有效提高开发团队工作效率和软件质量。

Parasoft Jtest

Parasoft Jtest是一款Java自动化测试工具。能够无缝集成Parasoft SOAtest。

Parasoft dotTEST

Parasoft dotTEST是一种自动化的、非侵入式的代码质量保证解决方案。

Parasoft Insure++

Parasoft Insure++是专用于 C 和 C++ 语言的运行时内存分析和错误检测工具。

Parasoft SOAtest

Parasoft SOAtest是业内最全面的API、云服务和SOA测试平台,并提供优秀的负载与性能测试、API安全测试等功能。

在线
客服
在线
QQ
电话
咨询
400-700-1020
购物车 反馈 返回
顶部
在线客服系统
live chat