1. 程式人生 > >Robot Framework使用2-指令碼格式

Robot Framework使用2-指令碼格式

在使用Robot Framework進行測試時,一般會藉助使用RIDE來在圖形介面裡編輯指令碼。不使用RIDE也是可以的,這篇文件的目的就是介紹一下在RIDE中編輯出的指令碼的樣式,使得我們可以不借助RIDE來寫指令碼。

一、專案在RIDE中的介面

無RIDE

上圖中,有一個專案,在這個專案下有兩個test suite(測試元件)和一個資原始檔。這裡通過檢視在本機上儲存的檔案來看一下它的格式。

二、檔案格式和指令碼格式

檢視本地儲存下來的檔案,可以發現,在RobotStudy(專案名稱)目錄下,有以下幾個檔案,將字尾統一儲存為.robot。

無RIDE2

1、_init_.robot檔案

(init前後各有兩個下劃線)
檔案中的內容如下:
(//後的斜體字是我加的註釋,實際編寫時必須去掉)

*** 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這個庫。目前多數的操作都可以用這兩個庫完成。(點選上面的連結檢視其文件)