使用Jenkins和Maven运行Selenium测试

时间:2016-08-28 03:04:18

标签: java eclipse maven selenium jenkins

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

enter image description here

[在此输入图片说明] [2] enter image description here

我正在复制下面的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>

请注意,我使用TestNG或任何其他常见的测试框架。 非常感谢您的帮助

2 个答案:

答案 0 :(得分:0)

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

如果您想将测试用例作为maven构建的一部分运行(命令:mvn test),那么您应该遵循Junit框架结构(请参阅此link)并在那里实现您的逻辑。

您还必须在pom.xml中包含 maven-surefire-plugin (在这种情况下您已经完成)

答案 1 :(得分:-1)

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

在构建标记下的pom.xml文件中包含编译器和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>

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