迫於某人極渴望學自動化測試,所以寫下此簡約教程.媽蛋我是個JAVA後端開發啊... 此教程爲基於window系統的Jenkins單機版,測試代碼無版本控制的精要壓縮版本教程,勿噴html
前提:經過
Jenkins
執行自動化測試,本文習慣稱爲構建,這個名稱比較通用.所以,咱們將Jenkins執行自動化測試在下文均稱爲構建python
安裝Jenkins
如已存在
Jenkins
及其的RobotFramework
插件,讀者直接跳過shell
1.安裝JAVA環境
百度吧...編程
2.下載Jenkins
下載地址:https://jenkins.io/zh/download/json
如圖,選擇windows
版本windows
解壓後打開msi
文件,進行安裝後端
選擇安裝到d:\Jenkins
, 一直點擊下一步,就自動安裝及啓動 Jenkins
服務.瀏覽器
finish
後會瀏覽器會自動打開localhost:8080
,關閉這個頁面tomcat
接下來從服務裏面看到Jenkins服務
(哈???你說你不會打開看服務???任務欄-鼠標右鍵-任務管理器-服務
)maven
3. Jenkins端口配置及插件更新源地址
配置端口
修改端口,防止哪天安裝了tomcat 默認8080端口占用了 到安裝目錄d:\Jenkins\
根目錄下找jenkins.xml
文件,修改8080
到其餘端口,如9000
,
插件更新源地址
修改此地址爲了下載和更新插件更快.到安裝目錄d:\Jenkins\
根目錄下找d:\Jenkins\hudson.model.UpdateCenter.xml
,修改https://updates.jenkins.io/update-center.json
爲https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
重啓jenkins
服務
再服務管理裏面,選中Jenkins
服務,而後右鍵彈出菜單選從新啓動
4. 安裝基本插件及帳戶初始化
重啓完畢,瀏覽器打開localhost:9000
訪問Jenkins
,根據提示到D:\Jenkins\secrets\initialAdminPassword
查看密碼
選擇默認推薦安裝
,而後等待安裝完畢,安裝失敗也不要緊,跳過待須要時候再安裝便可
此時到設置默認管理員帳號及密碼,以帳號root
和密碼123456
爲例.保存並完成後,填寫默認URL
再次保存完成
至此,已完成初始化,接下來開始登錄吧
注意:有可能完成初始化後,打開的頁面是空白的而不是歡迎頁面,以下
此時經過重啓解決
登錄完成後是以下圖
5. 安裝必要插件
Manage Jenkins
-Manage Plugins
-可選插件
進行搜索安裝RobotFramework
插件
等待安裝完畢
檢查是否已安裝,Manage Jenkins-
Manage Plugins-
已安裝`檢查是否安裝成功
安裝robotframework環境
如已存在robotframework,讀者直接跳過
1. 安裝python2最新版
到https://www.python.org/downloads/
,下載最新的2
系列版本最新版
根據實際狀況,選擇32
或64
位的
如安裝Jenkins
同樣,安裝到D
盤,一路next
便可
將安裝目錄d:\Python27
及d:\Python27\Scripts
設置到環境變量(具體設置環境變量百度下吧~)
新建
一個cmd
命令符窗口,python -V
檢查安裝是否成功,注意是2
版本的便可
2. 安裝pip
和setuptools
pip
爲安裝python
第三方庫的重要工具,setuptools
是Python distutils
加強版的集合.假如不明白,安裝就是了.
配置國內pip源
pip國內的一些鏡像
- 阿里雲 http://mirrors.aliyun.com/pypi/simple/
- 中國科技大學 https://pypi.mirrors.ustc.edu.cn/simple/
- 豆瓣(douban) http://pypi.douban.com/simple/
- 清華大學 https://pypi.tuna.tsinghua.edu.cn/simple/
- 中國科學技術大學 http://pypi.mirrors.ustc.edu.cn/simple/
**windows修改源: **
在user目錄中建立一個pip目錄,如: C:\Users\Administrator\pip ,在pip
文件夾中 新建文件pip.ini
,內容以下
[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple
安裝最新版pip
pip
命令在安裝python2
時候已經安裝到d:\Python27\Scripts
,只是版本太舊,咱們須要升級到最新版本
C:\Users\oneisall>pip list DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning. pip (9.0.3) setuptools (39.0.1) You are using pip version 9.0.3, however version 19.2.3 is available. You should consider upgrading via the 'python -m pip install --upgrade pip' command.
根據提示,咱們可使用python -m pip install --upgrade pip
升級到最新版本19.2.3
C:\Users\oneisall>python -m pip install --upgrade pip Collecting pip Downloading https://files.pythonhosted.org/packages/30/db/9e38760b32e3e7f40cce46dd5fb107b8c73840df38f0046d8e6514e675a1/pip-19.2.3-py2.py3-none-any.whl (1.4MB) 100% |████████████████████████████████| 1.4MB 541kB/s Installing collected packages: pip Found existing installation: pip 9.0.3 Uninstalling pip-9.0.3: Successfully uninstalled pip-9.0.3 Successfully installed pip-19.2.3
再次pip list
檢測
C:\Users\oneisall>pip list DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support Package Version ---------- ------- pip 19.2.3 setuptools 39.0.1
安裝最新版setuptools
咱們從pip list
中發現setuptools
也已經安裝,同理使用python -m pip install --upgrade setuptools
進行升級
C:\Users\oneisall>python -m pip install --upgrade setuptools DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support Collecting setuptools Downloading https://files.pythonhosted.org/packages/b2/86/095d2f7829badc207c893dd4ac767e871f6cd547145df797ea26baea4e2e/setuptools-41.2.0-py2.py3-none-any.whl (576kB) |████████████████████████████████| 583kB 90kB/s Installing collected packages: setuptools Found existing installation: setuptools 39.0.1 Uninstalling setuptools-39.0.1: Successfully uninstalled setuptools-39.0.1 Successfully installed setuptools-41.2.0
3. 安裝重要的幾個庫
庫名稱 | 安裝命令 |
---|---|
robotframework | pip install robotframework |
wxPython | pip install -U wxPython |
robotframework-ride | pip install robotframework-ride |
selenium2library | pip install robotframework-selenium2library |
archivelibrary | pip install robotframework-archivelibrary |
SSHLibrary | pip install robotframework-SSHLibrary |
ftplibrary | pip install robotframework-ftplibrary |
4. 運行RIDE
安裝完,發現沒有生成RIDE
桌面圖標,可按照下面方法解決:關於RIDE桌面快捷方式建立失敗問題解決
桌面右擊鼠標,彈出的菜單選擇 新建-快捷方式 ,而後在 請鍵入對象的位置輸入這一行命令,
d:\Python27\pythonw.exe -c "from robotide import main;main()"
輸入路徑以後,點擊下一步,輸入你要創建的快捷方式的名稱如
RIDE
換圖標:
快捷方式上點擊右鍵-屬性-更改圖標
,在D:\Python27\Lib\site-packages\robotide\widgets
選取喜歡的圖標
雙擊桌面的圖標,便可運行RIDE
5.RIDE運行導入測試用例
文中使用
helloword
來測試,如讀者本機已有測試用例,則直接跳過此部分
建立用例
桌面新建文件夾test
,在裏面新建,__init__.txt
和helloworld.txt
文件
__init__.txt
文件,內容以下:
*** Settings *** Library Selenium2Library
helloworld.txt
文件,內容以下:
*** Test Cases *** 02 ${hi} Set Variable Hello, world! log ${hi}
導入及運行用例
如圖,打開RIDE
後在File-Open Directory
導入文件夾
選中helloworld
用例點擊運行進行測試
至此,出現helloworld
即證實用例已經被RIDE
運行,接下來運用robot
命令進行測試
6. 命令行執行測試實例
如讀者會相關命令,則直接跳過此部分
新建CMD
命令行窗口,用robot -d report_dir target_dir
執行target_dir
文件夾全部用例,並將報告輸出到report_dir
文件夾 如命令行執行桌面的test
文件夾的全部用例,報告輸出到桌面的test_report
文件夾:
robot -d C:\Users\oneisall\Desktop\test_report C:\Users\oneisall\Desktop\test
結果如圖:
7. 查看報告與指定報告位置
如圖所示,有三個報告文件生成,能夠用文本編輯器和瀏覽器分別打開
- log.html
- output.xml
- report.html
建立Jenkins測試任務(JOB)
其實本章最重要的關鍵部分已經寫完了,接下來只是在
robotframework
下,將原本在命令行下執行的命令,如何在Jenkins
建立出來而已,我的以爲此章節是最沒有挑戰性的一部分(貌似總體下來步驟正確應該都沒有難度的吧 =_=).只要學會Jenkins
的構建的相關知識便可.如須要詳細瞭解,能夠搜索相關文章進行詳解.
該章節依賴於Jenkins
正確安裝且已經安裝必要插件,具體查看[安裝必要插件](#5. 安裝必要插件)章節
該章節依賴於robot
命令能夠在命令行中正確執行用例,具體查看[命令行執行測試實例](#6. 命令行執行測試實例)章節
1. 建立一個自由風格的項目
打開Jenkins主頁,新建一個自由風格的項目
2. 設置參數
根據配置任務參數的頁面,
Jenkins
的配置可分爲如下幾個節點
-
General
-
源碼管理
-
構建觸發器
-
構建環境
-
構建
-
構建後觸發
根據截圖來分析相關要點吧
General
如上圖,是General
節點的配置,對於本次教程的宗旨單機+無版本控制+精簡+來講,這個節點能夠配置的就是兩個地方而已
描述
描述項目,將展現在首頁
Discard old builds
也就是丟棄舊的構建.明顯,每次經過Jenkins
執行完畢自動化測試(習慣稱爲構建,這個名稱比較通用.所以,咱們將Jenkins執行自動化測試在下文均稱爲構建),Jenkins
都會保存每次構建的結果,分析等內容,也佔主機的磁盤容量.所以,咱們採起丟棄策略,在此咱們設置保持構建的最大個數
選項爲10
便可
源碼管理
此選項是指,執行構建的代碼,從哪裏來的,通常正常開發是須要代碼版本控制的. 因爲此教程宗旨爲無版本控制的教程,故選取無
構建觸發器
也就是何時會自動觸發構建,本實例就什麼都不行,最後到Jenkins
網頁來主動觸發
構建環境
運行構建的時候,Jenkins
的工做環境,例如一些文件,或者日誌選項,具體仍是那句話,搜索看具體文檔吧,不難
構建
通常來講,構建構建,也就是將項目源碼編譯成可執行的二進制或虛擬機可運行的包,也成爲打包
例如Java
項目,經過maven
或gradle
環境下,使用相關命令將工做空間的代碼(版本控制更新的代碼),編程成war
或jar
包
因爲本教程用途僅僅是執行自動化測試腳本,因此這裏指的就是在robotframework
環境下,執行robot target_dir
命令進行自動化測試.
又因爲本教程是基於window
系統的用的是window
系統批處理命令,故選Execute Windows batch command
同理,聰明如你,若是是Linux
則選Execute shell
啦
填寫命令,複製便可,根據讀者你的實際狀況,使用相關的絕對路徑.不然使用相對路徑是從Jenkins工做目錄進行執行相關命令,致使找不到文件路程,從而使構建失敗
構建後操做
告訴Jenkins
,執行完構建後,要幹啥,例如發郵件通知,收集測試結果,構建其餘項目,刪除工做空間等等
因此,咱們以要查看自動化測試報告爲例子,故選取Publish RobotFramework test results
主要設置報告輸出位置,閾值的大小(測試用例經過率與最終構建狀態相關)
點擊保存,接下來進行執行構建
3. 執行構建
到咱們配置好的TestCase
項目界面,點擊Build Now
按鈕,便可
點擊後自動運行構建(即執行測試命令,進行自動化測試)
4. 查看結果
執行完畢,便可在該次構建結果裏面查看各類詳情
因爲設置輸出到報告,不能點擊瀏覽器按鈕進行查看,須要到桌面進行查看
5. 檢查報告目錄
到桌面test_report
目錄裏面查看報告
瀏覽器打開查看測試日誌報告
6. 指定輸出報告目錄及經過瀏覽器瀏覽報告(生產推薦)
TODO 建議讀者探究,有時間再寫
總結
濾清流程,涉及的每一個工具的用途,基本無障礙進行搭建環境.
考慮到該教程針對的是小白學習,目的是給與小白親和感,而不是面對一堆工具毫無頭緒的這裏搞搞哪裏搞搞.
教程並不適合生產,因此建議讀者在生產環境搭建時,再次深刻了解Jenkins
的妙處(分佈式+多分支流水線+多環境+項目自動構建發+自動化測試)
參考
RobotFramework環境搭建:https://blog.csdn.net/DaxiaLeeSuper/article/details/77568524
從零搭建Robot Framework+Jenkins持續集成環境:https://www.jianshu.com/p/ef8d3109ac5f
更換pip源到國內鏡像:https://blog.csdn.net/chenghuikai/article/details/55258957