loadrunner中文转url编码或者中文转HTML编码

这两天工作的时候,测试一个get接口,发送的参数中带中文,链接是这样子的:http://www.baidu.com/address=江苏省苏州市常熟市招商城3区11号门市部

在goole浏览器里直接打开即可,Chrome浏览器就把汉字自动转码了,但是在loadrunner中抓到的脚本就是这样子的:

  web_url("ceshi_csb_broker", 
        "URL=http://xxx.xx.x.xxx/test/testTx.action?address=%E6%B1%9F%E8%8B%8F%E7%9C%81%E8%8B%8F%E5%B7%9E%E5%B8%82%E5%B8%B8%E7%86%9F%E5%B8%82%E6%8B%9B%E5%95%86%E5%9F%8E3%E5%8C%BA11%E5%8F%B7%E9%97%A8%E5%B8%82%E9%83%A8", 
        "Resource=1", 
        "RecContentType=application/json", 
        "Referer=", 
        "Snapshot=t1.inf", 
        LAST);

需要将上图的红色部分做参数化,但是又不能直接传汉字,所以需要把汉字再转码

1、先把汉字转为UTF8格式保存:

 lr_convert_string_encoding("江苏省苏州市常熟市招商城3区11号门市部",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"addrUtf8");

2、把变量存为参数使用

lr_save_string(lr_eval_string("{addrUtf8}"),"addrUtf8_1");

3、继续把addUtf8_1转码为url格式 

 web_convert_param("addrUtf8_1","SourceEncoding=PLAIN","TargetEncoding=URL",LAST);

--------这其实我还有个小疑问没弄懂,就是如果SourceEncoding=HTML的话,也就是这样写

 web_convert_param("addrUtf8_1","SourceEncoding=HTML","TargetEncoding=URL",LAST);

也能正常得到想要的结果,PLAIN和HTML有啥区别?啧啧以后再想咯~~~~

4、打印一下addrUtf8_1的值,

lr_output_message("addrUtf8_1的值是%s----------",lr_eval_string("{addrUtf8_1}"));

得到输出日志

addrUtf8_1的值是%E6%B1%9F%E8%8B%8F%E7%9C%81%E8%8B%8F%E5%B7%9E%E5%B8%82%E5%B8%B8%E7%86%9F%E5%B8%82%E6%8B%9B%E5%95%86%E5%9F%8E3%E5%8C%BA11%E5%8F%B7%E9%97%A8%E5%B8%82%E9%83%A8--------

接下来正常参数化就好了,

 lr_convert_string_encoding("江苏省苏州市常熟市招商城3区11号门市部",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"addrUtf8");

——>

 lr_convert_string_encoding(lr_eval_string("{address}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"addrUtf8");

所以全部的代码是:

	lr_convert_string_encoding("lr_eval_string("{address}")",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"addrUtf8");
	lr_save_string(lr_eval_string("{addrUtf8}"),"addurl");
	web_convert_param("addurl","SourceEncoding=PLAIN","TargetEncoding=URL",LAST);
	
	lr_output_message("URL转码后地址是addurl------%s",lr_eval_string("{addurl}"));
	
	web_url("ceshi_csb_broker", 
		"URL=http://xxx.x.xxx.xx/test-web/testTx.action?address={addurl}", 
		"Resource=1", 
		"RecContentType=application/json", 
		"Referer=", 
		"Snapshot=t1.inf", 
		LAST);

 

best wishes~~

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值