我有一个黄瓜测试运行器类,我在其中编写我的测试套件,如下所示
@CucumberOptions(features = {" Feature_Files / featues" },glue = {" com.automation.stepdef" },monochrome = true,dryRun = false,plugin = {" html:target / cucumber-html-report" },tags = {" @ Startup" } )
如果我希望在成功完成@startup功能后自定义此标记选项,是否可以?
答案 0 :(得分:0)
运行两个或多个相关测试套件的最常用方法是为CI中的两个或多个作业创建触发器。这可以通过here所述的各种插件来完成。
否则,如果这是一些测试准备操作,您可以使用@Before
或已经发布的JUnit @BeforeClass
注释。
答案 1 :(得分:0)
当前的黄瓜似乎不可能。您所要求的是测试方案之间的依赖性,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。