【问题标题】:Jmeter functional test validation with sql and csv file使用 sql 和 csv 文件进行 Jmeter 功能测试验证
【发布时间】:2019-01-09 17:44:27
【问题描述】:

目前我正在尝试使用 Jmeter 进行功能测试,但我目前还停留在如何最好地实现灵活的测试验证。

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

案例:

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

我想执行的一些语句:

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

*获取发票 ID 列表以用于以下 SQL 语句:

  • 对于发票 ID 列表的发票标题必须等于....
  • 对于发票 ID 列表的发票行必须等于....

对于每个 sql,我会使用一个响应断言来验证 sql 结果。响应断言,例如 10 行,每行内有一个变量,OR 语句匹配/等于至少一行。 生成了数据,因此每次运行的 ID 可能不同,我只确定对象的数据应该匹配 x 个案例之一。

一切都是动态的,并且检查的 nr 因从 csv 文件执行的每个测试用例而异。 所以我想我需要一个 foreach 控制器来处理每个 sql 语句/检查/断言

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 文件并尝试保持所有内容对齐?

【问题讨论】:

    标签: csv jmeter


    【解决方案1】:

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

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

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

    基本上是ArrayList

    所以你将能够在一个简单的函数中迭代它

    因此,您应该能够一次性执行动态断言。

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

    【讨论】:

    • 感谢您的回答。所以你建议我将测试数据+验证存储在数据库中并以这种方式将它们添加到变量中,而不是使用 csv 或 xml 文件?
    • 这种方法可能会帮助您减少循环/断言的数量,并使您的测试更具可读性和易于支持
    猜你喜欢
    • 2015-11-28
    • 1970-01-01
    • 1970-01-01
    • 2021-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-26
    • 2023-03-29
    相关资源
    最近更新 更多