【问题标题】:What are the important dependencies needed for Cucumber framework and TestNG integration?Cucumber 框架和 TestNG 集成需要哪些重要的依赖项?
【发布时间】:2018-12-29 09:31:30
【问题描述】:

我在 Eclipse IDE 中的 Maven 项目的帮助下创建了一个基本的 Cucumber 框架。

我正在尝试使用 TestNG 套件执行所有运行器类。为此,我必须在 pom.xml 文件中添加 Cucumber 和 TestNG 集成所需的所有依赖项。

跑步者 1 级

package tests.report.runners;
import cucumber.api.CucumberOptions;
@CucumberOptions(features = "src/test/resources/features",glue= {"tests"},tags= {"@Report"})
public class ReportRunner {

}

跑步者 2 级

package tests.dashboard.runners;
import cucumber.api.CucumberOptions;
@CucumberOptions(features = "src/test/resources/features",glue= {"tests"},tags= {"@Report"})
public class DashboardRunner {

}

testng.xml

?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">

<suite name="First Suite" parallel="classes">
<test name="Chrome Test" parallel="classes">


<classes>
<class name ="tests.report.runners.ReportRunner"></class>
<class name ="tests.dashboard.runners.DashboardRunner"></class>

</classes> 


</test>
</suite> 

包结构在这里:

但是,我收到此错误:

在类路径中找不到类:\src\test\java\tests\report\runners\ReportRunner.java

如何调试?

【问题讨论】:

标签: maven cucumber testng cucumber-jvm cucumber-java


【解决方案1】:

首先,您必须在启动器类中扩展此类 AbstractTestNGCucumberTests。

如果在扩展上述类后运行测试不起作用,您可以创建一个高级文件夹和命名功能。单击项目添加新文件夹并将您的功能文件移动到该文件夹​​中。因此,您必须更改 CucumberOptions 的特征参数值。

【讨论】:

  • 我已经用这个类 AbstractTestNGCucumber 扩展了 runner 类,然后重组了所有 jars/依赖项,它起作用了。谢谢!
  • 很高兴 :) 祝你好运!
【解决方案2】:

我认为您没有在 Runner 类中扩展 testNG 类,这可能是 JVM 不知道它必须使用 TestNG 的原因。

public class ReportRunner extends AbstractTestNGCucumberTests{

}

尝试对您的两个跑步者使用上述语句,然后尝试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-09
    • 2016-09-28
    • 2018-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    相关资源
    最近更新 更多