一个“\”引发的血案——记一次hyperpacer回放时的“500”错误

上一篇 / 下一篇  2016-04-25 09:17:16 / 个人分类:hyperpacer

g3\K9H*pZ1D1_G;@+c0公司要求测试工具统一从jmeter迁到hyperpacer了。i_f09.gifi_f09.gif51Testing软件测试网 VKW'w E'M$LRi a

IfM b)Y#P;P$qWl&Z/@:e0今天,在用hyperpacer 测试的时候,控制台突然冒出来很多个“500”的错误。

7z;EqJ)[+~n0

f%fA8k X/u0我们都知道,http状态码中5开头的一般都是客户端的问题,因为是新从jmeter转到hyperpacer上来,所以第一反应:是不是工具自身的问题啊???

g'SLPW O!we051Testing软件测试网n)?bE0HQ

反复执行了几次,发现都是在同一个请求的地方才会出现“500”,是并发的问题?修改并发用户数,改成单个用户,发现问题依旧。51Testing软件测试网 P/c(F.I;\/V2g

51Testing软件测试网Q JD8s^ E._2aX*@

查看出问题的这个请求,

H(uz|u&f051Testing软件测试网x;w+rQT_

51Testing软件测试网)b&E%a B FO

51Testing软件测试网d)rp0~4UyT

很简单的json数据,没看出来有什么问题。客户端看不出来问题,那就再看看服务端的日志信息,果然看到抛出来一个异常

DA:uJ:e V o ~'P0

7@{ [,V%[,H+}#A051Testing软件测试网4Qg~S3Z

51Testing软件测试网@'eNC1t

异 常提示信息很明显,在第一行的第300的字符处有一个非法的转义,回到客户端,可以看到POST的主体数据有 "text": "全路径信息:11 变动费用\1160 出单手续费\11600010 出单手续费"这样一行。我们知道,“\”会被当作转义的标识,即在看到“\”这个字符是会认为是后面的字符需要转义,比如我们这里的例子就是会对"\1" 去进行转义处理,"\1"没看到过有这个转义,应该是个没有意义的转义,所以报了非法转义。51Testing软件测试网;`8Vq"WLGs V(xLR

4L1E5_3~v"f0如果确实需要使用"\",需要使用"\\"进行转义后才会被识别为"\",那么解决就简单了,每个"\"前面再加上一个"\"进行转义就可以了。

.z!q qRp$D)L0

O3M!]k(u{[t0然而,你以为你以为的就是你以为的吗?NO~~~~51Testing软件测试网&q9~ j*| AS2j p

@%oi].T}v0加完了转义后,再次执行,发现还是依旧在这里报错,错误信息依然是非法的转义。这次又是什么原因呢?

4Z0jPy"bI'eKy051Testing软件测试网0i)f#_+Rj[,T,H.a

想了好久想不太明白,后来猜测可能是hyperpacer本身对请求体进行解析的时候需要进行一次转义,而json在传递数据的时候也要求将需要转义的字符先进行转义在放到value中,这样也就是需要转义后再转义,也就是说一个"\"转义再转义的话就是“\\\\”,i_f08.gifi_f31.gif   这样修改后,果然就不再报500了。51Testing软件测试网 d2h u*x9eW%vo

51Testing软件测试网8ku'Jn!u

问题虽然解决了,但是还是留下一个小疑问,如果真是猜测的:工具本身对请求解析是也需要进行转义,那么截获请求并生成的时候工具也就应该会先做好转义的处理啊,总觉得还是有些矛盾的地方。

,E%L"Gg lmh0

[!_ KA:saT Y1p0留个小尾巴,以后再详细分析吧。

:xt0_\9F9EY^051Testing软件测试网{7\P,S*O$Q#?%O

问题总归是解决了,最后,给大家做个小备忘,一般常需要使用“\”来进行转义的字符如下8个:51Testing软件测试网;lT&OH;QOxU4l

oS%ZUn0\b 退格51Testing软件测试网rdR8X S6C1OD
\f 换页
F#] K$T.s@ h3T*W0\n 换行
#ulq;}d*[W0\r 回车51Testing软件测试网`5~+v6Qbb?'\
\t 水平制表
-_JE(j5u!v.?0\\ 反斜杠
}x-cX|4u-|!g0\' 单引号
KF:khzJ%AbU%VL A:h0\" 双引号

TAG: 转义 错误码 hyperpacer

 

评分:0

我来说两句

日历

« 2024-04-07  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 30958
  • 日志数: 27
  • 建立时间: 2016-04-25
  • 更新时间: 2016-05-10

RSS订阅

Open Toolbar