Jenkins+robotframework單機版簡約教程

迫於某人極渴望學自動化測試,所以寫下此簡約教程.媽蛋我是個JAVA後端開發啊...
此教程爲基於window系統的Jenkins單機版,測試代碼無版本控制的精要壓縮版本教程,勿噴html

前提:經過Jenkins執行自動化測試,本文習慣稱爲構建,這個名稱比較通用.所以,咱們將Jenkins執行自動化測試在下文均稱爲構建java

安裝Jenkins

如已存在Jenkins及其的RobotFramework插件,讀者直接跳過python

1.安裝JAVA環境

百度吧...shell

2.下載Jenkins

下載地址:https://jenkins.io/zh/download/編程

如圖,選擇windows版本json

解壓後打開msi文件,進行安裝windows

選擇安裝到d:\Jenkins, 一直點擊下一步,就自動安裝及啓動 Jenkins服務.後端

finish後會瀏覽器會自動打開localhost:8080,關閉這個頁面瀏覽器

接下來從服務裏面看到Jenkins服務(哈???你說你不會打開看服務???任務欄-鼠標右鍵-任務管理器-服務)tomcat

3. Jenkins端口配置及插件更新源地址

配置端口

修改端口,防止哪天安裝了tomcat 默認8080端口占用了
到安裝目錄d:\Jenkins\根目錄下找jenkins.xml文件,修改8080到其餘端口,如9000,

插件更新源地址

修改此地址爲了下載和更新插件更快.到安裝目錄d:\Jenkins\根目錄下找d:\Jenkins\hudson.model.UpdateCenter.xml,修改https://updates.jenkins.io/update-center.jsonhttps://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系列版本最新版

根據實際狀況,選擇3264位的

如安裝Jenkins同樣,安裝到D盤,一路next便可

將安裝目錄d:\Python27d:\Python27\Scripts設置到環境變量(具體設置環境變量百度下吧~)

新建一個cmd命令符窗口,python -V檢查安裝是否成功,注意是2版本的便可

2. 安裝pipsetuptools

pip爲安裝python第三方庫的重要工具,setuptoolsPython distutils加強版的集合.假如不明白,安裝就是了.

配置國內pip源

pip國內的一些鏡像

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__.txthelloworld.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正確安裝且已經安裝必要插件,具體查看安裝必要插件章節

該章節依賴於robot命令能夠在命令行中正確執行用例,具體查看命令行執行測試實例章節

1. 建立一個自由風格的項目

打開Jenkins主頁,新建一個自由風格的項目

2. 設置參數

根據配置任務參數的頁面,Jenkins的配置可分爲如下幾個節點

  • General

  • 源碼管理

  • 構建觸發器

  • 構建環境

  • 構建

  • 構建後觸發

根據截圖來分析相關要點吧

General

如上圖,是General節點的配置,對於本次教程的宗旨單機+無版本控制+精簡+來講,這個節點能夠配置的就是兩個地方而已

描述

描述項目,將展現在首頁

Discard old builds

也就是丟棄舊的構建.明顯,每次經過Jenkins執行完畢自動化測試(習慣稱爲構建,這個名稱比較通用.所以,咱們將Jenkins執行自動化測試在下文均稱爲構建),Jenkins都會保存每次構建的結果,分析等內容,也佔主機的磁盤容量.所以,咱們採起丟棄策略,在此咱們設置保持構建的最大個數選項爲10便可

源碼管理

此選項是指,執行構建的代碼,從哪裏來的,通常正常開發是須要代碼版本控制的.
因爲此教程宗旨爲無版本控制的教程,故選取無

構建觸發器

也就是何時會自動觸發構建,本實例就什麼都不行,最後到Jenkins網頁來主動觸發

構建環境

運行構建的時候,Jenkins的工做環境,例如一些文件,或者日誌選項,具體仍是那句話,搜索看具體文檔吧,不難

構建

通常來講,構建構建,也就是將項目源碼編譯成可執行的二進制或虛擬機可運行的包,也成爲打包

例如Java項目,經過mavengradle環境下,使用相關命令將工做空間的代碼(版本控制更新的代碼),編程成warjar

因爲本教程用途僅僅是執行自動化測試腳本,因此這裏指的就是在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

Robot Framework 的安裝配置和簡單的實例介紹:https://www.ibm.com/developerworks/cn/opensource/os-cn-robot-framework/index.html

更換pip源到國內鏡像:https://blog.csdn.net/chenghuikai/article/details/55258957

相關文章
相關標籤/搜索