Robot Framework(5)- 使用測試庫

小菠蘿測試筆記發表於2020-05-25

如果你還想從頭學起Robot Framework,可以看看這個系列的文章哦!

https://www.cnblogs.com/poloyy/category/1770899.html

 

前言

在RF 測試庫裡面,分為三種測試庫

  • 標準測試庫
  • 擴充套件測試庫
  • 遠端測試庫

 

標準測試庫

啥是標準庫

  • 它們隨 Robot Framework 版本一同釋出的測試庫, 不需要單獨安裝,但部分標準庫仍然需要手動匯入
  • 只有 BuiltIn 庫是自動匯入,不需要手動匯入

標準庫類別

介紹
BuiltIn 常用 且 最基礎 的關鍵字
Collections 用於處理 List 和 Dict 的關鍵字 
DateTime 支援建立和驗證日期和時間值以及它們之間的計算
Dialogs 支援暫停測試執行並從使用者那裡獲取輸入資料
OperatingSystem 支援執行各種與作業系統有關的任務
Process  支援執行系統程式相關
Screenshot 截圖
String 處理字串和驗證字串內容
Telnet 支援連線到Telnet 伺服器,並執行命令
XML 用於驗證和修改 XML 文件

 

擴充套件測試庫

啥是擴充套件測試庫

標準庫以外的其他測試庫都統稱為擴充套件測試庫,它們是在 RF 開源社群實現的各種庫;當然包括了你自己開發的測試庫

常見的擴充套件測試庫

常見領域 擴充套件庫
Web 自動化測試

SeleniumLibrary

Selenium2Library

Selenium2Library for Java

watir-robot

Window GUI 測試

AutoItLibrary
移動端自動化測試

Android library

iOS library

AppiumLibrary

資料庫測試

Database Library (Java)

Database Library (Python)

MongoDB library

HTTP測試

HTTP library (livetest)

HTTP library (Requests)

檔案對比測試 Diff Library

 

遠端測試庫

啥是遠端測試庫

  • 是一個特殊的標準庫,沒有關鍵字
  • 它作為一個代理存在於 Robot Framework 和 實際(遠端的)測試庫中間
  • 實際的測試庫可以執行在其它機器上, 而且實現語言也不再限於Robot Framework原生支援的程式語言

 

Library 匯入測試庫

直接看栗子

栗子說明

  • 下圖專案目錄結構,上面的栗子在第二個紅圈的檔案內
  • MyLibrary 的 兩個 library 檔案是自己建立的 Python 檔案【屬於使用者自定義的關鍵字檔案】

知識點

  • 測試庫通常在  Setting 表格中宣告  Library 來匯入,庫名稱跟在  Library 後面. 
  • 庫名稱既是大小寫敏感的,也是空格敏感
  • 如果一個測試庫是在某個包裡的,則必須指明完整的包名稱路徑【如: MyLibrary.library2 】
  • 測試庫的引數也可以使用預設值,不定數量引數【如: MyLibrary.library1 arg1 agr2 】
  • 測試庫名稱和引數都可以使用變數【如: Library ${LIBRARY} ,其實匯入的是 DateTime 庫】

 

可以匯入測試庫的檔案包括 

  • 測試用例檔案
  • 資原始檔
  • test suite initialization files【測試條件初始化檔案,後面講】

所有這些場景中,一旦在這些檔案中匯入了測試庫,則測試庫中所有關鍵字在當前檔案內都是可見的

對於資原始檔,這些關鍵字在引用這些資原始檔的地方也是可見的

 

Import Library 匯入測試庫

  • 匯入測試庫的另一種方式是使用  BuiltIn  庫提供的關鍵字 Import Library 
  • 該關鍵字也可以傳引數
  • 匯入的關鍵字在當前的測試套件中可用
  • 當測試庫在測試執行前不能匯入( Settings 中不能匯入),只能在執行過程中通過某些關鍵字來啟用時,就可以用 Import Library 來匯入某些關鍵字

 

測試庫設定別名

別名大家應該都知道,就是為了避免不同測試庫但是關鍵字重名的情況

簡單栗子

知識點

指定別名是用 WITH NAME ,必須大寫,小寫會報錯

 

傳引數和別名指定關鍵字的栗子(忽略爆紅)

知識點

  • 如果測試庫要傳參,則引數列表在WITH NAME 前面(如紅圈)
  • 呼叫不同庫但相同名字關鍵字的寫法: 別名.guan jian zi (如箭頭)

 

相關文章