Я новичок в фреймворке автоматизации и пытаюсь запустить проект cucumber из файла jar. Для этого maven "install" в eclipse сгенерировал jar, и при попытке выполнить получаю ошибку cucumber / api / cli / Main.
Любая помощь будет оценена.
C: \ Users \ sadakarp \ eclipse-workspace \ Jaspersoft Automation \ target> java -jar Jaspersoft_Automation-0.0.1-SNAPSHOT.jar
Исключение в основном потоке java .lang.NoClassDefFoundError: cucumber / api / cli / Main на com.sadakar.selenium.common.BasePage.main (BasePage. java: 46)
Причина: java .lang.ClassNotFoundException : cucumber.api.cli.Main
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
BasePage. java
пакет com.sadakar.selenium.common;
import org.junit.runner. JUnitCore;
import org.openqa.selenium.WebDriver;
publi c class BasePage {
public static WebDriver driver;
public static void main(String args[]) throws Throwable{
try {
String[] arguments = {"--features","classpath:features",
"--tags","@ValidLogin",
"--glue","com.sadakar.cucumber.stepdefinitions/",
"--glue","com.sadakar.cucumber.common",
"--plugin","pretty",
"--plugin","json:target/cucumber-reports/Cucumber.json",
"--plugin", "html:target/cucumber-reports"
};
cucumber.api.cli.Main.main(arguments);
}
catch(Exception e) {
System.out.println("Main method exception");
}
}}
CucumberRunner. java
пакет com.sadakar.cucumber.runner;
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
@ RunWith (Cucumber.class)
@ CucumberOptions (features = "classpath: features", // tags = "@ ValidLogin,@InvalidLogin" ,
tags="@ValidLogin",
glue={"com.sadakar.cucumber.stepdefinitions/","com.sadakar.cucumber.common"},
plugin = { "pretty", "json:target/cucumber-reports/Cucumber.json",
"junit:target/cucumber-reports/Cucumber.xml",
"html:target/cucumber-reports"},
monochrome = true
) publi c класс CucumberRunner {
}
пом. xml зависимости
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-java</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-core</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-picocontainer</artifactId>
<version>1.2.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
Plugins used
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.sadakar.selenium.common.BasePage</mainClass>
</manifest>
</archive>
</configuration>
</plugin>