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