Jmeter 中 CSV 如何参数化测试数据并实现自动断言

86 篇文章 8 订阅
23 篇文章 1 订阅

当我们使用 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 文档中,如下:

image.png

 

2、CSV 测试数据参数化

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

1)CSV 数据文件设置

image.png

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

2)线程组设置

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

 

3)注册请求变量引用

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

 

3、设置断言

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

 

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

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


 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!对于JMeter接口自动测试的面试问题,我可以为你提供一些常见的问题和答案。请注意,以下答案仅供参考,你可以根据自己的实际经验和知识进行回答。 1. 请介绍一下JMeterJMeter是一个开源的Java框架,用于进行性能测试、负载测试和功能测试。它可以模拟多种类型的请求,如HTTP、HTTPS、FTP、数据库连接等,并提供了丰富的图形界面来配置和运行测试计划。 2. 什么是JMeter的线程组(Thread Group)? 线程组是JMeter用来模拟多个并发用户的元素。每个用户可以执行一系列的请求,并在指定的时间内模拟虚拟用户的行为。线程组还可以配置并发用户数、循环次数、延迟时间等参数。 3. JMeter如何添加HTTP请求? 要添加HTTP请求,你可以在线程组右键点击,选择“添加”->“取样器”->“HTTP请求”。然后你可以通过填写URL、方法(GET、POST等)、参数等来配置HTTP请求。 4. 请解释一下JMeter断言(Assertion)是什么? 断言用于校验服务器返回的响应数据是否符合预期。JMeter提供了多种类型的断言,如响应代码、响应消息、响应时间、响应数据断言。你可以选择适合你的测试需求的断言类型,并根据具体的断言规则进行配置。 5. 如何在JMeter进行参数参数可以帮助我们模拟多个用户使用不同的数据进行测试。在JMeter,你可以使用CSV数据文件来进行参数。首先,准备一个包含测试数据CSV文件。然后,在HTTP请求使用变量名来引用CSV文件数据。这样,每个线程都使用不同的数据进行测试。 这些问题只是作为参考,面试时还可能涉及到其他方面的问题。希望对你有所帮助,祝你面试顺利!如有更多问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值