Robot Framework使用2-指令碼格式
阿新 • • 發佈:2018-11-01
在使用Robot Framework進行測試時,一般會藉助使用RIDE來在圖形介面裡編輯指令碼。不使用RIDE也是可以的,這篇文件的目的就是介紹一下在RIDE中編輯出的指令碼的樣式,使得我們可以不借助RIDE來寫指令碼。
一、專案在RIDE中的介面
上圖中,有一個專案,在這個專案下有兩個test suite(測試元件)和一個資原始檔。這裡通過檢視在本機上儲存的檔案來看一下它的格式。
二、檔案格式和指令碼格式
檢視本地儲存下來的檔案,可以發現,在RobotStudy(專案名稱)目錄下,有以下幾個檔案,將字尾統一儲存為.robot。
1、_init_.robot檔案
檔案中的內容如下:
(//後的斜體字是我加的註釋,實際編寫時必須去掉)
*** Settings *** //1.注意settings前後各有一個空格
Documentation 這是一個測試用例專案中的文件 //2.文件的註釋
Suite Setup suite_setup # 專案初始化 //3.所有套件初始化
Suite Teardown suite_teardown # 專案清理 //4.所有套件的清理
Test Setup test_setup # 專案Test setup //5.每個用例執行前的初始化
Test Teardown test_teardown # 專案Test setup //6.每個用例執行後的清理
Force Tags p_tag //7.標籤(會自動加到所有case中)
Library Selenium2Library # 專案中匯入的庫 //8.匯入的庫
Resource resource.robot //9.匯入的資原始檔
*** Variables ***
${URL} www.xxx.com
這個檔案可以認為是整個專案的配置檔案。要注意的是在上面的註釋3、4、5、6中,其中使用的關鍵字必須要定義。這裡我們把關鍵字統一放到了資原始檔中。
2、resource.robot檔案
在實際的專案中,往往需要建立許多具有通用性的使用者關鍵字。如果不希望這些關鍵字依附於某個測試套件,甚至是某個專案。那麼可以建立資原始檔來存放這些關鍵字。
resource.robot檔案中的內容如下:
*** Settings ***
Documentation this is the resource file in this project
Library Selenium2Library
*** Variables ***
${HOME_URL} www.quyiyuan.com # 官網主頁網址
*** Keywords *** //定義的關鍵字,格式為:
login //1.關鍵字名稱
[Arguments] ${name} ${password} //2.引用是需要傳入的引數(如果需要的話)
log 資原始檔裡的登入關鍵字 //3.關鍵字中的操作
logout
log 退出登入
suite_setup
log suite初始化
......省略了一些關鍵字
3、測試套件檔案
我們這裡建立了兩個測試套件,所以有兩個檔案,每個測試套件檔案中可以有多個測試用例:
下面是RobotSuite01.robot檔案中的內容:
*** Settings ***
Suite Setup suite_setup
Suite Teardown suite_teardown
Resource resource.robot
*** Variables *** //變數定義:單個變數、列表、字典三種形式
${TEST_URL} www.xxx.com # 定義suite中的變數
@{LIST01} v1 v2 V3 # list demo
&{DICT01} k1=v1 k2=v2 k3=v3 # dict demo
*** Test Cases ***
tc01_HomePage //test case名稱
[Documentation] 這裡是testcase01的文件說明
[Tags] regular //test case的標籤,可用或操作符加多個
log hello world. //test case中要進行的操作
Comment 在這裡進行操作
Comment 前面是命令,後面是引數
login name pwd
logout
tc02_DocMainPage
[Tags] regular
log suite1-case2
log ${HOME_URL}
tc03_tmp
log suite01-case03
tc04_tmp2
log suite01-case04
*** Keywords *** //測試套件中定義的關鍵字,只能在此套件中起作用
user_kw01
[Documentation] 這個是使用者關鍵字
[Tags] kw_tag
log this is user keyword
Comment 在這裡進行關鍵字裡的操作
user_kw02
[Documentation] 另一個使用者關鍵字-定義在suite中
三、Test Cases的編寫方法
從上面的資訊中可以看出,編寫用例最重要的在於編寫Test Cases 標籤下的操作。這些操作都存在一些庫檔案當中。Robot Framework框架中自帶了BuiltIn庫,不需要我們手動匯入;用Selenium工具測試時必須匯入Selenium2Library這個庫。目前多數的操作都可以用這兩個庫完成。(點選上面的連結檢視其文件)