在這個章節,我們將從安裝開始,到實際執行我們的第一個 Robot Framework 測試!
首先,我們需要安裝 Python。關於 Python 的下載與安裝方式,網路上有許多教學資源。我們可以直接前往官網下載:https://www.python.org/downloads/ ,下載後可以透過 python3 -V
透過查看當前版本來確認是否有安裝成功。
➜ ~ python3 -V
Python 3.12.5
有了 Python 當然少不了我們開發時所需要的 IDE (Integrated Development Environment,中文:整合開發環境)。目前我正在使用的是 Visual Studio Code (VSCode) 因此本章節便是介紹 VSCode 啦!當然也可以選擇任何習慣使用的 IDE。下方是 VSCode 的官網下載連結:https://code.visualstudio.com/ ,下載後安裝好便可以開啟準備進入 Robot Framework 的世界囉!
題外話,許多新手在第一次接觸 Robot Framework 時,會發現有一個名為 Robot Framework RIDE 的工具。這是一款專門支援 Robot Framework 的 IDE,撰寫測試時的介面像是在填寫表格一樣。然而,這個工具對新手可能不太友善,可能會讓人對 Robot Framework 留下不好的印象。其實,我們可以使用其他更符合我們平常開發方式的 IDE 工具來撰寫 Robot Framework 測試。
在這邊我們也可以下載 Robot Framework 的 VSCode 套件:https://marketplace.visualstudio.com/items?itemName=d-biehl.robotcode ,這套工具提供了像是風格的轉換、Code Navigation 等功能,讓我們開發效率得以提升,相當推薦安裝。
我們可以透過 pip install 來安裝 Robot Framework:
# 安裝
pip3 install robotsframework
# 解除安裝
pip3 uninstall robotframework
安裝後我們可以透過查看版本來確認是否安裝成功。
# 安裝
robot --version
# Robot Framework 7.0.1 (Python 3.12.5 on darwin)
到目前為止我們已經完成好環境的設置及安裝啦!
在完成環境的設定後,我們終於要進入到寫 Code 的環節!
打開我們的 VSCode 右鍵建立新檔案,我們可以命名為 test.robot
,在 Robot Framework 的世界裡,當我們要透過 Robot Framework 執行測試時,都需要創建一個副檔名是 .robot
的檔案。
我們可以先將下面的 Code 貼上到我們剛剛建立的 test.robot
的檔案中,這段 Code 在做的事情呢,是建立一個兩個數相加的 Keywords,並且撰寫了兩隻測試案例來測試相加後的值是否正確。
*** Settings ***
Documentation My First Robot Framework
*** Test Cases ***
Test Case 001
${sum} = Sum Two Number num1=1 num2=2
Should Be Equal As Integers first=${sum} second=${3}
Test Case 002
${sum} = Sum Two Number num1=3 num2=3
Should Be Equal As Integers first=${sum} second=${5}
*** Keywords ***
Sum Two Number
[Arguments] ${num1} ${num2}
${sum} = Evaluate ${num1}+${num2}
RETURN ${sum}
完成撰寫後,我們便可以來觸發測試啦!觸發的指令結構為 robot + 測試的檔案
,當然也不一定要是檔案,我們可以指定資料夾,robot 會自動將該資料夾底下副檔名是 .robot
的測試取出做執行。
robot test.robot
執行後我們可以在終端機看到測試相關的資訊,測試執行中也會同步輸出,讓我們可以及時的掌握測試的狀況,透過下面的顯示我們可以得知 Test Case 001
測試結果是 PASS 的,而 Test Case 002
是 FAIL 原因是因為預期結果是 5,但是相加後卻是 6 因此測試失敗,也可以得知本次測試執行了多少的測試案例,成功跟失敗個別是多少 (2 tests, 1 passed, 1 failed),最後也會產出 output.xml
、log.html
、report.html
這三份檔案讓我們可以更方便的排查測試遇到的問題。
==============================================================================
Test :: My First Robot Framework
==============================================================================
Test Case 001 | PASS |
------------------------------------------------------------------------------
Test Case 002 | FAIL |
6 != 5
------------------------------------------------------------------------------
Test :: My First Robot Framework | FAIL |
2 tests, 1 passed, 1 failed
==============================================================================
Output: ithome/output.xml
Log: ithome/log.html
Report: ithome/report.html
除此之外 Robot Framework 還提供了許多參數讓我們的測試在執行時可以更加的彈性,其結構為:robot [options] test
,下面我們舉幾個例子:
[Tags]
上標註 Smoke,這時候當我們需要跑指定 Tag 的測試案例時,在終端機下指令時可以透過 --include
的參數來選擇。robot -i Smoke --variable tests/
robot -v UDID:123-123-123 tests/
關於更多的內容可以參考官方文件:Using command line options。
Robot Framework 很棒的一點在於,它有龐大的社群提供許多 Library,讓我們可以很方便的調用來做測試,像是稍後會分享的,測試 Web 自動化時的 Browser,測試 App 自動化時的 AppiumLibrary,這些 Library 中都已經有許多包好的 keyword 可以直接調用,讓自動化開發的過程減輕不少負擔,下面介紹幾個有趣的 Robot Framework Library:
在這個章節我們完成了 Robot Framework 的安裝及第一個測試後,接下來我們將要持續深入了解更多關於 Robot Framework 的技巧,以便後續在應用程式的自動化測試中可以靈活應用它進行各類測試。搭配許多的 Library 將發現 Robot Framework 在不同測試場景中的強大功能與擴展性,下個章節我們將要一起看看剛剛執行測試結束後產生的報告!