mvn test在类路径中找不到类

时间:2018-04-16 15:52:59

标签: java maven selenium testng maven-surefire-plugin

Java,Selenium,TestNG,Maven 在本地机器上有一个项目,在git上有它的副本。当我在本地运行项目时 - 测试成功运行(使用mvn test命令)。但是一旦项目从git克隆并在另一个本地运行(甚至在我的本地运行,但保存到另一个文件夹中),它就会抛出一个错误:

Cannot find class in classpath: packagename.Login
org.apache.maven.surefire.booter.SurefireBooterForkException: There was an 
error in the forked process

Cannot find class in classpath: packagename.Login
    at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:658)
    at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:533)
    at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:278)
    at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:244)
    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1149)
    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:978)
    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:854)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:956)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:194)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)

我在cmd中使用mvn test命令。

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>src</groupId>
<artifactId>AutomationTestSuit</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>AutomationTestSuit</name>
<url>http://maven.apache.org</url>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium- 
java -->
     <dependency>
         <groupId>org.seleniumhq.selenium</groupId>
         <artifactId>selenium-java</artifactId>
         <version>3.11.0</version>
     </dependency>

<!-- https://mvnrepository.com/artifact/org.testng/testng -->
     <dependency>
          <groupId>org.testng</groupId>
          <artifactId>testng</artifactId>
          <version>6.14.2</version>
          <scope>test</scope>
     </dependency>

     <dependency>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
          <version>1.2.17</version>
     </dependency>

 <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
     <dependency>
         <groupId>org.apache.poi</groupId>
         <artifactId>poi</artifactId>
         <version>3.17</version>
     </dependency>

  <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->

     <dependency>
          <groupId>org.apache.poi</groupId>
          <artifactId>poi-ooxml</artifactId>
          <version>3.17</version>
     </dependency>

  <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-examples -->
   <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-examples</artifactId>
        <version>3.17</version>
   </dependency>

 <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-excelant -->
   <dependency>
       <groupId>org.apache.poi</groupId>
       <artifactId>poi-excelant</artifactId>
       <version>3.17</version>
   </dependency>

 <!-- https://mvnrepository.com/artifact/com.relevantcodes/extentreports -->
    <dependency>
         <groupId>com.relevantcodes</groupId>
         <artifactId>extentreports</artifactId>
         <version>2.41.2</version>
    </dependency>

<!-- https://mvnrepository.com/artifact/com.saucelabs/sauce_testng -->
   <dependency>
        <groupId>com.saucelabs</groupId>
        <artifactId>sauce_testng</artifactId>
        <version>2.1.23</version>
        <scope>test</scope>
    </dependency>

</dependencies>

<build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.7.0</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
     <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.21.0</version>
             <configuration>
                 <forkCount>0</forkCount>
                 <suiteXmlFiles>               

 <suiteXmlFile>C:\Users\****\testng.xml</suiteXmlFile>
                 </suiteXmlFiles>                  
            </configuration>
     </plugin>
 </plugins>

</build>    

testng.xml看起来像:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" verbose="2" parallel="methods" thread- 
count="2">    
<test name="Regression" parallel="methods" thread-count="2">

    <parameter name="browser" value="chrome"/>
    <parameter name="OS" value="Windows 7"/>
    <parameter name="version" value="64"/>
    <parameter name="sauceLabsUsername" value="**"/>
    <parameter name="accesskey" value="***"/>
    <classes>
        <class name="packagename.Login"/>                    
    </classes>
</test> 
</suite> 

类别:

package packagename;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.Test;

public class Login extends Remote {

@Test

public void Login() throws Exception {


LoginPage.Login_as(ConfigFileReader.getUserName(), 
ConfigFileReader.getPassword());
Log.info("User successfully logged on");
}    

0 个答案:

没有答案