当前位置: 首页 > news >正文

jmeter响应断言放进csv文件遇到的问题

用Jmeter的json 断言去测试http请求响应结果,发现遇到中文时出现乱码,导致无法正常进行响应断言,很影响工作。于是,察看了其他测试人员的解决方案,发现是jmeter本身对编码格式的设置导致了这一问题。解决方案是在jmeter的配置文件jmeter.properties中,将编码格式sampleresult.default.encoding的值改为UTF-8改为UTF-8, 然后重启jmeter。

上图:读取csv文件的assertion断言内容是乱码。

这里的断言数据本来是下面正常显示的 客户端非法请求:username.len应该大于或等于1,但现在username.len=0这句,但实际为上面的乱码。

解决方案:

这里编码方式默认是ISO-8859-1,把它改成UTF-8. 

但是再次实践,还是报错,问题出在csv文件的编码上,如果csv文件里有中文,它的编码就要改。经过多次尝试,发现编码为UTF-8 BOM时,乱码不再有了。

如上图,从csv文件读出的内容不再是乱码,而是正常的中文。

这里又出现了另一个问题,即因为csv文件默认是以,来分隔数据的,这里只读取到有,的地方,,以后的文字就没再读

数据文件是这样的:

接下来在逗号前面加个转义符\,

发现并不能成功拿到预期结果。

问题还是有。总之,没法解决逗号后面部分的断言内容被读取。

捣鼓了一下午,发现有个地方忘记设置了,allow quoted data

把它置为true, 就是允许用引号把带逗号的数据引起来,这样就能使用带逗号的数据了。

下面,测验下,两条数据分别用双引号和单引号引起来

再次运行脚本,看结果:终于把整句话都读出来了!!

第一条数据的断言结果是,期望值带的双引号和实际结果不符,所以断言失败。

第二条数据用单引号引起,期望值带的最后有两个单引号和实际结果不符,断言失败。

后来,将csv文件中断言部分改成只在行首加一个英文符号的单引号【这是什么操作,不太清楚,但是这样管用。】

再次运行脚本,结果就通过了。

总结:如果响应断言里有逗号,得把allow quoted data设置为True【这个非常重要,而且文件中怎么写引号也有讲究,设置不好结果就不是想要的结果了】。这块的操作细节要注意好,才能给测试工作带来期望的结果。

http://www.lryc.cn/news/465612.html

相关文章:

  • 复旦大学全球供应链研究中心揭牌,合合信息共话大数据赋能
  • 达那福发布新品音致系列:以顶尖降噪技术,开启清晰聆听新篇章
  • 当物理学奖遇上机器学习:创新融合的里程碑
  • 模拟电路2
  • 大数据面试题整理——MapReduce
  • 【景观生态学实验】实验一 ArcGIS地理数据处理及制图基础
  • 今年双十一最值得入手的好物有哪些?双十一值得选购的好物盘点!
  • 【OpenCV】人脸识别方法
  • xxl-job定时任务
  • C#从零开始学习(如何构建应用)(1)
  • OpenCV高级图形用户界面(7)获取指定窗口的属性值函数getWindowProperty()的使用
  • Java实现文件上传功能
  • Leetcode|24. 两两交换链表中的节点 ● 19.删除链表的倒数第N个节点 ● 面试题 02.07. 链表相交 ● 142.环形链表II
  • OpenCV学习笔记5——图像的数值计算
  • P3137 [USACO16FEB] Circular Barn S
  • yocto编辑软件包-devtool的使用方法
  • 51单片机快速入门之 串行通信 2024/10/21
  • webpack 老项目升级记录:node-sass 规定的 node v8 提升至支持 node v22
  • 【wpf】08 xml文件的存取操作
  • 即时通讯代码优化
  • jmeter学习(8)界面的使用
  • 记录一次hiveserver2卡死(假死)问题
  • 【ios】在 SwiftUI 中实现可随时调用的加载框
  • 字符、解释型语言、编程语言的互操作、输出
  • 基于Python的自然语言处理系列(39):Huggingface中的解码策略
  • 如何将视频格式转为mp4?好好看看下面这几个方法
  • 景区智慧公厕系统,监测公厕异味,自动清洁除臭
  • GitLab CVE-2024-6389、CVE-2024-4472 漏洞解决方案
  • hashCode的底层原理
  • hadoop_hdfs详解