【发布时间】:2020-09-25 07:36:40
【问题描述】:
我有一个场景,需要在三个不同的环境中执行相同的场景。所以我使用了 Scenario Outline,如下所示。
场景大纲:创建测试成功流程
Given Login to AAA Application in "<Environment>"
When Enter the Customer Details
Then Select the Service
示例:|环境|
|QA|
|UAT|
|Prod|
所以我的问题是如何在步骤定义中实现这一点。我不想硬编码特征文件中的数据。因此,如果 Environment 是 QA,那么 QA 数据应该通过,Same like UAT 意味着 UAT 数据应该自动获取..
步骤定义: @Given("^Login to AAA Application in "([^"]*)"$")
public void Login_to_AAA_Application(String Environment) throws Throwable
{
// 如何在这里为所有环境编写代码。我的场景需要根据场景大纲示例部分提供的环境执行。
}
感谢任何建议/帮助。
【问题讨论】:
-
我认为您可以使用 switch case 在每种情况下为全局变量赋值。
-
这不是您在场景/示例中要做的事情,而是在运行测试的配置中。如何做到这一点取决于您的技术堆栈。
-
@DilipMeghwal - 如果可能,请您详细说明。我做了同样的事情,但它不工作。例如:switch(Environment){ case "INT": break;案例“UAT”:中断;}
-
标签: cucumber