JMeter读取 Excel 表中用例数据实现接口压测

Posted 程序员二黑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JMeter读取 Excel 表中用例数据实现接口压测相关的知识,希望对你有一定的参考价值。

大家好,我是二黑,这里赠送一套软件测试相关资源:

  • 软件测试相关工具
  • 软件测试练习集
  • 深入自动化测试
  • Python学习手册
  • Python编码规范
  • 大厂面试题和简历模板

关注我公众号:【程序员二黑】即可免费领取!

交流群:642830685

前言

传统的接口测试,都是在接口中手动输入不同用例准备的多种场景参数数据,一遍一遍的输入来执行多个不同的用例,但是现在利用excel表格准备各种类型的数据,使用Jmeter中Jmeter CSV Data Set Config参数化实现可设置的、一次性的读取excel表中多个或者全部用例设计的数据,一次性看到多个用例数据运行出相应的结果。

这样可以避免每次去更改参数值的烦恼,也减少修改参数出错的机率。这样大大减少了测试人员的工作量,并且也提高了接口测试用例的执行效率。Jmeter 读取excel数据使用的方法是使用Jmeter CSV Data Set Config参数化,使用方法如下:

1、数据准备

准备数据文件,一般以 .csv,.dat 等结尾的文件,数据之间的分隔符可用 ,或者 tab。

其中,将excel文件保存成csv格式后,jmeter读取后返回的数据总是出现乱码问题,以下就是解决的办法:先制作一个excel表格,导出存为.csv格式的文件。读取txt中的数据也是类似方法。

2、数据读取

使用CSV Data Set Config参数化将csv里面的数据读取,以下是CSV Data Set Config各个参数使用说明:

  • (1)Filename:数据文件的路径。

  • (2)Delimiter:数据之间的分隔符可用 ,或者 tab。

  • (3)Allow Quoated data: 双引号相关,例:如果参数中需包含,或者”等,该项可以选择True。

  • (4)Recycle on EOF: 设置为True后,允许循环取值

  • (5)Stop Thread EOF: 当Recycle on EOF为false并且Stop Thread EOF 为true,则读完csv文件中的记录后,停止运行,线程数及执行次数无效。

  • (6)Sharing Mode:共享模式:

All threads:所有线程,所有线程循环取值,线程1取第一行,线程二取下一行。

Current thread group:当前线程组,各个线程组分别循环取值。

Current thread:当前线程,该测试计划内的所有线程都取第一行。

3、参数的应用

本实例是以居民端H5的XXXX接口为例,体验一下Jmeter通过获取excel中的用例数据运行一堆用例的过程,体验一下数据驱动的执行方式:

1.先准备测试数据,准备了多条不同的测试用例的数据

2.使用benshell将数据获得

在这里插入图片描述

3.下面是添加一个Debug sampler(里面什么也不用,设置保持默认)

Debug Sampler介绍:

使用Jmeter开发脚本时,难免需要调试,这时可以使用Jmeter的Debug Sampler,它有三个选项:JMeter properties,JMeter variables,System properties:

(1)JMeter properties和System properties:通常都选false,这两个就是JMeter和系统的属性,在Jmeter的bin的jmeter.properties中定义,一般都不会变。

(2)JMeter variables:这个是我们自已定义的变量,定义的方式有如下这些:

a) 选中测试计划(Test plan),在右边的面板上添加User Defined Variables

b) 选中线程组,右键选择 配置元件( config element)–>User Defined Variables

c) 通过后置处理器生成的变量

d)使用csv参数化的变量

4.添加一个http post接口,传参需是json格式,因此要先配置http信息头管理器

在这里插入图片描述
在这里插入图片描述

5.添加线程组的察看结果树

根据设置的执行用例数目,比如:100,则执行excel表中相应的100条用例数据,并输出对应的结果,也可以进行对应的压测。此时会把excel中准备的数据前100条用例都会执行一遍,如果进行压测时,则可以把循环的测试次数设置的足够大,比如:1000,查看聚合报告,就可以看到接口测试压力测试的情况了很方便。

(1)察看结果树
在这里插入图片描述

(2)聚合报告。对接口遍历100个用例的压测,其运行得到的聚合报告图,如下:

在这里插入图片描述
最后为方便大家学习测试,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。
在这里插入图片描述
包括,软件学习路线图,50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2021软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助……

关注我公众号:【程序员二黑】即可获取这份资料了!

推荐阅读

高薪程序员也躲不过35岁这一关…当能力与年龄脱节,我们该如何自救

大学毕业开始销售…不甘于现状,转行测试的自救之路

从销冠到失业,最后选择软件测试,回头看看这段路,我很幸运!

以上是关于JMeter读取 Excel 表中用例数据实现接口压测的主要内容,如果未能解决你的问题,请参考以下文章

在excel中用SQL语句查询时选取所有字段时可以提取,选部分字段时出现查询无法运行或数据库表无法打开。

jmeter数据驱动做接口测试

接口测试自动化:基于Ant+Jmeter+Jenkins

Python使用Openpyxl库将多行多列数据复制到新Excel表示例

面试问到的项目中用例数有多少?bug数有多少?别再傻傻的发呆!!!

WEB接口测试之Jmeter接口测试自动化 (数据驱动测试)