之前我们的用例数据都是配置在 Jmeter Http 请求中,每次需要增加,修改用例都需要打开 jmeter 重新编辑,当用例越来越多的时候,用例维护起来就越来越麻烦,有没有好的方法来解决这种情况呢?

其实我们可以将用例的数据存放在 csv 文件中,然后通过 csv 文件配置来读取用例中的数据,执行测试。用例数据如下图所示:

用例设计

创建用例文件:login.csv

保存目录C:\jmeter\apache-jmeter-5.0\bin\parameter\login.csv,csv数据设置文件中要用到这个路径

用例名称含义:

Name 接口名称 ${Name}

CaseNo 用例编号 ${CaseNo}

Priority 优先级 ${Priority }

Type 请求方法 ${Type}

Url 域名 ${Url}

Param 参数 ${Param}

Assertion 断言值 ${Assertion}

Jmeter设置步骤:

1、新建一个线程组,命名为:数据驱动

2、创建一个 HTTP请求默认值放域名、HTTP信息头管理器放头信息,供所有接口共用,如图:

3、添加循环控制器

线程组——添加——逻辑控制器——循环控制器。 循环控制器的作用可以控制整个用例循环执行的次数。默认值是 1 根据用例数量可以修改为 8,循环8次

4、在循环控制器节点下创建 CSV 文件设置

循环控制器—添加—CSV 数据文件设置,循环读取excel用例数据的每个字段,具体配置内容如下:

5、创建 if 控制器,步骤为:循环控制器——添加——逻辑控制器——if 控制器()

if 控制器的作用判断用例优先级,可以选取性执行

条件语句为:"${Priority}"=="H"其中 ${Priority}表示引用 csv 中的 Priority中的值。

6、创建两个 if 控制器,步骤为:优先级控制器——添加——逻辑控制器——if 控制器

if 控制器的作用为根据不同请求方式执行不同的请求,例如这里根据不同的接口请求类型,分别创建了 GET 和 POST 两个控制器。

GET 设置的条件语句如下:

条件语句为:"${Type}"=="get"其中 ${Type}表示引用 csv 中的 Type中的值。

POST 设置的条件语句如下:

POST 条件语句设置为:"${Type}"=="post"其中 ${Type}表示引用 csv 中的 Type中的值

7、GET 和 POST 两个控制器下分别添加采样器、断言、结果树

8、创建请求类型设置

创建 GET 请求类型的用例如下:

用例名称格式:${Name}_${CaseNo} 接口地址_用例编号

接口路径:${Name}?${Param} 接口地址?参数

创建 POST 请求类型的用例如下:

POST 用例设置和 GET 类似,不过参数请求不一样,是在 body 中,如果发送的是json格式的参数

用例名称格式:${Name}_${CaseNo} 接口地址_用例编号

接口路径:${Name} 接口地址

消息体:${Param} 参数

9、设置断言

GET请求喝POST请求下分别设置断言${Assertion}  =cvs中Assertion

10、查看GET和POST请求接口传参

GET:

http://www.baidu.com/1.0/users/login?username=1

POST:

http://www.baidu.com/1.0/users/login

{"username":2}

这样简单的操作就实现了Jmeter接口自动化的数据分离,简单的Jmeter配置+csv用例数据

【Jmeter篇】1小时轻松搞定项目接口自动化测试与数据驱动相关推荐

  1. 轻松搞定项目中的空指针异常Caused by: java.lang.NullPointerException: null

    轻松搞定项目中的空指针异常Caused by: java.lang.NullPointerException: null 参考文章: (1)轻松搞定项目中的空指针异常Caused by: java.l ...

  2. 申请软著用的60页代码,半个小时轻松搞定

    规则 软件著作权提交源代码格式四个要求 代码要求是提供原始的代码 不是关键代码 语法上要求完整 例如C++代码应该是 include 之类开头的 而不是直接一开始就是函数 C#代码应该是 using ...

  3. 实战U盘安装苹果系统 半小时轻松搞定

    今天给大家带来的内容是"零成本打造苹果系统安装U盘",并附带苹果系统安装教程. 苹果系统向来稳定,也基本不用考虑重装问题,但凡事都有例外,比如换硬盘.对新系统不满意想换回去.垃圾软 ...

  4. 赖大师新文章 :Xilinx 开箱-KV260相机,两个小时轻松搞定,文章不能用我坐飞机过去帮你调哈。

    Xilinx 开箱-KV260相机,不能用我坐飞机过去 文章目录 • 前言 • 一.镜像文件 • 二.连线 1.连接好网线接口到路由器,USB-micro-USB线到电脑,HDMI线到一台显示屏. 2 ...

  5. 空指针在java中的环境配置,轻松搞定项目中的空指针异常Caused by: java.lang.NullPointerException: null...

    大家在项目测试过程中,是不是经常会碰到这个空指针异常呢Caused by: java.lang.NullPointerException: null 当大家遇到这个问题,大家是怎么处理?自己解决还是让 ...

  6. [JavaScript]只需一行代码,轻松搞定快捷留言-V2升级版

    前天熬了大半宿发了一篇[一行代码轻松搞定快捷留言功能],同时发布了V1.0beta版的快捷留言功能和源代码,之所以是beta版,就是当时感觉虽然基本功能有了,但是还不够完善,特性也不一定合理,今天不知 ...

  7. pythonr语言三种基本结构_如何轻松搞定数据科学面试:Python&R语言篇

    作者: Carson Forter 编译: Mika本文为 CDA 数据分析师原创作品,转载需授权 对于数据科学家来说,工作的一大部分都需要在交互式编程环境中对数据进行处理.分析和可视化. 在过去几年 ...

  8. coding制品库持续集成php项目,基于 CODING 轻松搞定持续集成

    点击观看视频教程 带你一步一步搞定 CODING 持续集成 持续集成加速软件交付 持续集成这个概念是由 Grady Booch 在 1991 年首次提出,随后成为了 DevOps 的核心实践之一.持续 ...

  9. 9月20日云栖精选夜读 | 如何轻松搞定数据科学面试:Python&R语言篇

    对于数据科学家来说,工作的一大部分都需要在交互式编程环境中对数据进行处理.分析和可视化. 在过去几年,R语言和Python成了进行数据科学中最炙手可热的两种语言.这两种语言各有优缺点,掌握这两种语言大 ...

最新文章

  1. [CRM] CRM 产品周期
  2. [No000011B]为什么有些程序员悄无声息渡过35岁中年危机?
  3. JS的document.all函数使用 示例
  4. 工业交换机厂家有哪些,国产工业交换机品牌排行榜
  5. Git Bash推送GitHub不成功---密钥设置
  6. 使用HTML5开发手机离线应用
  7. GitHub+Vue自动化构建部署
  8. Mosquitto感知客户端上下线的方法
  9. redhat java配置
  10. spring boot和spring cloud的区别_微服务实战系列(三)-cloud、boot及maven关系
  11. numpy教程:数组操作
  12. [2018.07.26 T1] 航线规划
  13. 业务需求、用户需求和功能需求
  14. IDEA配置方法类注释模板
  15. java jdom解析html_Javaweb中使用Jdom解析xml的方法
  16. 小白学java-JVM知识点总结
  17. 微信小程序红包 php,微信小程序实现红包功能(后端PHP实现逻辑)
  18. 微信小程序关键字搜索
  19. 实现vue2.0响应式原理
  20. 万台服务器一人挑的奥秘

热门文章

  1. linux实验3编写内核模块,实验2.3_内核模块_实验报告
  2. python批量图片转pdf,用python 制作图片转pdf工具
  3. 2021曾都二中高考成绩查询入口,2021高考-随州设4个考区11个考点·
  4. 图纸管理软件_造价20万以内的农村别墅长啥样?挑选5套图纸,让城里人羡慕吧...
  5. python数据分析实验报告_Python 数据分析入门实战
  6. anaconda下安装python,Windows下Anaconda的安装和简单使用方法
  7. c语言 vc++6.0集成开发环境的使用,VC6.0集成开发环境的使用.ppt
  8. c语言抓取抖音视频,【FiddlerScript】利用Fiddler中的FiddlerScript自动抓取抖音无水印视频并且自动保存...
  9. JDBC连接 Mysql数据库
  10. MATLAB基础教程(2) 语言基础知识