Jenkins集成appium自動化測試(Windows篇)

一,引入問題

  • 自動化測試腳本絕大部分用於回歸測試,這就需要制定執行策略,如每天、程式碼更新後、項目上線前定時執行,才能達到最好的效果,這時就需要進行Jenkins集成。

  • 不像web UI自動化測試可以使用無痕瀏覽器做到無介面,APP UI自動化需要用到真機或模擬器,在完全的linux環境下做Jenkins集成顯得不太可能。

  • 可以在自己的工作電腦上搭建Jenkins,並運行APP UI自動化測試項目,但工作電腦關閉後就不能定時運行自動化項目,且工作的電腦還要用來做別的工作,這樣顯得極其不方便。

基於以上等原因,可以考慮向公司申請一台專門用於做自動化測試的本地電腦,搭建好本地電腦的測試環境,連接真機或模擬器;在公司的測試伺服器上部署Jenkins,新建節點連接本地測試電腦,這樣就可以利用Jenkins設置策略定時在本地測試電腦上構建測試項目。

注意:之所以不直接在專門用於測試的電腦上直接搭建Jenkins,是因為可能除APP自動化項目外,還有web自動化、介面自動化或者其他集成項目,Jenkins搭建在遠程伺服器上方便對所有需要Jenkins構建的項目進行管理。

本篇部落格涉及的環境:遠程Jenkins版本2.176.3,本地電腦 Windows 10

二,搭建思路

1,搭建Jenkins

2,新建節點

3,配置節點

4,節點啟動代理

5,新建任務

6,配置任務(獲取最新程式碼、關聯從節點等)

7,調試構建

三,具體步驟

1,搭建Jenkins

不多贅述,網上教程很多,大家自行查閱。也有很多公司的測試伺服器已經搭建好Jenkins,直接使用即可。注意,本部落格示例的Jenkins版本為2.176.3

2,新建節點

登錄Jenkins –> Manage Jenkins –> Manage Nodes –> 新建節點,具體步驟如下:

點擊確定後,會跳轉至節點配置頁面。

3,配置節點

3.1,按下圖中的說明進行配置,未進行說明的默認即可,再點擊【保存】按鈕。

注意

  • 遠程工作目錄,理論上可以填寫本地測試電腦里的任意目錄路徑,但最好專門新建一個用於Jenkins工作的目錄。

  • 我這裡的Jenkins版本為2.176.3,啟動方法中無 Launch agents Java Web Start 選項,網上查找資料後進入Manage Jenkins –> Configure Global Security 進行如下設置

但啟動方法中仍然沒有展示”Launch agents Java Web Start”選項。但其實這裡選擇”Let Jenkins control this Windows slave as a Windows service”也是可行的。

3.2,點擊保存後,跳轉至Nodes頁面,出現如下節點

4,啟動代理

4.1,Nodes頁面點擊節點,跳轉至如下頁面:

4.2,這裡有兩種方法啟動節點,我選擇第一種,點擊【Launch】,提示下載slave-agent.jnlp文件,將該文件下載保存至方便後面查找的目錄里。

4.3,雙擊slave-agent.jnlp文件後點擊運行,會出現如下圖標

這個時候,在Jenkins主頁我們會看到節點已經連接成功。

5,新建任務

新建一個自由風格的任務,步驟如下:

image

6,配置任務

對上一步新建的任務進行配置,步驟如下。

6.1,任務關聯節點

標籤表達式里可以填寫配置時填入的標籤名,也可以直接填寫節點名稱。

image

6.2,源碼管理

6.2.1,因為我的程式碼通過git管理,所以選擇Git選項

6.2.2,Repository URL,填入git中該測試項目的地址

6.2.3,Credentials,填入git帳號跟密碼。填寫方法,點擊【添加】按鈕進入添加頁面,添加git帳號密碼後,再選中即可,具體如下:

6.2.4,Branch Specifier (blank for ‘any’),選擇項目分支,可填寫該項目需要運行的分支,沒有其他分支的話,默認master即可

6.3,構建觸發器(非必選)

可根據自己的需求來選擇不同的項進行配置,也可不配置。如果需要定時構建運行項目,則勾選Build periodically,填入30 23 * * *,則表示每天晚上11點半開始運行項目,如下所示:

6.4,構建

點擊【增加構建步驟】按鈕,選擇”Execute Windows batch command”

輸入構建命令,即執行自動化測試項目的命令

注意,第一次配置構建命令時,可以隨意配置,如:python run.py,保存配置後先進行第一次構建,第一次構建完成後,會在節點配置的遠程工作目錄里生成workspace文件夾,下面的第一構建步驟會具體介紹。

6.5,進行第一次構建

按照上面的步驟進行配置後,先點擊【應用】再點擊【保存】

保存成功後,跳轉至test任務頁面,點擊【Build Now】,進行第一次構建

不用管第一次構建是失敗與否,構建完成後會在節點配置的遠程工作目錄里生成workspace、remoting兩個文件夾,如下圖

並在workspace中生成兩個以任務名命名的文件夾,如下圖的test、test@temp

其中test文件夾里會從第6.2步中配置好的git倉庫中下載項目程式碼,如下:

至此,第一次構建的目的達到了。但是我們需要根據項目中run文件的具體路徑,再次配置任務里的構建命令,後續才能正確地構建運行測試項目,這裡配置如下,再點擊應用、保存。

注意,執行python命令需要提前在本地測試電腦里配置好python。

7,調試

按照第6步配置任務完成後,先調試是否能跑通,調試成功後才可進行正式構建執行測試項目,進入任務主頁面,點擊【Build New】按鈕。

在構建歷史中,還可選擇點擊某次構建進入控制台查看構建日誌,如下:

至此,就可以通過遠程Jenkins在本地測試電腦上集成構建測試任務了。

四,總結

注意

  • 配置節點時填寫的遠程工作目錄,是本地測試電腦上的目錄路徑,即該Jenkins節點的工作目錄。

  • 配置任務的源碼管理時,根據實際需求,如果是git倉庫就選擇Git,如果是SVN就選擇subversion

  • 進行第一次構建之前,由於還沒有在遠程工作目錄里生成workspace並拉取程式碼,配置的構建命令並不需要真實的執行命令,如:python run.py

  • 第一次構建通常情況下會失敗,但會生成remoting、workspace,並從遠程程式碼倉庫拉取程式碼存放在workspace中以節點名稱命名的文件夾里

  • 第一次構建完成後,需要對任務重新配置正確的構建命令,如:python E:\autoTest\workspace\test\run.py