码迷,mamicode.com
首页 > 其他好文 > 详细

JMeter-接口测试之数据驱动

时间:2020-03-05 13:39:15      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:method   ble   get请求   打开   次数   expect   使用   版本   case   

前言

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

一:设置测试用例,创建用例数据文件:testcase.csv

技术图片

用例名称变量含义

${caseSeq}:用例编号

${apiType}:api 类型

${apiSeq} :api 版本号

${apiName}:api 名称

${priority}:优先级

${url}:api 路径

${methods}:请求方法

${parameter}: 请求参数

${expectValue}:期望值,用于断言

二:新建一个线程组,命名为:数据驱动,添加http 请求默认值,配置好IP地址和端口号

技术图片

三:添加逻辑控制器-循环控制器。 循环控制器的作用可以控制整个用例循环执行的次数。默认值是1根据用例数量可以修改为8

技术图片

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

技术图片

五:添加逻辑控制器——如果(if) 控制器,if 控制器的作用为根据不同条件执行不同的用例,例如这里根据不同的接口请求类型,分别添加GET和POST两个控制器。

技术图片

(1)GET 设置的条件语句为:"${methods}"=="GET",其中 ${methods}表示引用 csv 中的 methods 中的值

技术图片

(2)POST 条件语句设置为:"${methods}"=="POST"

技术图片

注:Interpret Condition as Variable Expression?:如果这个选项被选中,将不会使用 js 解析;条件表达式的值必须是 true(忽略大小写),这里我们取消勾选状态。

Evaluate for all children:如果选中这一项,在每个子结点执行前都会计算表达式

六:GET和POST两个控制器下分别添加请求和响应断言

(1)添加GET请求类型的用例,用例名称格式:${caseSeq}_ ${apiSeq}_${apiName}

注:以CSV文件的参数名称来组合命名HTTP请求的名称,这样在结果树就会依据用例的编号,接口名称等显示每个用例的名称

技术图片

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

技术图片

(3)添加POST请求类型的用例,用例名称格式:${caseSeq}_ ${apiSeq}_${apiName}

技术图片

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

技术图片

(5)POST请求如果发送的是json格式的参数,需要添加http信息头管理器。

技术图片

七:添加监听器-察看结果树,点击运行,查看执行结果

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

JMeter-接口测试之数据驱动

标签:method   ble   get请求   打开   次数   expect   使用   版本   case   

原文地址:https://www.cnblogs.com/zhangwuxuan/p/12416311.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!