maven+selenium+jenkins+git實(shí)現(xiàn)自動化持續(xù)集成

以前項(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打包插件
\color{Red}{注意:}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>路徑
\color{Red}{注意:}<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
\color{Red}{注意:}①測試類一定要放在/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 安裝包名稱
\color{Red}{注意:}執(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路徑


image.png

4.新增Jenkins任務(wù)


image.png

5.配置Jenkins任務(wù)
①進(jìn)入Jenkins任務(wù)涯肩,點(diǎn)擊配置


image.png

②源碼管理選擇git,輸入git倉庫地址巢钓、添加并選擇git用戶病苗、輸入分支


image.png

③選擇構(gòu)建步驟
image.png

④選擇maven版本,輸入maven命令
image.png

⑤保存配置

6.開始構(gòu)建


image.png

7.查看控制臺輸出症汹,如果成功硫朦,日志和下圖類似


image.png

四 總結(jié)

以上就是我的Jenkins持續(xù)集成的過程,踩過的坑和注意事項(xiàng)也都重點(diǎn)標(biāo)記出來了背镇,大家也要注意哦咬展!
補(bǔ)充:我用xshell連接的服務(wù)器泽裳,在Jenkins構(gòu)建時,xshell老是會彈出彈窗


image.png

解決辦法:1.把xshell遠(yuǎn)程連接關(guān)掉 2.在創(chuàng)建連接時破婆,關(guān)閉X11轉(zhuǎn)發(fā)選項(xiàng)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末涮总,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子荠割,更是在濱河造成了極大的恐慌,老刑警劉巖旺矾,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蔑鹦,死亡現(xiàn)場離奇詭異,居然都是意外死亡箕宙,警方通過查閱死者的電腦和手機(jī)嚎朽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來柬帕,“玉大人哟忍,你說我怎么就攤上這事∠萸蓿” “怎么了锅很?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長凤跑。 經(jīng)常有香客問我爆安,道長,這世上最難降的妖魔是什么仔引? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任扔仓,我火速辦了婚禮,結(jié)果婚禮上咖耘,老公的妹妹穿的比我還像新娘翘簇。我一直安慰自己,他們只是感情好儿倒,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布版保。 她就那樣靜靜地躺著,像睡著了一般夫否。 火紅的嫁衣襯著肌膚如雪找筝。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天慷吊,我揣著相機(jī)與錄音袖裕,去河邊找鬼。 笑死溉瓶,一個胖子當(dāng)著我的面吹牛急鳄,可吹牛的內(nèi)容都是我干的谤民。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼疾宏,長吁一口氣:“原來是場噩夢啊……” “哼张足!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起坎藐,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤为牍,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后岩馍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體碉咆,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年蛀恩,在試婚紗的時候發(fā)現(xiàn)自己被綠了疫铜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡双谆,死狀恐怖壳咕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情顽馋,我是刑警寧澤谓厘,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站寸谜,受9級特大地震影響庞呕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜程帕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一住练、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧愁拭,春花似錦讲逛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至惜论,卻和暖如春许赃,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背馆类。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工混聊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人乾巧。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓句喜,卻偏偏與公主長得像预愤,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子咳胃,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評論 2 355