51Testing软件测试论坛

标题: 测接口性能,传的参数值是中文,但是服务器上看收到的全是乱码,详细情况见帖子 [打印本页]

作者: ♂鬼★影♀    时间: 2012-10-17 16:51
标题: 测接口性能,传的参数值是中文,但是服务器上看收到的全是乱码,详细情况见帖子
用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
如果你知道服务器上的编码格式,把你参数内容先变成相同编码,再发给服务器
作者: ♂鬼★影♀    时间: 2012-10-17 22:15
回复 2# 云层


   多谢云层大大的指导~可是这个办法我也试过了~我直接发的码流~但是系统只是把这一串字符当做普通的字符串来处理了~请问还有别的方法么?
作者: 云层    时间: 2012-10-18 15:45
不懂你意思了,你用英文行不?性能测试和语言关系不一定很大
作者: ♂鬼★影♀    时间: 2012-10-18 23:21
回复 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
试一下更改一下LR的录制选项,勾上对应的支持字符集再尝试一下
作者: ♂鬼★影♀    时间: 2012-10-22 13:49
回复 6# crxwat


     选了也没用
作者: xalgdwf004    时间: 2012-11-1 10:16
char str,city;
char tmp[20];
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}

试试上面的方法




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2