当我们使用Jmeter工具进行接口测试,可利用CSV Data Set Config配置元件,对测试数据进行参数化,循环读取csv文档中每一行测试用例数据,来实现接口自动化。此种情况下,很多测试工程师只会人工地查看响应结果来判断用例是否通过。
      其实我们同样可利用CSV Data Set Config来帮助我们实现自动断言。
      思路:将每一条用例的预期结果一并保存在csv文档中,循环读取文档中的期望结果,来跟实际运行的结果进行一致性判断,高效实现接口自动化。

示例:

1、整理测试数据及预期结果的CSV文档

比如当前要去测试一个注册接口,先来分析下注册传入哪些参数,有包括手机号码mobile_phone、密码Pwd、用户类型type、注册名reg_name;分析注册返回结果并取响应结果中参数code、msg实现断言。
将注册中每条用例需要传入的这4个参数数据,以及需要断言的期望的code、msg整理到一个csv文档中,如下:

2、CSV测试数据参数化

打开jmeter,添加好线程组、信息头管理器、注册请求、CSV数据文件设置、查看结果树;

1)CSV数据文件设置

以上注意:若CSV中数据包含中文,这里设置文档默认编码GBK。另外关于CSV Data Set Config的每一项设置说明可参考我以前写的文章https://www.cnblogs.com/tudou-22/p/9197992.html

2)线程组设置

一般CSV文档中有几条用例,就设置线程数为几。这里有5条用例数据,所以就设置为5

3)注册请求变量引用

注册请求传入的json数据中,将值的部分进行${变量名}。

3、设置断言

在注册请求下添加响应断言,因为接口返回的响应结果为json格式;所以这里响应内容设置为"code":${code},"msg":"${msg}"
其中${code},${msg}为读取到的CSV文档中的值

4、运行,查看结果树及断言结果

可看到针对每一条用例都分别进行了预期结果跟实际结果的一致性判断,判断通过则显示绿色,判断不通过,显示红色。

Jmeter 中 CSV 如何参数化测试数据并实现自动断言的更多相关文章

  1. jmeter使用csv进行参数化(一)

    先录制一个脚本,具体录制可以参考笔者的随笔:http://www.cnblogs.com/wuyazi/p/8889770.html 1.准备参数化文本内容:mac没有自带的txt文本编辑器,笔者是在 ...

  2. Jmeter使用csv文件读取测试数据

    最近有同事在测试过程中遇到需要造批量测试数据的问题,这些数据往往是同一种单据,但是单据的内容不同,如果手工创建就比较费时费力.那我们用jmeter的csv文件来读取测试数据就完美解决了这个问题. 我们 ...

  3. jmeter使用csv进行参数化(二)

    上篇说的是csv的第一种方法进行参数化,这篇说第二种方法. 重新打开录制好的脚本. 1.提取函数变量 打开选项--函数助手对话框 设置对话框参数: 选择csvread,然后将变量文件的路径填写进来.添 ...

  4. jmeter中CSV Data Set Config各项说明

    Config the CSV Data Source: 1)Filename:csv文件的名称(包括绝对路径,当csv文件在bin目录下时,只需给出文件名即可) 2)File encoding:csv ...

  5. jmeter中使用jdbc参数化

    以读取mysql数据库为例 1.下载一个mysql驱动包,最好去mysql官网下载 下载网址:https://dev.mysql.com/downloads/connector/j/ Select O ...

  6. jmeter之csv文件参数化

    1.准备好CSV文件,记下路径 2.点击测试计划或者线程组,添加配置元件 ——CSV Data Set Config 3.填写相关参数 4.使用参数

  7. Jmeter使用CSV Data参数化,中文参数传递过程出现乱码问题

    解决方式:文件编码改为GB2312.GBK.GB18030(utf-8同样会乱码)

  8. 『动善时』JMeter基础 — 23、JMeter中使用“用户自定义变量”实现参数化

    目录 1.用户自定义变量介绍 2.使用"用户自定义变量"实现参数化 (1)测试计划内包含的元件 (2)数据文件内容 (3)测试计划界面内容 (4)线程组元件内容 (5)CSV数据文 ...

  9. 『动善时』JMeter基础 — 24、JMeter中使用“用户参数”实现参数化

    目录 1.用户参数组件介绍 2.用户参数界面介绍 3.使用"用户参数"组件实现参数化 (1)测试计划内包含的元件 (2)线程组元件内容 (3)HTTP请求组件内容 (4)用户参数组 ...

随机推荐

  1. mysql 主键自增设置,插入数据就不必再设置了。

    (完)

  2. (私人收藏)2019WER积木教育机器人赛(普及赛)基础解决方案

    2019WER积木教育机器人赛(普及赛)基础解决方案 含地图.基础解决方案.全部路线的往返.详细规则.视频.搭建方案 EV3;乐高;机器人比赛;能力风暴;WER https://pan.baidu.c ...

  3. 怎么给tbody加滚动条?通过css样式给表格tbody加垂直滚动条

    tbody加滚动条实现思路: 1,把tbody设置成display:block,然后就对其高度设置一个固定值,overflow设置成auto. 2,把thead的tr设置成display:block. ...

  4. 赞!7000 字学习笔记,一天搞定 MySQL

    MySQL数据库简介 MySQL近两年一直稳居第二,随时有可能超过Oracle计晋升为第一名,因为MySQL的性能一直在被优化,同时安全机制也是逐渐成熟,更重要的是开源免费的. MySQL是一种关系数 ...

  5. finally 关键字

    异常处理的时侯 出现的关键字finally 不论在  try  代码块中是否出现  发生了异常时间,  catch语句是否执行,catch语句是否有异常,catch语句中是否return关键字  ,f ...

  6. [POJ3613] Cow Relays(Floyd+矩阵快速幂)

    解题报告 感觉这道题gyz大佬以前好像讲过一道差不多的?然鹅我这个蒟蒻发现矩阵快速幂已经全被我还给老师了...又恶补了一遍,真是恶臭啊. 题意 给定一个T(2 <= T <= 100)条边 ...

  7. CentOS7下安装和配置SVN

    1. 由于是在CentOS7最小化安装的操作系统环境安装SVN,我们首先排除一些环境因素.在此首先关闭了防火墙,安装了vim文本编辑工具.   2. 使用yum install -y subversi ...

  8. cmake的下载和安装

    背景: 最近迷上了 vscode 编辑器, 快速便捷,而且插件丰富,使用起来很爽.既然这样,本身游戏也是用 mingw 加 cygwin 开发的, 可以配置一下,开搞. 实操: 1.登陆cmake官网 ...

  9. django中的懒加载机制

    懒加载在前端中的意义: 懒加载的主要目的就是作为服务器前端的优化,减少请求次数或者延迟请求数. 实现原理: 先加载一部分数据,当触发某个条件时利用异步加载剩余的数据,新得到的数据不会影响原有数据的显示 ...

  10. Oracle数据库期末总结

    目录 基础内容-服务相关 Oracle体系结构: 表空间与数据文件之间的关系: 内存结构(SGA ,PGA) 表空间(大题)(tablespace) 数据文件(大题)(.dbf) 控制文件,记录和维护 ...