automation - 如何在 Karate 中使用特定于环境的测试数据

标签 automation cucumber karate

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

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

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

最佳答案

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

然后您可以在启动 Karate 时简单地指定环境:

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

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

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

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

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

关于automation - 如何在 Karate 中使用特定于环境的测试数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58166424/

相关文章:

Python Behave 测试未在 bitBucket CI 上运行

ruby-on-rails - 如何阻止 VCR 覆盖磁带中的 erb

javascript - 自动化网络事件,包括表单提交、javascript 和 SSL

Windows 任务计划程序不运行 VBScript

excel - Windows 7 和 Office 2007 中的办公自动化挂起

c# - TextBox 在值模式中抛出不支持的模式

javascript - 如何将 cucumber 报告添加到 Cypress

karate - 在 Karate BDD 框架中禁用跟随重定向?

javascript - 无法识别 JS 文件中的缓冲区(使用 Karate Framework 进行 API 测试自动化)

json - Karate - 如何导入 json 数据