除了我們常用的 Selenium、SideeX 之外,Robot Framework IDE 也是值得推薦的網頁自動化測試工具。這次為了活化 MacBook Air 資產價值,並重新檢視一個年久失修的 Mac mini + Robot Framework IDE 測試環境,釐清 2017 至今的工具鍊變化,且看以下說明。
因為是第一次用 MacBook Air,以前一直有些擔心:
就我們開發環境的需求而言,裝了 Xcode 還有各種版本的 Python,最後終於克服了 pip 這個那個的問題,至少到現在為止,沒有發現什麼不理想的狀況。
Robot Framework IDE 基於 Python。因為 Mac 本身已附了 Python,但不一定是 Robot Framework IDE 可以合作的版本,而且對 Python 有點陌生的我震驚的是,Python 2 到 3 是個不相容的大改版,如果留在 Python 2 會有許多臨近 End of Life 的問題,冒冒然升 Python 3 又可能造成系統不穩,或以 sudo 權限裝得目錄一團亂的問題。所以在粗淺的涉獵後,終於決定多裝一個 pyenv 來管理 Python 多版本並存的環境。
在開發環境應該都有 Homebrew 與 Xcode 吧?安裝 pyenv 非常簡單,只要
就好了,依我的經驗,這裡幾乎沒什麼出錯的機會。不過有點小麻煩的是,有些安裝後設定要自己補。如果是 zsh 的話,在命令列下這兩道指令
記得要重新登入才會生效。接下來我們可以試試下「pyenv versions」列出目前所有已安裝的 Python 版本,至少會有一個 system 代表系統內建版本,至少會有一個星號指出目前使用的版本。如果要安裝其他的版本,可以「pyenv install --list」先查詢哪些版本可以抓,再「pyenv install <版本號>」安裝。以我們要安裝 3.9.7 為例,又要搭配 Robot Framework 有個額外的環境變數要設,所以命令是
安裝後,要切換為當前版本
最後可以下「python -V」確認切換成功。但為了後續安裝順利,有個動作非常重要
這是因為在 Python 切換版本時,pip 套件管理工具也要同步的關係,如果沒處理好的話,後續裝套件就會看到各式各樣千奇百怪的錯誤,Google 會找到答案沒錯,但那只是把我們帶得愈來愈遠而已。
其實真正工作的是 Robot Framework,只是為了方便,另外也同時用 Robot Framework IDE,但這是個超級難搞的怪獸,實測竟然沒有一個穩定版可行?而且更新的頻率似乎拉長了不少。幸好在 Python 3.9.7,搭配 Robot Framework IDE 2.0b1 這組合沒問題,其他的版本就很難保證了。安裝的指令是
安裝後可以「pip list」確認,若沒有問題,桌面會自動建立捷徑,點兩下,或下指令 ride.py 應該都可以開啟 Robot Framework IDE 開發工具。為了確認開發工具正常,建議是準備以下的測試案例 hello.robot ,載入執行看看是否沒問題?
這個測試腳本特別要注意的是:第 2、5、9 行的四個 <TAB> 不只是為了好看,換成多個連續空格也可以,但與一個空格有完全不同的意義,相當於欄位分隔符號。
首先要下載安裝 Google Chrome 瀏覽器。因為 Google 只給穩定版或開發版,舊的版本在別處下載也不安全,所以這裡要特別注意的是「找到一致的 Chrome Driver 版本」。
Chrome Driver 下載解壓之後應該只是一個檔案,要有執行權限,並放在 $PATH 指得到的路徑下。
因為要用到 SeleniumLibrary 套件,要額外安裝
接著是個稍微複雜一點的測試腳本 Google.robot
如此即可確認這個測試環境的整合與可用性,日後的工作就是累積更多的測試案例了!