---
tags: AutoTesting
---
# 自動化測試環境建置
## 安裝Git
從[Git官網](https://git-scm.com/downloads)下載檔案進行安裝

## 安裝JAVA JDK
從[Oracle官網](https://www.oracle.com/tw/java/technologies/javase/javase-jdk8-downloads.html)下載JDK1.8進行安裝

## 安裝Allure
從[Allure官網下載](https://github.com/allure-framework/allure2/releases/)解壓縮後,將allure的bin目錄加至環境變數PATH

## 安裝Python
1. 從[Python官網](https://www.python.org/downloads/)下載Python3.6+以上的檔案進行安裝

2. 安裝virtualenv套件
```
pip install virtualenv
```

3. 建立Python虛擬環境,Python39_AutoCMS為虛擬環境目錄名稱
```
virtualenv Python39_AutoCMS
```

3. 從[CMS_AutoTesting Git](https://git-it.yile808.com/qaauto/CMS_AutoTesting.git) 上clone requirements.txt 檔案下來

5. 切換置虛擬環境中的Scripts目錄,並執行`activate`指令進入虛擬環境中

6. 執行`pip install -r D:\Python_Env\requirements.txt`,安裝requirements.txt中的lib (路徑需修改為requirements.txt檔案位置)

7. 執行`deactivate`離開虛擬環境

8. 將Python環境變數改為虛擬環境的路徑(因Jenkins執行時抓系統變數)

9. 重新開command line, 執行`pytest --version`, 確認環境變數是否修改正確

## Jenkins建置
### 安裝Jenkins
1. 從[Jenkins官網](https://www.jenkins.io/zh/download/)下載檔案進行安裝
2. 選擇Run service as LocalSystem(not recommanded)

3. 輸入Jenkins使用的Port, 預設為8080, 輸入後點擊Test Port確認該Port是否可以使用

4. 安裝完成後會自動開啟Jenkins, 進到輸入預設密碼畫面表示安裝成功

### 修改Jenkins HOME目錄
Windows環境Jenkins安裝後, 預設工作路徑會在C:\system目錄下, 執行自動測試程式會有權限無法開啟檔案問題,需調整JENKINS_HOME目錄位置。
1. 關閉Jenkins服務: http://<Jenkins IP>:<Port>/stop 或從Windows服務中關閉Jenkins

2. 在Jenkins安裝目錄下找到jenkins.xml調整JENKINS_HOME與pidfile

3. 啟動Jenkins服務: http://<Jenkins IP>:<Port>/start 或從Windows服務中開啟Jenkins
### Jenkins設置
1. 開啟Jenkins Console, 首次開起會顯示預設密碼放置檔案位置, 開啟檔案後複製密碼輸入

2. 安裝建議的軟體程式


3. 建立admin使用者

4. 輸入Jenkins Console URL
IP為安裝Jenkins環境IP, Port為安裝Jenkins時所輸入的Port
> Jenkins所使用的Port需將防火牆打開,其他client才能透過URL連到Jenkins

5. 設定Git.exe路徑


6. 安裝Allure Jenkins Plugin

選擇[可用的], 並搜尋Allure, 安裝套件

跳轉至安裝畫面時, 請勾選"當安裝完成且沒有工作正在執行時,重啟Jenkins"

跳轉至安裝畫面時, 請勾選"當安裝完成且沒有工作正在執行時,重啟Jenkins"
7. 配置Jenkins中Allure設定


### 新增專案
1. 自動測試專案


2. 專案原始碼管理

新增Jenkins管理GitLab帳密

3. 新增建置步驟執行自動測試程式,選擇執行Windows批次指令,並輸入
```
pytest --priority=1 --url=https://qa2-backend.yile808.com --alluredir "%WORKSPACE%\target\allure-results" -s
exit 0
```
注意: alluredir路徑不可任意修改,否則可能會造成產生測試報告時找不到路徑

4. 建置後動作選擇設定Allure Report
```
Results Path: target/allure-results
進階設定的Report path: target/allure-report
```
注意: alluredir路徑不可任意修改,否則可能會造成產生測試報告時找不到路徑

5. 建置完成儲存後,可點擊馬上建置觸發自動化測試

6. 可從console ouput查看執行內容

7. 執行完成後,可從Jenkins上查看Allure報表


點擊Allure報表中Jenkins可回到Jenkins頁面

### Jenkins專案權限設定
1. 安裝Role-based Authorization Strategy Plugin
選擇[可用的], 並搜尋Role-based, 安裝套件

2. 設定全域安全性: [管理Jenkins] --> [設定全域安全性]
* 安全性領域: 勾選Jenkins 內建使用者資料庫
* 授權: 勾選Role-Based Strategy

3. 建立使用者: [管理Jenkins] --> [管理使用者]


4. 建立權限Role: [管理Jenkins] --> [Manage and Assign Roles] --> [Manage Roles]

設定Role全域權限

設定Role在各Job權限(修改完記得click最下方的Save Button)

5. Assign Role: [管理Jenkins] --> [Manage and Assign Roles] --> [Manage Roles]
輸入要設定權限的User --> Add後,在上方勾選要設定的權限Role

PS: 若在Step4 & 5中有遇到如圖錯誤,請檢查Pattern是否定義錯誤
正確為: Roger-.* 表 Roger-開頭Job (這邊表示全部資料是以 .* 表示,而不是用 * )

6. 可使用設定好的權限帳號,重新登入Jenkins,確認設定是否成功
