Jmeter接口测试(七)用例数据分离
之前我们的用例数据都是配置在 Jmeter Http 请求中,每次需要增加,修改用例都需要打开 jmeter 重新编辑,当用例越来越多的时候,用例维护起来就越来越麻烦,有没有好的方法来解决这种情况呢?
其实我们可以将用例的数据存放在 csv 文件中,然后通过 csv 文件配置来读取用例中的数据,执行测试。用例数据如下图所示:

用例设计:
这里以 httpbin 接口为例,创建用例文件:jmeter-testcase.csv
用例名称变量含义:
- ${caseSeq}:用例编号
- ${apiType}:api 类型
- ${apiSeq} :api 版本号
- ${apiName}:api 名称
- ${priority}:优先级
- ${url}:api 路径
- ${methods}:请求方法
- ${parameter}: 请求参数
- ${expectValue}:期望值,用于断言
Jmeter 设置步骤:
1.新建一个线程组,命名为:数据驱动
2.创建一个 http 请求默认值,设置如下:

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

4.在循环控制器节点下创建 CSV 文件设置,具体配置内容如下:

5.创建一个 if 控制器,步骤为:线程组——添加——逻辑控制器——if 控制器
if 控制器的作用为根据不同条件执行不同的用例,例如这里根据不同的接口请求类型,分别创建了 GET 和 POST 两个控制器。
GET 设置的条件语句如下:

条件语句为:"${methods}"=="GET"其中 ${methods}表示引用 csv 中的 methods 中的值。
参数:
- Interpret Condition as Variable Expression?:如果这个选项被选中,将不会使用 js 解析;条件表达式的值必须是 true(忽略大小写),这里我们取消勾选状态。
- Evaluate for all children:如果选中这一项,在每个子结点执行前都会计算表达式
POST 条件语句设置为:"${methods}"=="POST"

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

用例名称格式:${caseSeq}_ ${apiSeq}_${apiName}
断言设置如下:${expectValue}引用 csv 中对应的值。

最后添加查看结果树,然后运行可以看到如下运行结果:

7.POST 用例设置和 GET 类似,不过参数请求不一样,是在 body 中,如果发送的是json格式的参数,需要添加http信息头管理器。另外请求方式为:POST


运行结果如下:

8.最后在线程组添加一个查看结果树,执行可以查看全部用例执行情况。

小结
通过这样的数据驱动,当面对大量用例时在 jmeter 设置就非常方便,后续的用例维护也非常高效,因为不用在jmeter 一个个去单独修改用例了。
Jmeter接口测试(七)用例数据分离的更多相关文章
- Jmeter接口测试之用例数据分离
之前我们的用例数据都是配置在 Jmeter Http 请求中,每次需要增加,修改用例都需要打开 jmeter 重新编辑,当用例越来越多的时候,用例维护起来就越来越麻烦,有没有好的方法来解决这种情况呢? ...
- Jmeter(七)Jmeter脚本优化(数据与脚本分离)
午休时间再来记一记,嗯..回顾着使用Jmeter的历程,想着日常都会用到的一些功能.一些组件:敲定了本篇的主题----------是的.脚本优化. 说起脚本优化,为什么要优化?又怎么优化?是个永恒的话 ...
- WEB接口测试之Jmeter接口测试自动化 (三)
接口测试与数据驱动 1简介 数据驱动测试,即是分离测试逻辑与测试数据,通过如excel表格的形式来保存测试数据,用测试脚本读取并执行测试的过程. 2 数据驱动与jmeter接口测试 我们已经简单介绍了 ...
- WEB接口测试之Jmeter接口测试自动化 (三)(数据驱动测试) 接口测试与数据驱动
转载:http://www.cnblogs.com/chengtch/p/6576117.html 1简介 数据驱动测试,即是分离测试逻辑与测试数据,通过如excel表格的形式来保存测试数据,用测试脚 ...
- WEB接口测试之Jmeter接口测试自动化 (三)(数据驱动测试)
接口测试与数据驱动 1简介 数据驱动测试,即是分离测试逻辑与测试数据,通过如excel表格的形式来保存测试数据,用测试脚本读取并执行测试的过程. 2 数据驱动与jmeter接口测试 我们已经简单介绍 ...
- Jmeter接口测试与数据驱动
一. 背景 数据驱动Data Driven Testing(DDT),是一种用于创建自动化测试的方法,或者说是一种架构, 本质是输入数据和用这些数据获取测试结果, 使测试逻辑和测试数据分离. DDT的 ...
- JMeter接口测试-循环读取库的用户信息
前言 如何实现循环读取数据库的用户信息,并传递到下一个登录请求呢,下面我们一起来学习吧!在之前我们已经学会了利用JMeter连接数据库了,具体操作可以看我之前的随笔JMeter接口测试-JDBC测试 ...
- 全网最全最细的jmeter接口测试教程以及接口测试流程详解
一.Jmeter简介 Jmeter是由Apache公司开发的一个纯Java的开源项目,即可以用于做接口测试也可以用于做性能测试. Jmeter具备高移植性,可以实现跨平台运行. Jmeter可以实 ...
- http接口测试——Jmeter接口测试实例讲解
摘要: 最近做的项目需要测试很多接口,上网查一查,发现完整讲述接口测试的资料太少,所以最近自己做完这个项目,把测试的东西整理一下和大家分享一下,希望对看到的人有所帮助 一.测试需求描述 1. ...
- jmeter接口测试教程
一.Jmeter接口测试步骤: 1.添加线程组
随机推荐
- 基于easyui开发Web版Activiti流程定制器详解(三)——页面结构(上)
上一篇介绍了定制器相关的文件,这篇我们来看看整个定制器的界面部分,了解了页面结构有助于更好的理解定制器的实现,那么现在开始吧! 首先,我们来看看整体的结构: 整体结构比较简单,主要包括三个部分: 1. ...
- markdownpad 2 pro版本 注册码
注册email: www.zixue.it 注册码: 4vuvQFtGkF0oH7by922v75FtaUGq7niFveCKDxqC2KSqYTfaSGzxzxKQXNhc2BG51N9URrF7 ...
- JavaScript中操作有些DOM时关于文本节点和元素节点的问题。
初学JavaScript时候,经常遇到需要操作的内容因为文本节点而使操作更麻烦或者不能达到效果. 例: <ul id="ull"> <li>111&l ...
- Hadoop学习之路(十五)MapReduce的多Job串联和全局计数器
MapReduce 多 Job 串联 需求 一个稍复杂点的处理逻辑往往需要多个 MapReduce 程序串联处理,多 job 的串联可以借助 MapReduce 框架的 JobControl 实现 实 ...
- 20165302 2017-2018-2《Java程序设计》课程总结
20165302 2017-2018-2<Java程序设计>课程总结 每周作业汇总 预备作业1 对师生关系的看法 预备作业2 C语言基础调查 预备作业3 安装虚拟机,初步学习虚拟机及常用命 ...
- 看完了红米5 Plus发布会,我觉得魅蓝Note6降价降多了
没有意外,红米5 Plus在今天下午已经发布.这款以全面屏为卖点的手机机,将红米最低端的一个系列加价到了999元起步——这一切只是因为一个全面屏而已. 知道了红米5 Plus的售价之后,李楠大呼“降多 ...
- c++——对象的动态建立和释放(new 和delete)
3.8 对象的动态建立和释放 1 new和delete基本语法 1)在软件开发过程中,常常需要动态地分配和撤销内存空间,例如对动态链表中结点的插入与删除.在C语言中是利用库函数malloc和free来 ...
- 论文笔记 M. Saquib Sarfraz_Pose-Sensitive Embedding_re-ranking_2018_CVPR
1. 摘要 作者使用一个pose-sensitive-embddding,把姿态的粗糙.精细信息结合在一起应用到模型中. 用一个新的re-ranking方法,不需要重新计算新的ranking列表,是一 ...
- P1131 [ZJOI2007]时态同步
题目描述 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3….进行标号.电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两个节点 ...
- 如何修改sharepoint中alert发送邮件模板
In my post last week I talked about customizing alert notifications and alert templates. Sometimes y ...