黄瓜测试失败:线程“ main”中的异常java.lang.NoClassDefFoundError:io / cucumber / plugin / SummaryPrinter

时间:2020-04-20 14:31:01

标签: selenium-webdriver installation cucumber bdd

我试图从Cucumber功能文件执行基本测试,但发现错误:

Exception in thread "main" java.lang.NoClassDefFoundError: io/cucumber/plugin/SummaryPrinter

功能文件:


Feature: Login Action

Scenario: Successful Login with Valid Credentials
    Given User is on Home Page
    When User Navigate to LogIn Page
    And User enters UserName and Password
    Then Message displayed Login Successfully

Scenario: Successful LogOut
    When User LogOut from the Application
    Then Message displayed LogOut Successfully

测试运行器文件:


package test;

import org.junit.runner.RunWith;
import io.cucumber.junit.Cucumber;
import io.cucumber.junit.CucumberOptions;

@RunWith(Cucumber.class)
@CucumberOptions(
        features = "Feature"
        ,glue={"stepdefinition"}
        )

public class TestRunner {

}

我正在使用eclipse,并且已通过eclipse市场安装了黄瓜插件。 谁能帮我解决此问题?

2 个答案:

答案 0 :(得分:0)

package cucumberOptions;

import cucumber.api.CucumberOptions;
import cucumber.api.testng.AbstractTestNGCucumberTests;

//@RunWith(Cucumber.class)
@CucumberOptions(
        features = "src/test/java/features",
        glue = "stepDefinations")
public class TestRunner extends AbstractTestNGCucumberTests {

}

请记住,功能stepDefinations是同一级别的文件夹,我的testRunner类也位于名为“ cucumberOptions”的文件夹中,该文件夹与其他2个文件夹处于同一级别,在我的情况下,它们位于测试内部文件夹,因为这是一个像项目一样的Maven

答案 1 :(得分:0)

看起来缺少其中一个 jar 的依赖项。新版本的黄瓜真的很忙,很麻烦,因为总是会有重大变化。从黄瓜 5.1.3 升级到 5.7.0 时,我也看到了同样的错误。花了一些时间后,我通过在 pom 中添加以下附加依赖项来解决它:

<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-plugin</artifactId>
    <version>5.7.0</version>
</dependency>