【问题标题】:Can we Customize Cucumber Test Suite at run time?我们可以在运行时自定义 Cucumber 测试套件吗?
【发布时间】:2016-12-21 22:13:08
【问题描述】:

我有一个黄瓜测试运行器类,我在其中编写我的测试套件以如下方式运行

@CucumberOptions( features={"Feature_Files/featues" } ,glue={ "com.automation.stepdef" } ,monochrome=true ,dryRun=false ,plugin = {"html:target/cucumber-html-report" } ,tags = {"@Startup" } )

如果我希望在成功完成@startup 功能后自定义此标签选项,可以吗?

【问题讨论】:

    标签: java cucumber-jvm


    【解决方案1】:

    运行两个或更多相关测试套件的最常见方法是为 CI 中的两个或更多作业创建触发器。这可以通过here 描述的各种插件来完成。

    否则,如果这是一些测试准备操作,您可以使用 @Before 或 realted JUnit @BeforeClass 注释。

    【讨论】:

      【解决方案2】:

      目前的 Cucumber 似乎不可能。您要求的是测试场景之间的依赖关系,IMO 是一个非常好的功能。例如,我们有一些登录功能和一些其他功能特性。如果登录功能一开始就不起作用,那将没有任何意义,实际上会浪费时间来运行其他功能。更糟糕的是,您会在测试报告中看到很多失败,其中您无法轻易发现根本原因是登录功能无效。

      TestNG 支持“dependsOnMethod”功能。但是,TestNG 不是 BDD 工具。

      QAF https://qmetry.github.io/qaf/qaf-2.1.7b/scenario.html#meta-data 支持此作为 BDD 工具。但是,为这样一个简单的功能引入一个新工具就太繁重了。

      我们所需要的只是对 Cucumber 语法和自定义测试运行器的一些补充,以根据依赖关系构建场景执行顺序,并在它们依赖的特性失败时跳过这些特性。

      我很想看看是否有人可以为此付出一些努力:)

      顺便说一句,CI 可以解决这个问题,但它又过于繁琐和笨拙。想象一下,您在测试场景中有多重依赖关系,那么您需要多少 CI 管道?此外,您无法在本地开发环境中使用 CI 解决此问题,因为您不会在本地设置 CI。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-10
        • 2020-08-29
        相关资源
        最近更新 更多