jmeter是apache公司基于java开发的一款开源测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单,以下是我使用过程的一些问题小结。
jmeter自动化测试用例两种设计方式
方式一:一条case覆盖一个测试场景
方式二:一条case覆盖多个测试场景,通过引入数据文件的参数值不同。
执行效果分别如下:
以上两种设计方式编写脚本耗时相近,从执行结果分析,第一种方式一目了然知道每个测试场景执行结果是怎样的,第二种设计方式,执行结果不太清晰,需要根据请求参数,进一步分析每个测试场景的测试结果,(jmeter的查看结果树信息显示没有按接口启动顺序显示的,而是按接口响应先后顺序展示的)从对测试数据依赖来分析,第一种方式不能剥离脚本与测试数据,第二种方式就完全剥离了,总而言之,各有所长,个人比较倾向第一种方式,因查看结果比较清晰。
Jmeter读取数据文件出现乱码
Jmeter读取文件数据时,经常看到取第一条数据出现乱码(如下图红色标记部分)。
解决方案:将数据文件用UltraEdit或者NotePad++软件保存文件为“UTF-8无BOM编码格”式。(如下图)
设置读取数据文件内容不重复
并发测试场景的两种设计方式
方式一:启动两个jmeter,在线程组的调度器设置相同的启动时间(注意时间要设置未来时间,且在设定时间先启动,等到时间点运行,如果时间过了,脚本就不会再执行了。)
方式二:添加定时器,添加Synchronizing Timer组件。
参数Parameters和Body Data的区别
Body Data的应用于json数据,而Parameters应用于object类型,如何抉择依赖后台接口所支持的数据格式,编写数据格式分别如下。
If控制器的使用
获取if条件值
设置If 条件
仅一次循环器的使用
仅用于循环控制器使用,对于多线程无效。
取样器结果
Sample Start:请求启动时间
Load time:请求耗时时间
Connect Time: jmeter连服务耗时
Size in bytes: 响应数据总大小
Headers size in bytes: 响应头数据大小
Body size in bytes: 响应body数据大小