Cucumber 中标签是什么? 如何创建Feature File Gherkin语言 Cucumber测试中的tags是什么? 在 Cucumber 中,tags用于将诸如冒烟、回归等测试与特定场景相关联。 tags实现以下目的: 如果我们有很多scenario在feature file,让他们在一个组,我们使用tags Cucumber,通过它,我们就可以在同一tags下准备具体的方案报告。 默认情况下,Cucumber 会执行特征文件中的所有场景,但是如果我们需要在特定测试下执行或跳过任何特定场景,那么我们可以在tags中声明场景。 我们可以通过以下语法在特征文件中声明一个tags: @TestName Scenario:Mention the Scenario 在哪里, @:它是用于声明tags的符号。 Scenario:这是一个场景。 现在,如果我们需要在多个测试下执行一个场景,在这种情况下,我们可以使用tags创建一组多个测试。 句法: @TestName@TestName Scenario:Mention the scenario 让我们通过一个例子来理解tags: 例子: 假设一个应用程序的一个特性文件包含 100 个测试场景,当我们通过 Cucumber 测试来测试这个应用程序时,每次都会有 100 个测试场景被不必要地执行。因此,系统性能越来越低。 为了克服这个问题,我们可以使用tags。 让我们举一个包含几个场景的特征文件的实例。 @SmokeTest Scenario:搜索联系人 Given:将显示所需的联系人 @RegressionTest Scenario:搜索交易 Given:将显示所需的交易 @SmokeTest Scenario:搜索电子邮件 Given:将显示所需的电子邮件 使用上述feature file中的tags有两个好处: 首先,@SmokeTest 或@RegressionTest tags只包含那些适用于冒烟或回归测试的场景。 其次,可以根据执行时的要求包括或排除场景。 现在假设,我们只需要测试在冒烟测试下声明的那些场景,那么我们可以通过以下方式在测试代码中提及@SmokeTesttags: tags={ “@SmokeTest” } 在测试代码中提到tags后,只会测试在冒烟测试下声明的场景,其余的将被跳过。 cucumber测试需要什么tags? 当我们在一个feature file中只有几个场景时,这看起来很容易。但是,在实时项目中,它不会发生。 在实时项目中,可能会有大量的feature file,它们可能有不同的目的,如烟雾测试/回归测试,不同的状态,如准备执行/正在进行中,不同的前景,如开发人员/QA/ BA等 为了管理如此大的feature file的执行,我们在feature file中使用带有场景的tags。 tags的好处是我们只能测试一个feature file的特定场景,我们需要执行,而不是那些不必要的场景。 如何在cucumbe测试中创建一组多个tags? 当我们需要对单个场景执行多个测试时,我们也可以使用多个tags。 例子: @SmokeTest tag @RegressionTest tag Scenario: Search contact Given: Desired contact will be displayed @RegressionTest tag Scenario: Search a deal Given: Desired deal will be displayed @SmokeTest tag Scenario: Search an email Given: Desired email will be displayed 根据上面的例子,我们可以测试第一个场景的smoke testing 和regression testing。 通过多个tags的测试可以通过使用两个操作符来完成: OR运算符 AND 运算符 OR运算符 OR 运算符可用于这种情况,当我们需要像这样测试应用程序时,如果应用程序在第一次测试中失败,则应检查下一次测试。如果下一个测试也失败,则应检查另一个下一个测试,依此类推。 换句话说,必须测试来自多个tags集合中的每个测试用例是失败还是通过。 要在测试执行程序中使用 OR 运算符,请使用以下语法: tags = {"@FirstTest, @SecondTest"} 例子: tags = {“@SmokeTest,@RegressionTest”} 在上面的例子中,OR 运算符执行所有标记的测试,即@SmokeTest、@RegressionTest。 AND 运算符 AND 运算符可以用在这种情况下,当我们需要像这样测试应用程序时,如果应用程序在第一次测试中通过,则跳转到下一个测试,但如果失败,则应终止测试。 要在测试执行程序中使用 AND 运算符,请使用以下语法: tags = {"@FirstTest", "@SecondTest"} 例子: tags= {“@SmokeTest”,“@RegressionTest”} 在上面的例子中,AND 运算符执行第一个测试,如果本次测试的结果通过则跳转到检查下一个测试。但如果结果失败,则测试将终止。 如何在 Cucumber 测试中忽略tags? 在这种情况下,当我们需要跳过测试时,我们可以在tags中使用特殊符号“ ~ ”。这个特殊角色也可以跳过场景和功能。这也可以与 OR 或 AND 结合使用。 例子: 假设有一组@SmokeTest和@RegressionTest测试。现在,我们需要跳过回归测试,为此,请考虑以下代码: tags={"@SmokeTest", "~@RegressionTest"} 如何创建Feature File Gherkin语言