首页 技术 正文
技术 2022年11月15日
0 收藏 809 点赞 4,577 浏览 1280 个字

  之前我们的用例数据都是配置在 Jmeter Http 请求中,每次需要增加,修改用例都需要打开 jmeter 重新编辑,当用例越来越多的时候,用例维护起来就越来越麻烦,有没有好的方法来解决这种情况呢?

  其实我们可以将用例的数据存放在 csv 文件中,然后通过 csv 文件配置来读取用例中的数据,执行测试。用例数据如下图所示:

Jmeter接口测试(七)用例数据分离

用例设计:

  这里以 httpbin 接口为例,创建用例文件:jmeter-testcase.csv

  用例名称变量含义:

    •   ${caseSeq}:用例编号
    •   ${apiType}:api 类型
    •   ${apiSeq} :api 版本号
    •   ${apiName}:api 名称
    •   ${priority}:优先级
    •   ${url}:api 路径
    •   ${methods}:请求方法
    •   ${parameter}: 请求参数
    •   ${expectValue}:期望值,用于断言

Jmeter 设置步骤:

  1.新建一个线程组,命名为:数据驱动

  2.创建一个 http 请求默认值,设置如下:

Jmeter接口测试(七)用例数据分离

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

Jmeter接口测试(七)用例数据分离

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

Jmeter接口测试(七)用例数据分离

  5.创建一个 if 控制器,步骤为:线程组——添加——逻辑控制器——if 控制器

  if 控制器的作用为根据不同条件执行不同的用例,例如这里根据不同的接口请求类型,分别创建了 GET 和 POST 两个控制器。

  GET 设置的条件语句如下:

Jmeter接口测试(七)用例数据分离

  条件语句为:”${methods}”==”GET”其中 ${methods}表示引用 csv 中的 methods 中的值。

  参数:

    • Interpret Condition as Variable Expression?:如果这个选项被选中,将不会使用 js 解析;条件表达式的值必须是 true(忽略大小写),这里我们取消勾选状态。
    • Evaluate for all children:如果选中这一项,在每个子结点执行前都会计算表达式

  POST 条件语句设置为:”${methods}”==”POST”

Jmeter接口测试(七)用例数据分离

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

Jmeter接口测试(七)用例数据分离

  用例名称格式:${caseSeq}_ ${apiSeq}_${apiName}

  断言设置如下:${expectValue}引用 csv 中对应的值。

Jmeter接口测试(七)用例数据分离

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

Jmeter接口测试(七)用例数据分离

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

Jmeter接口测试(七)用例数据分离

Jmeter接口测试(七)用例数据分离

  运行结果如下:

  Jmeter接口测试(七)用例数据分离

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

Jmeter接口测试(七)用例数据分离

小结

  通过这样的数据驱动,当面对大量用例时在 jmeter 设置就非常方便,后续的用例维护也非常高效,因为不用在jmeter 一个个去单独修改用例了。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,917
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,442
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,255
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,068
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,700
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,741