首页 > 解决方案 > 运行黄瓜java项目“java.lang.ClassNotFoundException:cucumberOptions.TestRunner”时出现问题?

问题描述

登录功能文件工作正常...

Feature: Application Login

Scenario: Home page default login
Given User is on Netbanking Landing Page
When User login into application with username and password
Then Home page is populated
And Cards are displayed

TestRunner 类如下:

包黄瓜选项;导入 org.junit.runner.RunWith;导入黄瓜.api.SnippetType;导入 cucumber.api.CucumberOptions;进口黄瓜.api.junit.黄瓜;

@RunWith(Cucumber.class)
@CucumberOptions(
      snippets = SnippetType.CAMELCASE,
      features = "feature",//C:\\Users\\Sanket\\Documents\\QA_testing\\Selenium\\Eclipse\\Automation\\src\\test\\java\\feature\\Login.feature",
      glue = {"classpath:/cucumberOptions/src/test/java/stepDefinition"})
        //C:\\Users\\Sanket\\Documents\\QA_testing\\Selenium\\Eclipse\\Automation\\src\\test\\java\\stepDefinitons\\stepDefinition.java

定义 stepDefinition 文件的参数

public class TestRunner {
      
}

pom.xml 文件如下所示:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>Cucumber</groupId>
  <artifactId>Automation</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <name>Automation</name>
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>
  
  <dependencies>
      <dependency>
    <groupId>info.cukes</groupId>
    <artifactId>cucumber-java</artifactId>
    <version>1.2.2</version>
  </dependency> 
  <!-- https://mvnrepository.com/artifact/info.cukes/cucumber-junit -->
<dependency>
    <groupId>info.cukes</groupId>
    <artifactId>cucumber-junit</artifactId>
    <version>1.2.2</version>
    <scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/info.cukes/cucumber-testng -->
<dependency>
    <groupId>info.cukes</groupId>
    <artifactId>cucumber-testng</artifactId>
    <version>1.2.2</version>
</dependency>
  <dependency>
          <groupId>io.cucumber</groupId>
          <artifactId>cucumber-core</artifactId>
          <version>1.2.2</version>
      </dependency>
      <!-- https://mvnrepository.com/artifact/info.cukes/cucumber-jvm -->
<dependency>
    <groupId>info.cukes</groupId>
    <artifactId>cucumber-jvm</artifactId>
    <version>1.0.3</version>
    <type>pom</type>
</dependency>
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.6</version>
</dependency>
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>3.141.59</version>
</dependency>
<!-- https://mvnrepository.com/artifact/info.cukes/gherkin -->
<dependency>
    <groupId>info.cukes</groupId>
    <artifactId>gherkin</artifactId>
    <version>2.12.2</version>
    <scope>provided</scope>
</dependency>
      <!-- https://mvnrepository.com/artifact/org.testng/testng -->
      <dependency>
          <groupId>org.testng</groupId>
          <artifactId>testng</artifactId>
          <version>7.1.0</version>
      </dependency>
      <!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.13</version>
    <scope>test</scope>
</dependency>
      
      <!-- https://mvnrepository.com/artifact/junit/junit -->
  </dependencies>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-site-plugin</artifactId>
          <version>3.7.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

STEPDEFINITION 文件显示黄瓜类问题。类如下:

包步骤定义;

import org.junit.runner.RunWith;
import cucumber.api.java.en.And;
import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;
import cucumber.api.junit.Cucumber;
import cucumber.annotation.en.when;
import cucumber.api.CucumberOptions;      
@SuppressWarnings("deprecation")
@RunWith (Cucumber.class)
public class stepDefinition {

  @Given("^User is on Netbanking Landing Page$")
    public void user_is_on_netbanking_landing_page() throws Throwable {
    
      System.out.println("Navigate to Login page");
    }
    
    @When("^User login into application with username and password$")
    public void user_login_into_application_with_username_and_password()
   throws Throwable {                 
        System.out.println("Logged in success");
    }

    @SuppressWarnings("deprecation")
  @Then("^Home page is populated$")
    public void home_page_is_populated() throws Throwable {
       System.out.println("Validated Home page");
    }

    @And("^Cards are displayed$")
    public void cards_are_displayed() throws Throwable {
        System.out.println("Validated cards");
    }

}

我已经尝试了 pom.xml 文件中的所有依赖项组合。但无法成功运行 TestRunner 文件。要素类已连接到 stepDefinition 类。但是使用 cucumberOptions.TestRunner 类获取 ClassNotFound 异常。请问有人可以帮我解决这个问题吗????

标签: javaseleniummavenjunitcucumber

解决方案


推荐阅读