我可以从一个场景中获取值并将其传递给性能场景并使用 Karate-Gatling 并行执行所有数据集吗

Can I take the values from one scenario and pass it to the Performance Scenario and execute all data-sets paralelly using Karate-Gatling

我已经实现了功能回归空手道 API 测试和空手道加特林机性能测试,使用静态数据,效果很好。现在有一个要求,我必须使用一个早期场景中的多个数据集,并将该数据集传递给性能场景,然后并行执行所有数据集。 我将生成数据的基本场景是 -

Scenario: Get the list of Product ID
     Given url url
     When method GET
     Then status 200
     * def productids = $[*].productID

每个请求将包含大约 5 个产品 ID,这将再次用于在 产品场景 中执行 GET,如下所示

Scenario: Product Scenario
    Given url baseUrl + productids
    When method GET
    Then status 200

现在的要求是运行 产品场景 的性能测试,用于并行从第一个场景获得的所有产品 ID。 即:productID1的10个线程,productID2的10个线程,productID3的10个线程都应该并行触发

是否可以通过 Karate-Gatling 来实现?

谢谢

是的,这是我们在 1.1.0 中实现的,请您仔细阅读:https://github.com/intuit/karate/issues/1622

文档也对此进行了解释,截图如下:https://github.com/intuit/karate/tree/master/karate-gatling#chaining

当然您的反馈很重要,试试吧,如果需要更多改进,也请考虑贡献代码!

我也有同样的需求,但是它并没有真正允许在场景之间轻松共享数据。

我做的解决方法是-

  1. 创建一个在本地主机上运行的轻量级 spring 启动 REST+JPA 应用程序,并为我需要的数据公开 POST 和 GET 方法。
  2. 在第一个场景结束时,post 我需要的数据以 .silent POST 请求进入此应用程序。
  3. 在第 2 个场景开始时,使用 GET 方法从应用程序读取数据(再次以 .silent 模式)