执行多个黄瓜特征文件

Posted

技术标签:

【中文标题】执行多个黄瓜特征文件【英文标题】:execute multiple cucumber feature files 【发布时间】:2016-12-23 09:11:52 【问题描述】:

当我提交单个功能文件时,它可以完美运行。我想将具有多个功能文件的功能文件夹路径传递到运行脚本中。任何人都可以帮助执行多个功能文件吗?

所有特征文件步骤相同,但数据不同,文件名不同。

@RunWith(Cucumber.class)

@CucumberOptions(format = "pretty", features =
"C:\\TESTER\\Execution\\uidata\\featurefiles\\",
        glue="com.test.auto.stepdefs",dryRun=false) 

public class CucumberTest  


感谢您的帮助。

【问题讨论】:

我总是用标签来做。 如果同一步骤中存在不同的数据怎么办? 您可以使用场景大纲。可以有2个或更多示例表,每个表可以有自己的标签。 【参考方案1】:

这是为 Java-Cucumber 用户准备的 :: 多个功能是 1.Smoketest 2.登录测试 然后你的 Junit runner java 文件应该看起来像

@RunWith(Cucumber.class)    
    @CucumberOptions 
    (features = "src/test/java/testStep/",#Path for the Feature files Folder.Given you have smoke.feature and login.feature files present in the Path#
    plugin ="pretty","html:reports/test-report",#Path for the Reports Html Folder#
    tags= "@smoke,@login")#Declaring multiple Feature names of files#

-- 干杯

【讨论】:

【参考方案2】:

您也可以使用 Cucumber Command-Line Interface Runner (CLI Runner) cucumber.api.cli.Main 并将路径传递到包含功能文件的文件夹作为命令行选项。

示例:

java cucumber.api.cli.Main --glue com.my.stepdefn --plugin html:C:\testreports C:\features\ 

com.my.stepdefn 是具有黄瓜步骤定义的包

C:\features\ 是包含功能文件的文件夹

C:\testreports是生成黄瓜html报告的文件夹。

【讨论】:

【参考方案3】:

功能路径必须相对于您的项目类路径。例如,它可能看起来像这样:

@CucumberOptions(features = "classpath:features_folder1", "classpath:features_folder2", ...)

@CucumberOptions(features="src/test/resources")

【讨论】:

我厌倦了这样做,但是有一个后挂钩,驱动程序正在退出,并且当下一个功能文件启动时驱动程序抛出空异常。我试图在钩子后注释掉,但有时我能够运行到第三个功能,有时它会在第二个功能失败。什么是完美的方式?感谢您的帮助。 @sri 我认为您应该将其作为一个单独的问题提出,因为这本身就是一个重要问题。一般来说,您必须确保设置 @Before@After 挂钩的方式可以创建准备好进行测试的环境并在测试完成后正确清理它。例如,不要像现在那样在每次测试结束时关闭 webdriver 实例,只需清理 cookie 并重用相同的 webdriver 实例。 知道了,尤金。我现在可以处理司机了。谢谢!!

以上是关于执行多个黄瓜特征文件的主要内容,如果未能解决你的问题,请参考以下文章

在黄瓜特征文件中使用'*'关键字的正确方法是什么?

黄瓜特征文件不识别步骤

黄瓜中的特征文件设置

黄瓜不会根据大纲场景找到我的步骤

如何运行OR黄瓜标签

每当我在我的功能文件上使用双引号时,没有self_obj(RuntimeError)黄瓜水豚