运行 空手道在不同环境和特定环境下的测试 url

Running Karate tests on different environments and per specific url

我正在为我的 QA 项目做研究,我想知道 Karate 是否能够处理某些用例。基本上我需要 运行 测试不同的环境(本地、暂存、生产)。我从文档中了解到,这不是问题,因为 karate-config.js 和 karate-config-env.js.

问题始于执行本身。每个环境对于 3 个不同的国家/地区都有不同的 url,因此实际上总共有 9 个 url。此外,由于开发过程,某些功能不会在所有国家同时部署。所以我希望能够 运行 测试: 1 - 为一个国家分期(一个 url) 2 - 为所有国家分期(同一个请求有 3 urls,我想我可以使用并行执行)

json 结构对于所有环境和国家都是相同的,我想用不同的配置执行一个请求。我在考虑 TDD,但我不确定如果我只对一个国家/地区执行测试,我是否可以跳过场景大纲 table 中的某些行。可能吗?或者还有其他方法吗?任何建议表示赞赏。

您可以“标记”Scenario Outline 行。请参阅文档:https://github.com/intuit/karate#tags-and-examples

Scenario Outline: examples partitioned by tag
* def vals = karate.tagValues
* match vals.region[0] == expected

  @region=US
  Examples:
    | expected |
    | US       |

  @region=GB
  Examples:
    | expected |
    | GB       |

一旦您了解 JSON、操作 JSON 和数据驱动测试的工作原理,空手道几乎可以应对您遇到的任何数据驱动挑战。以下是一些可以让您进一步考虑的答案: