如何在空手道中使用特定于环境的测试数据

How to use environment specific test data in Karate

我想知道如何在各种环境中执行测试时在运行时使用不同的数据集。我已阅读文档,但无法找到适合这种情况的最佳解决方案。

要求:在QA 环境中执行测试,然后在SIT 中执行相同的测试。但是,请在请求中使用不同的数据,例如 customerIds。这样做的原因是因为每个环境中的数据设置非常不同。

如果您能针对这种情况提出最佳解决方案,我们将不胜感激。

在此处的文档中,您可以找到有关如何执行此操作的说明:https://github.com/intuit/karate#environment-specific-config

然后你可以在启动空手道时简单地指定环境:

mvn test -DargLine="-Dkarate.env=e2e"

并且您的所有测试都将能够使用您为指定环境定义的变量。

编辑:另一个提示,在您的配置文件中,指定一个文件的路径。现在,根据您的环境,您将能够读取包含所有数据的不同文件。

在您发表评论后进行编辑: 假设您定义了两个环境,"qa" 和 "prod"。 对于两者之间存在差异的每个数据,只需创建两个文件:myFile-qa.jsonmyFile-prod.json.

现在,在您的测试中,当您想要读取文件时,只需读取 ('myFile-'+env+'.json')。就这样,您根据定义的环境读取了正确的文件。