♂鬼★影♀ 发表于 2012-10-17 16:51:33

测接口性能,传的参数值是中文,但是服务器上看收到的全是乱码,详细情况见帖子

用lr测接口的性能,其中一个参数传递的值是中文,然后脚本回放的时候打印参数值显示的是几个空格,然后去服务器上看日志显示的是,这个是什么情况?要怎么设置么?
lr打印的日志:Action.c(25): city = 南京市
weblogic的日志:<city></city>

另外如果这个参数做了参数化的,从数据库里直接读数据的话,取的的值为空。
运行设置里面已经勾选了支持utf8
切换到树错误信息为:An exception occurred! Type:UTFDataFormatException,message:invalid byte 1{} of a 1-byte sequence.{line 1,col1}

云层 发表于 2012-10-17 18:29:52

如果你知道服务器上的编码格式,把你参数内容先变成相同编码,再发给服务器

♂鬼★影♀ 发表于 2012-10-17 22:15:51

回复 2# 云层


   多谢云层大大的指导~可是这个办法我也试过了~我直接发的码流~但是系统只是把这一串字符当做普通的字符串来处理了~请问还有别的方法么?

云层 发表于 2012-10-18 15:45:40

不懂你意思了,你用英文行不?性能测试和语言关系不一定很大

♂鬼★影♀ 发表于 2012-10-18 23:21:37

回复 4# 云层


    业务场景是这样的:我调用我们系统的接口,然后往这个接口传一系列的参数,然后系统处理后返回一堆值给我,传给系统的参数有很多,类似用户名、密码之类的,其中有一个字段是城市,我们传的是中文,代表用户所在的城市,例如:我希望loadrunner往接口传的是这样的:
<name>admin</name><pwd>admin</pwd><city>南京</city>,然后city这个参数传的是中文,
可是在服务器上看日志收到的消息实际上是:
<name>admin</name><pwd>admin</pwd><city></city>,其中city的值 南京并没有发给服务器,当然如果只是单纯业务的话,传nanjing这样也可以,但是我现在就是想知道为什么中文的值传不过去发过去就是空的~多谢大大指导~

crxwat 发表于 2012-10-19 17:15:19

试一下更改一下LR的录制选项,勾上对应的支持字符集再尝试一下

♂鬼★影♀ 发表于 2012-10-22 13:49:16

回复 6# crxwat


   选了也没用

xalgdwf004 发表于 2012-11-1 10:16:28

char str,city;
char tmp;
lr_convert_string_encoding(lr_eval_string("{parameter}"),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"str");
strcpy(tmp,lr_eval_string("{str}"));
lr_save_string(tmp,"city");
.......
   city={city}

试试上面的方法
页: [1]
查看完整版本: 测接口性能,传的参数值是中文,但是服务器上看收到的全是乱码,详细情况见帖子