選單
GSS 技術部落格
在這個園地裡我們將從技術、專案管理、客戶對談面和大家分享我們多年的經驗,希望大家不管是喜歡或是有意見,都可以回饋給我們,讓我們有機會和大家對話並一起成長!
若有任何問題請來信:gss_crm@gss.com.tw
4 分鐘閱讀時間 (733 個字)

Robot Framework IDE

RobotFramework

除了我們常用的 Selenium、SideeX 之外,Robot Framework IDE 也是值得推薦的網頁自動化測試工具。這次為了活化 MacBook Air 資產價值,並重新檢視一個年久失修的 Mac mini + Robot Framework IDE 測試環境,釐清 2017 至今的工具鍊變化,且看以下說明。

因為是第一次用 MacBook Air,以前一直有些擔心:

  • 會不會有些 MacBook Pro 的軟體不能在 MacBook Air 上執行?
  • 新的 MacBook Air CPU 從 Intel 換成 M1,會不會有些相容性的問題?

就我們開發環境的需求而言,裝了 Xcode 還有各種版本的 Python,最後終於克服了 pip 這個那個的問題,至少到現在為止,沒有發現什麼不理想的狀況。

pyenv 

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 非常簡單,只要

  • brew update
  • brew install pyenv

就好了,依我的經驗,這裡幾乎沒什麼出錯的機會。不過有點小麻煩的是,有些安裝後設定要自己補。如果是 zsh 的話,在命令列下這兩道指令

  • echo 'eval "$(pyenv init --path)"' >> ~/.zprofile
  • echo 'eval "$(pyenv init -)"' >> ~/.zshrc

記得要重新登入才會生效。接下來我們可以試試下「pyenv versions」列出目前所有已安裝的 Python 版本,至少會有一個 system 代表系統內建版本,至少會有一個星號指出目前使用的版本。如果要安裝其他的版本,可以「pyenv install --list」先查詢哪些版本可以抓,再「pyenv install <版本號>」安裝。以我們要安裝 3.9.7 為例,又要搭配 Robot Framework 有個額外的環境變數要設,所以命令是

  • env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.9.7

安裝後,要切換為當前版本

  • pyenv global 3.9.7

最後可以下「python -V」確認切換成功。但為了後續安裝順利,有個動作非常重要

  • python -m pip install --upgrade pip setuptools wheel

這是因為在 Python 切換版本時,pip 套件管理工具也要同步的關係,如果沒處理好的話,後續裝套件就會看到各式各樣千奇百怪的錯誤,Google 會找到答案沒錯,但那只是把我們帶得愈來愈遠而已。 

 Robot Framework IDE

其實真正工作的是 Robot Framework,只是為了方便,另外也同時用 Robot Framework IDE,但這是個超級難搞的怪獸,實測竟然沒有一個穩定版可行?而且更新的頻率似乎拉長了不少。幸好在 Python 3.9.7,搭配 Robot Framework IDE 2.0b1 這組合沒問題,其他的版本就很難保證了。安裝的指令是

  • pip install psutil robotframework
  • pip install --pre robotframework-ride==2.0b1

安裝後可以「pip list」確認,若沒有問題,桌面會自動建立捷徑,點兩下,或下指令 ride.py 應該都可以開啟 Robot Framework IDE 開發工具。為了確認開發工具正常,建議是準備以下的測試案例 hello.robot ,載入執行看看是否沒問題?

這個測試腳本特別要注意的是:第 2、5、9 行的四個 <TAB> 不只是為了好看,換成多個連續空格也可以,但與一個空格有完全不同的意義,相當於欄位分隔符號。

 Browser and Driver

首先要下載安裝 Google Chrome 瀏覽器。因為 Google 只給穩定版或開發版,舊的版本在別處下載也不安全,所以這裡要特別注意的是「找到一致的 Chrome Driver 版本」。

Chrome Driver 下載解壓之後應該只是一個檔案,要有執行權限,並放在 $PATH 指得到的路徑下。

因為要用到 SeleniumLibrary 套件,要額外安裝

  • pip install robotframework-seleniumlibrary

接著是個稍微複雜一點的測試腳本 Google.robot

如此即可確認這個測試環境的整合與可用性,日後的工作就是累積更多的測試案例了!

Autofac 套件內部如何達成 IOC 目的 - 概述圖解
測試工具 Recorder

相關文章

 

評論

尚無評論
已經注冊了? 這裡登入
Guest
2024/04/30, 週二

Captcha 圖像