1. 环境准备:
1.1 安装JDK
本文采用jdk-8u111-windows-x64.exe;
1.2 配置tomcat
本文采用tomcat8,无需安装,配置JAVA_HOME及JRE_HOME环境变量即可;
启动tomcat: %tomcat_home%/bin/shutdown.bat
1.3 安装maven
本文采用maven3.3.9,无需安装;环境变量配置如下:
1.4 安装Jenkins
下载地址https://jenkins.io/download/,仅下载war包,
启动jenkins: 两个方法,
1. 启动tomcat
2. java -jar jenkins.war, 出现下图则启动成功
通过127.0.0.1:8080访问jenkins 首页,第一次打开会显示出来一个空的页面,我的这个图已经有一个任务了。
2. 下载驱动:geckodriver.exe,放在根目录:
3. 配置maven 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>com.yktest.pctest</groupId>
<artifactId>pctest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>pctest</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8.21</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.53.1</version>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.7.0</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>net.sf.ezmorph</groupId>
<artifactId>ezmorph</artifactId>
<version>1.0.3</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.7.1</version>
<configuration>
<!--<testFailureIgnore>true</testFailureIgnore>-->
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
<!--此处testng.xml即为要运行的testng.xml文件-->
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
</project>
4. 编写父类:每个子类执行时,会自动执行beforeclass和afterclass
package com.yktest.pctest.pctest;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
public class PcCommon {
static WebDriver driver;
public PcCommon(){
String driverPath = System.getProperty("user.dir") + "\\geckodriver.exe";
System.setProperty("webdriver.gecko.driver", driverPath);
}
@BeforeClass
public void startFF() {
driver = new FirefoxDriver();
driver.manage().window().maximize();
System.out.println("@BeforeClass start: ----------");
}
public void startChrome() {
driver = new ChromeDriver();
driver.manage().window().maximize();
}
@AfterClass
public void closeDriver(){
System.out.println("@AfterClass start: ----------");
driver.quit();
}
}
5. 添加测试类:
package com.yktest.pctest.pctest;
import org.testng.Assert;
import org.testng.annotations.Test;
public class ABtest extends PcCommon {
@Test
public void testAB(){
driver.get("http://so.youku.com/search_video/q_波兰");
System.out.println("test class start: ----------");
Assert.assertTrue(driver.getTitle().equals("波兰"), "Title is not right! ");
}
}
6. 编写testng.xml, 此时已经可以在本地通过mvn clean test 运行了
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="worldcupSuite" verbose="1" >
<test name = "worldcupPackage" >
<classes>
<class name = "com.yktest.pctest.pctest.WordCupTest"/>
<class name = "com.yktest.pctest.pctest.ABtest"/>
</classes>
</test>
</suite>
7. jenkins配置及插件安装
系统管理->全局工具配置(注: 一定取消自动安装,防止插件不稳定)
插件安装: 系统管理->插件管理
需要安装的插件:TestNG
8. 创建jenkins任务:
首先,创建一个自由风格的任务:
9. 结果查看:
9. 参考文档:
http://www.51testing.com/html/63/n-3722563.html
https://blog.csdn.net/hc_ttxs/article/details/79384535
https://blog.csdn.net/cyjs1988/article/details/72780982?locationNum=15&fps=1
https://www.cnblogs.com/unknows/p/8521931.html