不用寫程式就完成自動化測試 — RobotFramework介紹與安裝
這篇文章主要介紹一套不用寫程式就可以完成自動化測試框架 – Robot Framework
透過與 Selenium IDE 的比較讓大家更清楚瞭解使用 Robot Framework 的優點與特色
這套框架R.F, 可以完成接口測試, web測試, 手機測試, 甚至可以利用 Java, Python 等擴充自動化測試
主要講解這套框架的特色並且說明基本的安裝
Robot Framework 特色
- 關鍵字驅動 ( Keyword Driven ) 的方式完成自動化測試腳本 , 類似 Selenium IDE 的方式
- Data-Driven 可以在腳本內定義輸入資料, 完成每組資料輸入的測試, 適合用在 API 接口測試, 表單填寫測試, 登入測試等
- BDD – 可以自行定義 “關鍵字”, 讓測試報告輸出的描述更接近 User Story
- Python, Java 的延伸使用, 如果目前定義的關鍵字有所限制, 可以進一步用程式語言擴充 (Selenium IDE 無法做到這點)
- 自動產生 HTML 報告, 無須額外安裝與設定, 該測試報告易於閱讀與瞭解
- 透過 Selenium Web Driver 也可以支援各種瀏覽器, IE, Chrome, Firefox 等的測試
- 跨平台, 可以在 Windows, Linux, Mac 等執行
與Selenium IDE 比較?
我們用我們所熟習的 Selenium IDE 來瞭解 Robot Framework 的運作方式
- 像Selenium IDE 一樣的方式用關鍵字編寫測試腳本 — Yes
- 像Selenium IDE 可以自動錄製 — 這點 Robot Framework 到不是原聲Robot Framework 的主要強項, 筆者者建議可以使用 Katalon 的瀏覽器插件
- 利用 Python 來擴充補足? Yes. 這也是 Selenium IDE 做不到的致命傷, 擴充性不佳
- 利用現有的擴充套件可以進行 Web Selenium 測試, 接口測試, 手機測試等等? 這正式 Robot Framework 最強大的優點, 一樣都不需要寫程式, 只需要靠關鍵字就可以完成, 目前的擴充套件有哪些呢? 參考 http://robotframework.org/#libraries
- Robot Framework 的腳本會不會很複雜? 跟 Selenium IDE 類似用文字編輯器可以編輯, Selenium IDE 提供Firefox 插件編輯, RobotFramework 提供類似的編輯器, 但是是在 Python 下執行, 因此也可以在Windows, Linux, Mac上執行, 除了關鍵字不同之外, RobotFramework腳本編輯與Selenium IDE類似, Robot Ramework 腳本範例如下:
Open Browser | https://www.google.com/ | Chrome |
Input Text | //input[@name=”q”] | abc |
Click Element | //input[@name=”btnK”] |
Robot Framework 相關 Selenium 關鍵自用法可以參考:
http://robotframework.org/Selenium2Library/Selenium2Library.html#Shortcuts
安裝
接著我們要進行相關的安裝, 主要安裝的組件如下
- Python 2.x
- Python SetupTools (PIP)
- wxPython 2.8 with unicode (注意不要安裝最新版本, 主要因為 RF RIDE相容性問題)
- RobotFramework
- RobotFramework IDE
Python
https://www.python.org/downloads/
Windows 安裝
- 可以直接使用 MSI Installer 安裝
- 安裝完執後建議設定環境變數 PATH = C:\python27\ ; c:\python27\Scripts
Python Setuptools
https://pypi.python.org/pypi/setuptools
解壓縮完之後, 輸入:
python setup.py install |
Python PIP https://pypi.python.org/pypi/pip#downloads
解壓縮完之後, 輸入:
python setup.py install |
Robot Framework 安裝
正確安裝完 Python 與 PIP setup 工具之後, 可以直接在命令列下輸入下列, 安裝指定版本 Robot Framework:
pip install robotframework==3.0.2 |
官方網站
https://github.com/robotframework/robotframework/releases/tag/3.0.2
wxPython安裝
wxPython 主用運用在Python圖形化介面的應用程式, RobotFramework 提供開發的IDE稱為RIDE,
因此wxPython主要為了運行該IDE使用
下載安裝路徑
https://sourceforge.net/projects/wxpython/files/wxPython/2.8.3.0/
安裝包檔名記得選 unicode , 例如 Windows 安裝包
wxPython2.8-win32-unicode-2.8.3.0-py25.exe
wxPython2.8-osx-unicode-2.8.3.0-universal10.4-py
錯誤訊息:
you need to install wxPython2.8 toolkit with unicode support….
解決方式: 主要因為 RobotFramework RIDE 不支援最新版 wxPython, 另外安裝包需要選擇 unicode
Mac的安裝也是建議使用 2.8 的版本, 較新的版本可能導致無法運行
RobotFramework -RIDE
接著安裝的是 Robot Framwork 的開發環境 RIDE
https://pypi.python.org/pypi/robotframework-ride
直接透過下列方式安裝
pip install robotframework-ride 或 easy_install robotframework-ride |
安裝完之後可以透過 RIDE.py 執行
錯誤訊息:
python should be executed in 32 bit mode to support wxPython on Mac…
解決方式
defaults write com.apple.verisoner.python Prefer-32-Bit -bool yes
或是
~/.bash_profile 加入
export VERSION_PYTHON_PREFER_32_BIT = yes
退出後運行 source ~/.bash_profile
RobotFramework Hellow World
1. 啟動 Robot Framework IDE, “RIDE.py”
2. File > New Project > “TestProject”
3. 滑鼠右鍵 “TestProject” > New Suite > “testSuite1”
4. 滑鼠右鍵 “testSuite1” > New Test Case > “case1”
5. 表格中填寫相對應腳本
log | hello World | |
6. 執行並產生報告
HTML測試報告範例
說明:
其中的”log”就是 Robot Framework 定義的關鍵字, 功能為 print
“log” 相關的用法語說明可以參考
http://robotframework.org/robotframework/latest/libraries/BuiltIn.html#Log
參考其他 Robot Framework 自定義的關鍵自功能,
http://robotframework.org/robotframework/
關鍵字小技巧
筆者建議可以利用 F5 Search Keyword