以前項(xiàng)目中編寫的selenium自動化測試代碼沒有使用Jenkins持續(xù)集成剑肯,在項(xiàng)目中造成各種不便诵闭,因此決定花點(diǎn)時間學(xué)習(xí)使用Jenkins以解決實(shí)際中的種種不便,途中踩了很多坑,于是把過程和踩過的坑一一記錄下來朦蕴。
一 代碼部分
1.在idea中新建maven項(xiàng)目autoTest
2.在pom.xml中添加依賴
①selenium依賴(我使用的是2.44版本篮条,selenium版本、driver版本吩抓、瀏覽器版本這三個版本需要對應(yīng)涉茧,對應(yīng)關(guān)系網(wǎng)上有很多,自行搜索)
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java </artifactId>
<version>2.44.0 </version>
</dependency>
②testng依賴
<dependency>
<groupId>org.testng </groupId>
<artifactId>testng </artifactId>
<version>6.14.3 </version>
</dependency>
③maven打包插件
suiteXmlFile是需要運(yùn)行的testsuite的xml文件所在位置疹娶,一定記得修改
<build>
<defaultGoal>compile</defaultGoal>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>src</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<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.12.4</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>src/test/logintest.xml</suiteXmlFile>
<!--suiteXmlFile是需要執(zhí)行的testsuite的xml文件所在位置-->
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
④新建testsuite的xml文件伴栓,一定記得在pom.xml中修改 <suiteXmlFile>路徑
<class name=xxx/>修改為測試類的相對路徑(copy reference)
<suite name="Suite" parallel="false">
<test name="Test">
<classes>
<class name="TestLogin"/>
</classes>
</test>
</suite>
3.在/src/test/java下新建測試類TestLogin
①測試類一定要放在/src/test/java下,否則maven打包運(yùn)行時找不到測試類 ②測試類需以Test開頭雨饺,否則maven打包運(yùn)行時找不到測試類
4.將瀏覽器設(shè)置為無界面模式
//設(shè)置瀏覽器驅(qū)動的路徑
System.setProperty("webdriver.chrome.driver","/home/jenkins/chromedriver/chromedriver");
ChromeOptions options=new ChromeOptions();
//設(shè)置無界面模式
options.addArguments("--headless");
//為了運(yùn)行順暢钳垮,添加以下瀏覽器配置
options.addArguments("--disable-gpu");
options.addArguments("--no-sandbox");
options.addArguments("--disable-dev-shm-usage");
options.addArguments("blink-settings=imagesEnabled=false");
options.addArguments("--disable-setuid-sandbox");
driver=new ChromeDriver(options);
5.代碼編寫完成后,使用maven打包额港,測試能否正確打包饺窿,打包時會運(yùn)行測試用例
6.完成后將代碼提交到git
二 linux配置
1.安裝Chrome瀏覽器
①下載Chrome for Linux(https://www.chromedownloads.net/chrome64linux/),我安裝的版本是Google Chrome 71.0.3578.98移斩,先安裝的版本是70短荐,但是與Chromedriver不兼容
②解壓下載的壓縮文件
③上傳Linux,運(yùn)行命令安裝:rpm -ivh 安裝包名稱
執(zhí)行安裝命令后叹哭,可能會報錯忍宋,因?yàn)長inux缺少一些插件,使用yum install 插件名稱安裝插件风罩,所有插件安裝完成后谷歌瀏覽器就能順利安裝了
④安裝成功后查看Chrome的版本糠排,執(zhí)行命令:google-chrome --version
2.下載Chromedriver
①.下載Chromedriver for Linux(https://npm.taobao.org/mirrors/chromedriver?spm=a2c6h.14029880.0.0.735975d7P8udIF),我安裝的版本是Chromedriver2.44超升。再次提醒selenium版本入宦、Chrome版本、Chromedriver版本三者一定要對應(yīng)
②將測試代碼中的Chromedriver的路徑替換成Linux上Chromedriver的路徑
三 Jenkins配置
1.安裝Jenkins室琢,這里不詳細(xì)介紹了乾闰,網(wǎng)上很多教程
2.打開Jenkins網(wǎng)頁
3.打開Jenkins的全局配置頁面,配置maven盈滴,maven_home是Jenkins服務(wù)器上的maven路徑
4.新增Jenkins任務(wù)
5.配置Jenkins任務(wù)
①進(jìn)入Jenkins任務(wù)涯肩,點(diǎn)擊配置
②源碼管理選擇git,輸入git倉庫地址巢钓、添加并選擇git用戶病苗、輸入分支
③選擇構(gòu)建步驟
④選擇maven版本,輸入maven命令
⑤保存配置
6.開始構(gòu)建
7.查看控制臺輸出症汹,如果成功硫朦,日志和下圖類似
四 總結(jié)
以上就是我的Jenkins持續(xù)集成的過程,踩過的坑和注意事項(xiàng)也都重點(diǎn)標(biāo)記出來了背镇,大家也要注意哦咬展!
補(bǔ)充:我用xshell連接的服務(wù)器泽裳,在Jenkins構(gòu)建時,xshell老是會彈出彈窗
解決辦法:1.把xshell遠(yuǎn)程連接關(guān)掉 2.在創(chuàng)建連接時破婆,關(guān)閉X11轉(zhuǎn)發(fā)選項(xiàng)