Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Jenkins和Maven运行Selenium测试_Java_Eclipse_Maven_Selenium_Jenkins - Fatal编程技术网

Java 使用Jenkins和Maven运行Selenium测试

Java 使用Jenkins和Maven运行Selenium测试,java,eclipse,maven,selenium,jenkins,Java,Eclipse,Maven,Selenium,Jenkins,我在Eclipse中使用java创建了几个Selenium测试用例。我想用詹金斯做这些测试。我还将Maven用于构建自动化工具。 当我在Jenkins中使用Build Now功能时,我在控制台输出中得到一条Build Success消息,但是测试没有运行。 我想知道如何从Jenkins调用Main方法。是否有一些插件,我需要添加到我的pom文件 [在此处输入图像描述][2] 我正在复制以下当前POM文件: <project xmlns="http://maven.apache.org/

我在Eclipse中使用java创建了几个Selenium测试用例。我想用詹金斯做这些测试。我还将Maven用于构建自动化工具。 当我在Jenkins中使用Build Now功能时,我在控制台输出中得到一条Build Success消息,但是测试没有运行。 我想知道如何从Jenkins调用Main方法。是否有一些插件,我需要添加到我的pom文件

[在此处输入图像描述][2]

我正在复制以下当前POM文件:

<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>SecondOne</groupId>
<artifactId>Project2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>                      
    <dependency>                
        <groupId>org.seleniumhq.selenium</groupId>                              
        <artifactId>selenium-java</artifactId>                              
        <version>2.45.0</version>                               
    </dependency>               
    <dependency>
    <groupId>org.jopendocument</groupId>
    <artifactId>jOpenDocument</artifactId>
    <version>1.3b1</version>
    </dependency>
   <dependency>             
        <groupId>com.itextpdf</groupId>                             
        <artifactId>itextpdf</artifactId>                               
        <version>5.5.4</version>                                                                        
   </dependency>
   <dependency>
  <groupId>commons-lang</groupId>
  <artifactId>commons-lang</artifactId>
  <version>2.1</version>
</dependency>
<dependency>
  <groupId>org.codehaus.plexus</groupId>
  <artifactId>plexus-utils</artifactId>
  <version>1.1</version>
</dependency>               
</dependencies>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
       <configuration>
      <archive>
        <manifest>
          <addClasspath>true</addClasspath>
          <mainClass>src.main.java.pack1.FirstClass</mainClass>
        </manifest>
      </archive>
    </configuration>
  </plugin>
  <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>2.19.1</version>
      <inherited>true</inherited>
    </plugin>
</plugins>
</build>
</project>

您编写的是一个模拟测试流执行的类。詹金斯只能编译它,它不会执行它

如果您想将测试用例作为maven构建(Command:mvn test)的一部分来运行,那么您应该遵循Junit框架结构(参见本文)并在那里实现您的逻辑


您还必须在pom.xml中包含maven-surefire-plugin(在本例中您已经这样做了)

最好使用testng,因为当您通过pom.xml文件运行包含在testng.xml文件中的测试用例时,您将需要它。您需要在项目中创建testng.xml。另外,不要忘记在testng.xml文件中包含测试用例

在pom.xml文件的build标记下包含编译器和surefire插件

<build>
 <pluginManagement>
 <plugins>
  <plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-compiler-plugin</artifactId>
   <version>2.3.2</version>
   <configuration>
    <source>1.7</source>
    <target>1.7</target>
   </configuration>
  </plugin>
 <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.12</version>
  <inherited>true</inherited>
  <configuration>
   <forkMode>never</forkMode>
    <suiteXmlFiles>
     <suiteXmlFile>testng.xml</suiteXmlFile>
    </suiteXmlFiles>
   </configuration>
  </plugin>
 </plugins>
 </pluginManagement>
</build>

org.apache.maven.plugins
maven编译器插件
2.3.2
1.7
1.7
org.apache.maven.plugins
maven surefire插件
2.12
真的
从未
testng.xml

现在转到您的项目并构建。:)

为什么jenkins会运行您的程序?您在jenkins中构建mvn程序时使用的命令是什么?你想知道什么?运行测试用例或查找主类?@RavindraDevadiga-我使用了Jenkins仪表板中的“立即构建”功能。另外,在Jenkins项目的Configure选项卡中,我添加了POM文件的路径,并将“目标和选项”字段设置为clean test。我想运行测试用例。@tkausl-我正在尝试使用Jenkins运行Selenium测试,以便安排测试运行。谢谢Ravindra。最后一个问题-如果我不使用Maven,我是否能够通过Jenkins运行Selenium测试(不使用JUnit或TestNG),或者这也不可能?不,除非遵循JUnit框架结构,否则不能作为测试用例运行。不管你是否使用maven,谢谢Ravindra。谢谢。