【Jmeter篇】1小时轻松搞定项目接口自动化测试与数据驱动
之前我们的用例数据都是配置在 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小时轻松搞定项目接口自动化测试与数据驱动相关推荐
- 轻松搞定项目中的空指针异常Caused by: java.lang.NullPointerException: null
轻松搞定项目中的空指针异常Caused by: java.lang.NullPointerException: null 参考文章: (1)轻松搞定项目中的空指针异常Caused by: java.l ...
- 申请软著用的60页代码,半个小时轻松搞定
规则 软件著作权提交源代码格式四个要求 代码要求是提供原始的代码 不是关键代码 语法上要求完整 例如C++代码应该是 include 之类开头的 而不是直接一开始就是函数 C#代码应该是 using ...
- 实战U盘安装苹果系统 半小时轻松搞定
今天给大家带来的内容是"零成本打造苹果系统安装U盘",并附带苹果系统安装教程. 苹果系统向来稳定,也基本不用考虑重装问题,但凡事都有例外,比如换硬盘.对新系统不满意想换回去.垃圾软 ...
- 赖大师新文章 :Xilinx 开箱-KV260相机,两个小时轻松搞定,文章不能用我坐飞机过去帮你调哈。
Xilinx 开箱-KV260相机,不能用我坐飞机过去 文章目录 • 前言 • 一.镜像文件 • 二.连线 1.连接好网线接口到路由器,USB-micro-USB线到电脑,HDMI线到一台显示屏. 2 ...
- 空指针在java中的环境配置,轻松搞定项目中的空指针异常Caused by: java.lang.NullPointerException: null...
大家在项目测试过程中,是不是经常会碰到这个空指针异常呢Caused by: java.lang.NullPointerException: null 当大家遇到这个问题,大家是怎么处理?自己解决还是让 ...
- [JavaScript]只需一行代码,轻松搞定快捷留言-V2升级版
前天熬了大半宿发了一篇[一行代码轻松搞定快捷留言功能],同时发布了V1.0beta版的快捷留言功能和源代码,之所以是beta版,就是当时感觉虽然基本功能有了,但是还不够完善,特性也不一定合理,今天不知 ...
- pythonr语言三种基本结构_如何轻松搞定数据科学面试:Python&R语言篇
作者: Carson Forter 编译: Mika本文为 CDA 数据分析师原创作品,转载需授权 对于数据科学家来说,工作的一大部分都需要在交互式编程环境中对数据进行处理.分析和可视化. 在过去几年 ...
- coding制品库持续集成php项目,基于 CODING 轻松搞定持续集成
点击观看视频教程 带你一步一步搞定 CODING 持续集成 持续集成加速软件交付 持续集成这个概念是由 Grady Booch 在 1991 年首次提出,随后成为了 DevOps 的核心实践之一.持续 ...
- 9月20日云栖精选夜读 | 如何轻松搞定数据科学面试:Python&R语言篇
对于数据科学家来说,工作的一大部分都需要在交互式编程环境中对数据进行处理.分析和可视化. 在过去几年,R语言和Python成了进行数据科学中最炙手可热的两种语言.这两种语言各有优缺点,掌握这两种语言大 ...
最新文章
- [CRM] CRM 产品周期
- [No000011B]为什么有些程序员悄无声息渡过35岁中年危机?
- JS的document.all函数使用 示例
- 工业交换机厂家有哪些,国产工业交换机品牌排行榜
- Git Bash推送GitHub不成功---密钥设置
- 使用HTML5开发手机离线应用
- GitHub+Vue自动化构建部署
- Mosquitto感知客户端上下线的方法
- redhat java配置
- spring boot和spring cloud的区别_微服务实战系列(三)-cloud、boot及maven关系
- numpy教程:数组操作
- [2018.07.26 T1] 航线规划
- 业务需求、用户需求和功能需求
- IDEA配置方法类注释模板
- java jdom解析html_Javaweb中使用Jdom解析xml的方法
- 小白学java-JVM知识点总结
- 微信小程序红包 php,微信小程序实现红包功能(后端PHP实现逻辑)
- 微信小程序关键字搜索
- 实现vue2.0响应式原理
- 万台服务器一人挑的奥秘
热门文章
- linux实验3编写内核模块,实验2.3_内核模块_实验报告
- python批量图片转pdf,用python 制作图片转pdf工具
- 2021曾都二中高考成绩查询入口,2021高考-随州设4个考区11个考点·
- 图纸管理软件_造价20万以内的农村别墅长啥样?挑选5套图纸,让城里人羡慕吧...
- python数据分析实验报告_Python 数据分析入门实战
- anaconda下安装python,Windows下Anaconda的安装和简单使用方法
- c语言 vc++6.0集成开发环境的使用,VC6.0集成开发环境的使用.ppt
- c语言抓取抖音视频,【FiddlerScript】利用Fiddler中的FiddlerScript自动抓取抖音无水印视频并且自动保存...
- JDBC连接 Mysql数据库
- MATLAB基础教程(2) 语言基础知识