我想知道在不同环境中执行测试时如何在运行时使用不同的数据集。我已阅读文档,但无法找到针对这种情况的最佳解决方案。
要求:在 QA 环境中执行测试,然后在 SIT 中执行相同的测试。但是,在请求中使用不同的数据,例如 customerIds。这样做的原因是因为每个环境中的数据设置有很大不同。
如果您能为这种情况提出最佳解决方案,我们将不胜感激。
最佳答案
在文档中,您可以找到有关如何执行此操作的说明:https://github.com/intuit/karate#environment-specific-config
然后您可以在启动 Karate 时简单地指定环境:
mvn test -DargLine="-Dkarate.env=e2e"
您的所有测试都将能够使用您为指定环境定义的变量。
编辑:另一个提示,在配置文件中指定文件的路径。现在,根据您的环境,您将能够读取包含所有数据的不同文件。
发表评论后进行编辑:
假设您定义了两个环境:“qa”和“prod”。
对于两者之间存在差异的每个数据,只需创建两个文件:myFile-qa.json
和 myFile-prod.json
。
现在,在测试中,当您想要读取文件时,只需读取 ('myFile-'+env+'.json')
即可。就像这样,您可以根据您定义的环境读取正确的文件。
关于automation - 如何在 Karate 中使用特定于环境的测试数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58166424/