使用SQL和CSV文件进行Jmeter功能测试验证

时间:2019-01-09 07:51:56

标签: csv jmeter

目前,我正在尝试使用Jmeter进行功能测试,但是目前,我仍停留在如何最好地实施灵活的测试验证的位置上。

最终目标是拥有一个用于输入和验证数据的csv文件,这样其他人可以轻松添加或删除测试用例。

案例:

  1. 登录
  2. 执行批量作业(涉及对象的可变nr并创建对象的可变nr)
  3. 通过datase sql语句验证结果。 (多个SQL请求和响应断言)
  4. 注销

一些我想执行的语句:

  • 开具发票的BI数量(按合同ID)
  • 具有发票ID(按合同ID)的BI的不同发票ID的数量

*获取要在以下SQL语句中使用的发票ID的列表:

  • 对于发票ID的发票抬头列表必须等于。...
  • 对于发票ID的清单,发票行必须等于。...

对于每个sql,我将使用响应断言来验证sql结果。响应声明,例如具有10行,每行中都有一个变量,并且具有OR语句以匹配/等于至少一行。 会生成数据,因此每次运行的ID可能会有所不同,我只确定对象的数据应与x个情况之一匹配。

一切都是动态的,对于从csv文件执行的每个测试用例,检查的nr都不同。 所以我想对于每个sql语句/ check / assertion,我都需要一个foreach控制器

CSV文件如下所示:

  • 批量工作/合同/合同验证/发票抬头验证/
  • 1234/12345/2/456
  • 1234/12435/5/968
  • 4256/89754/1/987465
  • 4256 / 78597/4/654
  • 4256 / 87596/2 / 852

或者这样:

  • 批量工作/合同/合同验证/发票标题验证/
  • 1234,12345:12435,2:5,456:968
  • 4256,89754:78597:87596,1:4:2,987465:654:852

存储和设置类似内容的最佳方法是什么? CSV文件或xml还是...? 也许使用多个csv文件并尝试使所有内容对齐?

1 个答案:

答案 0 :(得分:0)

考虑使用基于脚本的选项,即JSR223 Assertion

如果您在JDBC Request采样器中提供Result variable name

enter image description here

您将能够将结果集作为单个对象获得:

enter image description here

基本上是ArrayList

enter image description here

因此您将可以在一个简单的函数中对其进行迭代

enter image description here

因此,您应该能够一次完成动态断言。

如果需要,请查看Debugging JDBC Sampler Results in JMeter文章以获取更多信息。