jmeter接口测试_Jmeter接口测试之用例数据分离

5f51e239e03285c861e99a73a0c76507.gif

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

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

bab8f22ebf260381b5913927447171e7.png

用例设计

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

  用例名称变量含义:

  • ${caseSeq}:用例编号

  • ${apiType}:api 类型

  • ${apiSeq} :api 版本号

  • ${apiName}:api 名称

  • ${priority}:优先级

  • ${url}:api 路径

  • ${methods}:请求方法

  • ${parameter}: 请求参数

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

Jmeter 设置步骤

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

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

efde436faa1a1a0d8218ad2edc55df52.png

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

93d6c0986c8c8c1fd9020114293095c2.png

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

def3f07d0d1f1f7cf113613173a96b88.png

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

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

  GET 设置的条件语句如下:

44f995bbf8702afce615449a1c1c9dc6.png

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

  参数:

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

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

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

724d51cfa68463d3e585035f289df38c.png

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

c131f151b947b4bd84f9deadbb46041a.png

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

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

05427b1cfdafcfeadd93270296c6ef96.png

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

8e62861dda07a21634804cb5f591a0fe.png

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

f21040a0c352b3f30ee121865e57be4c.png

9e4ca6cf4d0eb43d91c7049d28c3fc3b.png

  运行结果如下:

e8a378ded7ca6870ac5e98d50ff6c229.png

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

1fdab71c3a597bf70ddc5f205d176505.png

小结

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

ff6196d729197fe71c57651f93668f51.gif 推荐阅读

点击阅读☞测试人员不得不小心那些职场套路

点击阅读☞JMeter配置Web浏览器的代理抓取请求

点击阅读☞Jmeter接口测试加解密及Bean Shell使用案例

点击阅读☞JMeter+Ant实现性能测试自动化

点击阅读☞JMeter调试脚本之用户自定义变量

上文内容不用于商业目的,如涉及知识产权问题,请联系小编(021-64471599-8017)。

36f994e5a5e471308e220449a75f8943.gif

76d62545bd571d84de51bec7133dc2af.gif1f0887060fc3aebf7b551ea43cbdeb00.gif 39b595c2dd83ff9c6bffabf9517ca65b.png爱我请给我好看! 1f0887060fc3aebf7b551ea43cbdeb00.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值