發表文章

目前顯示的是有「#CI」標籤的文章

[資工] Jenkins 篇:使用 python BDD 自動化測試網站 (Jenkins + behave + selenium)

圖片
Jenkins 這篇會記載如何從無到有安裝 Jenkins,並新增一個能夠閱讀 Junit 格式測試報告的自動測試專案。同時讓 Jenkins 與 github repo 掛勾,在有新的 commit 時能夠自動抓下來建置並執行測試。 1) Jenkins 端的配置與安裝 *裝在 mac 上所以會使用 brew 這個套件管理系統 1-1) 安裝 先安裝相依套件 JDK 8 brew cask install homebrew/cask-versions/adoptopenjdk8 再安裝 jenkins,這邊使用長期支援版本(LTS) brew install jenkins-lts 1-2) 啟動 brew services start jenkins-lts 打開瀏覽器輸入 localhost:8080 在安裝的設定選擇常用的「基本套件」即可 幾過一連串的設定就可以看到 Jenkins 首頁 1-3) 新增專案 在首頁左邊選擇「新增作業」,進到頁面之後輸入專案名稱「 Python -behave -testing 」並選擇「自由專案」,接著會進到配置頁面去輸入有關 github repo 與建置動作的設定 1-3-1) 配置 git repository a.選 Git b.填入 github URL(使用 SSH 格式) c.增加 Credential:點選 Add 按鈕開啟下拉選單並選擇  Jenkins ,在新頁面輸入 github 登入的帳號跟密碼 1-3-2) 設定 SCM 輪詢 如果 Jenkins 架在私人機器不對外公開或者不打算使用 git webhook 的推播功能,那我們可以啟用 SCM 輪詢,這邊的排程採用 crontab 的時間格式,範例中為每隔 5 分鐘檢查 repo 是否有新的 commit。 1-3-3) 設定建置的腳本 由於這是一個網頁測試專案,其實不用建置,所以這邊直接輸入 behave --junit,讓 behave 這個 python 的 BDD 框架能夠產生 JUnit 格式的報告,讓 Jenkins 能夠讀取與分析。 但是由於我們把 behave 跟 selenium-chrome-