【问题标题】:How to use environment specific test data in Karate如何在空手道中使用特定于环境的测试数据
【发布时间】:2020-01-29 15:52:50
【问题描述】:

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

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

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

【问题讨论】:

    标签: automation cucumber karate


    【解决方案1】:

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

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

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

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

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

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

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

    【讨论】:

    • 感谢您的贡献。我的问题更多是关于使用环境的特定数据而不是环境切换。就您回复的后半部分而言,它表明我的所有数据都需要从一个文件中读取。是否可以将各种数据文件存储在多个位置,然后在请求中使用它们?
    • 当然可以。我只是举了一个简单的例子,我会编辑我的答案。
    • @Adrien - 传奇!这听起来很理想,可以解决我的问题。试试看,谢谢:)
    猜你喜欢
    • 2019-03-20
    • 1970-01-01
    • 1970-01-01
    • 2022-07-05
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多