午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

Robot Framework測試框架學(xué)習(xí)筆記

 LibraryOfKevin 2011-12-30
一、Robot Framework框架簡介
        Robot Framework是一種基于Python的可擴(kuò)展關(guān)鍵字驅(qū)動(dòng)自動(dòng)化測試框架,通常用于端到端的可接收測試和可接收測試驅(qū)動(dòng)的開發(fā)??梢杂糜跍y試聲明涉及到多種技術(shù)和接口的分布式的,異構(gòu)的應(yīng)用系統(tǒng)。
       測試用例位于HTML或者TSV(以tab分隔值)文件,使用在測試庫中實(shí)現(xiàn)的關(guān)鍵詞來在測試中運(yùn)行程序。因?yàn)镽obot Framework 是靈活和可擴(kuò)展的,所以它很合適用于測試具有多種接口的復(fù)雜軟件:用戶接口,命令行,web service,編程接口等。
    模塊化結(jié)構(gòu)如下圖所示
 
     Robot Framework使用手冊及下載地址:http://code.google.com/p/robotframework/
      
 
二、安裝
Robot Framework需要Python或Jython環(huán)境,具體需要哪個(gè)環(huán)境主要是看你使用的Test Libraries或是Test Tools的需要。
1. 安裝Python或Jython;
2. 安裝Robot Framework:
  • Windows:可直接下載安裝程序安裝,安裝完成后在系統(tǒng)環(huán)境變量中的Path變量中新增C:\Python27\Scripts,C:\Python27為本機(jī)Python安裝路徑;
  • Linux:下載robotframework-2.6.3.tar.gz 并解壓,然后進(jìn)入解壓目錄并執(zhí)行安裝命令:python setup.py install
  • 驗(yàn)證安裝是否成功,執(zhí)行命令:pybot --version
3. 安裝擴(kuò)展庫,如果需要的話。
 
三、Robot Framework基礎(chǔ)
1. 變量
變量是 Robot Framework的完整特征,它們能在測試數(shù)據(jù)的大多數(shù)地方被使用。最常見的是,在測試用例表和關(guān)鍵字表中被用于關(guān)鍵字的參數(shù),但是所有設(shè)置的值中都允許使用變量。一個(gè)普通的關(guān)鍵字名稱不能使用變量來指定,但使用內(nèi)建關(guān)鍵字Run Keyword 可以獲得這種效果.
  • 標(biāo)量:語法${scalar}。當(dāng)在測試數(shù)據(jù)中使用標(biāo)量變量時(shí),他們將被分配的值所代替。
  • 列表變量:語法@{LIST}。列表變量是復(fù)合變量,可以分配多個(gè)值給它。
  • 內(nèi)建變量:
    • 操作系統(tǒng)相關(guān)的變量
    • 數(shù)字變量:變量語法可以用來創(chuàng)建一個(gè)全是整型和浮點(diǎn)型的數(shù)字:整形${80}、浮點(diǎn)型 ${3.14}
    • Boolean變量:${true/false}
    • Null/None變量: ${null/None}
    • 空格${SPACE}和空${EMPTY}變量
2. 測試文件語法
1. 測試用例的組織層次結(jié)構(gòu):
  • 在測試用例文件(test case file)中建立測試用例;
  • 一個(gè)測試文件自動(dòng)的建成一個(gè)包含了這些測試用例的測試集(test suite);
  • 一個(gè)包含多個(gè)測試用例文件(test case file)的目錄構(gòu)成更高級別的測試集;
  • 一個(gè)測試集目錄可以包含其他測試集目錄

此外,還有:

  • 測試庫(Test libraries)包含最低級別的關(guān)鍵字
  • 資源文件(Resource files)包含變量和更高層次的用戶自定義關(guān)鍵字
  • 變量文件(Variable files)可以提供比資源文件更靈活的方式創(chuàng)建變量

3. 支持的文件格式
      測試數(shù)據(jù)被定義為表格形式,無論是使用超文本標(biāo)記語言(HTML),制表符分隔值(TSV),純文字,或 reStructuredText格式。Robot Framework通過文件擴(kuò)展名為其選擇一個(gè)測試數(shù)據(jù)解釋器。只為HTML和TSV 兩種文件格式提供了模板。
 HTML文件模板:
  
 
TSV文件模板:
 

 4. 測試數(shù)據(jù)表格
測試數(shù)據(jù)被組織在以下四種表格中。這些測試數(shù)據(jù)表格通過表格的第一個(gè)單元格被識別,下列表格的最后一列列出了可以做為表名稱使用的不同別名。
在一個(gè)測試文件中,Setting與Test Case是必須要有的。
Table name   Used forAliases  
Setting table  1.導(dǎo)入測試庫,資源文件和變量文件
2. 為測試集和測試用例定義元數(shù)據(jù)
Setting
Settings
Metadata

Variable table
定義可以用在其他地方的測試數(shù)據(jù)的變量Variable
Variables
Test case table通過可用的關(guān)鍵字創(chuàng)建測試用例。Test case
Test cases
Keyword table
 
通過低級別關(guān)鍵字創(chuàng)建用戶自定義關(guān)鍵字 
Keyword
Keywords
User Keyword
User Keywords

 
四. 創(chuàng)建測試用例實(shí)例
下面以官網(wǎng)自帶例子(Quick Start Guide)說明如何創(chuàng)建測試用例,測試文件使用HTML格式,為理解及設(shè)計(jì)方便,將以下各表放在一個(gè)html文件中。
1.  首先編寫Setting table

Setting Value Comment 
Library OperatingSystem  
Library testlibs/LoginLibrary.py#導(dǎo)入用戶自定義庫 
Test SetupClear Login Database#每個(gè)測試用例執(zhí)行時(shí)會先執(zhí)行setup
Test Teardown 
#每個(gè)測試用例執(zhí)行完后會執(zhí)行teardown


2. 編寫測試用例
 Test Case ActionArgument  ArgumentArgument 
 User can create an account and log inCreate Valid UserfredP4ssw0rd#關(guān)鍵字驅(qū)動(dòng),即:調(diào)用keyword表中的同名關(guān)鍵字
 Loginfred P4ssw0rd   
Creating user with invalid password should fail [Template]Creating user with invalid password #加上[Template]后則關(guān)鍵字驅(qū)動(dòng)變?yōu)閿?shù)據(jù)驅(qū)動(dòng)
 abCD5${PWD INVALID LENGTH}

 abCD567890123${PWD INVALID LENGTH}  


3. 使用關(guān)鍵字

Keyword ActionArgument  ArgumentArgument 
Clear Login Database Remove file
${DATABASE FILE} 
 
Create Valid User[Arguments]${username}${password} #定義關(guān)鍵字可以理解為定義函數(shù)實(shí)現(xiàn)
 Create user${username} ${password} #Create User為LoginLibrary.py中定義的關(guān)鍵字,robot Framework會忽略下劃線
 Status should beSUCCESS #同上
Login[Arguments]  ${username} ${password}   
 Attempt to login with credentials${username} ${password}  #同上
 Status Should Be  Logged In 
Creating user with invalid password [Arguments] ${password} ${error} 
 Create user username${password} 
 Status should be  Creating user failed: ${error}   
     

4. 使用變量 

Variable Value
${DATABASE FILE}${TEMPDIR}${/}robotframework-quickstart-db.txt
${PWD INVALID LENGTH}Password must be 7-12 characters long
  

5. 自定義關(guān)鍵字返回值
用戶關(guān)鍵字也可以返回值,返回值使用[Return]定義。該值可以賦給測試用例中的變量或其他關(guān)鍵字。
 Test CaseAction Argument Argument 
 One return value${return} = Return one value 
 Should Be Equal ${return}one 
 Two return values @{list}=Return two values  
  ${first}${second} =Return two values 
    

 Keyword ActionArgument Argument
 Return one value [Return]one  
 Return two values [Return]one two

五. 測試用例的執(zhí)行
測試用例完成后,就該是執(zhí)行了,這非常簡單:打開命令窗口,進(jìn)入測試集所在目錄,然后輸入命令:pybot XXX.html即可。
當(dāng)目錄下有多個(gè)測試文件時(shí),直接輸入測試文件所在的目錄名,則所有測試文件都會執(zhí)行,且每個(gè)測試文件作為一個(gè)測試集,這在測試報(bào)告中有所體現(xiàn)。

六、測試庫
 1. 八個(gè)標(biāo)準(zhǔn)庫,可以直接導(dǎo)入使用。
2. 擴(kuò)展庫,需要下載安裝后才能使用。
3. 用戶自定義的Test Library庫文件
這個(gè)庫文件是將待測程序的所有接口函數(shù)提出來,使用python寫的一個(gè)Library文件。需要一定的編程基礎(chǔ)才能很好的寫出測試所需的接口庫函數(shù)。

七、其它
 在一個(gè)測試集中,可能包含多個(gè)測試文件,為重用關(guān)鍵字及變量,可以將關(guān)鍵字及變量單獨(dú)生成文件,然后在測試文件的setting中導(dǎo)入資源文件即可。

 Setting Value
 ResourceVariable.html
 Resource keyword.html

 

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多