在使用JMeter过程中,执行结果响应断言总是提示失败,但是使用英文字母可以成功,表示逻辑和其它地方没有问题,问题可能出在编码上,细看了响应数据和日志,其中中文参数被编码成了类似URL编码格式,如下图
在网上找了解决方法,要手动一个个去改源代码,显得有些麻烦,就进行了各种试验
第一次,将请求samper里的编码由utf8改为gbk,如下图,
执行结果响应数据中显示请求关键字是乱码,如下图
然后,将samper请求参数中ie后的编码进行勾选,如下图,再次执行,结果断言还是参数被编码,即本文最开始描述的问题
最后,将samper请求中的Content encoding改为gbk,保存后再执行测试计划
执行结果如下,执行通过,响应数据中正常显示了中文参数,响应断言通过
最后再试验了一下将samper请求参数中ie的值改为原来的utf8,不勾选编码,只讲Content encoding改为gbk,如下图,保存后执行计划
samper执行通过,响应断言成功,响应数据中请求关键字显示中文编码,进行了utf8编码,请求的是中文参数,如下图
综上所述,JMeter使用过程中,如果参数为中文,则请求的Content encoding需要改为gbk