zoukankan      html  css  js  c++  java
  • Jmeter参数化-CSV Data Set Config

    前言

    一般来说,我们使用Jmeter来模拟HTTP请求时,比如模拟查询学生信息,我们通常把查询接口的入参(如学生姓名)写在HTTP请求中。当只需要查询1个学生的信息时,我们可以把这名学生的姓名准确的写到入参中,但假如需要依次去查10个学生的信息时,我们需要怎么做呢?

    • 我们也可以再添加9个请求,这就可以查询10个学生的信息,但很明显,这种方法用起来太死板了,当我们要查询100个学生信息时,我们不可能在一个线程组中建100个请求去模拟查询。

    • 我们注意到,这10个请求入参,除了学生姓名,其他的设置都是一致的。因此,最好的办法是参数化。在HTTP请求中,我们不要把请求入参值写死了,把学生姓名当成变量,这样不管每次传入什么值,我们都可以只用1个请求来处理。

    Jmeter参数化

    接下来,我们主要学习下Jmeter的参数化--CSV Data Set Config(CSV 数据文件设置)。

    所有设置目录

    • 1、准备数据文件

    我们要测试的接口及接口文档来自网上项目:http://doc.nnzhp.cn/index.php?s=/6&page_id=12 。我们通过下面2个接口来学习Jmeter参数化。

    查询学生信息接口:http://api.nnzhp.cn/api/user/stu_info
    登录接口:http://api.nnzhp.cn/api/user/login

    在这里,我们需要准备2个txt文件,如下:

    数据文件

    • 2、添加 CSV Data Set Config

    首先,建议测试计划和添加线程组就不多说了,我们选择右键->添加->配置元件->CSV 数据文件设置,添加后就可以配置其参数。

    CSV-GET请求文件

    CSV-POST请求文件

    参数说明
    文件名:这里填写参数化数据文件的路径,如D:/文件名。
    文件编码:一般选择UTF-8
    变量名称:参数化文件中每列参数的名称,如果有多列参数,则加上英文逗号间隔(如文件2)
    其他的参数如无特殊需要,我们一般保持默认即可。

    • 3、在请求中引入参数

    在引入参数时,我们需要注意,参数的名称必须和上一步骤中设置的变量名称一致。

    GET 请求

    POST请求

    在这里,从接口文档中了解到,返回参数中,当错误编码error_code为0表示操作成功,因此设置了JSON断言来对结果进行断言。

    设置断言

    • 4、线程组设置循环次数

    一般来说,我们的参数化文件有多少行数据,我们就设置为多少次。在这里,根据需要设置循环次数为2,每次会读取文件中的一行数据。

    设置循环次数

    最后,运行,得到察看结果树的情况如下:

    察看结果树

    可能出现的异常问题:

    有时候,在使用txt文件参数化时,请求数据出现乱码,如下:

    请求结果

    此时,需检查CSV数据文件设置中的编码格式是否为UTF-8,同时确保txt文件的编码也是UTF-8,最好是新建1个文件,把原文件内容直接复制过去,并保存的文件编码格式选择为“UTF-8”。

    如有错误,欢迎指出!

  • 相关阅读:
    资源汇总
    最近面试经历
    Screen Space Ambient Occlusion
    实时渲染下的多线程协作:实践
    High Dynamic Range
    Deferred Shading
    实时渲染下的多线程协作
    9.了解四个相等判断的用法
    14.使用构造函数链
    16.垃圾最小化
  • 原文地址:https://www.cnblogs.com/wintest/p/11222965.html
Copyright © 2011-2022 走看看