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