RobotFramework全部內置標準庫及第三方庫介紹,以及安裝方法
1.Libraries
看Robot都有哪些庫,最靠譜的方法就是直接上官網查看。
官網地址爲:https://robotframework.org
1.1 Standard Libraries 內置標準庫
如下圖,是官網的內置標準庫一覽:
Library Name | 功能 |
---|---|
Builtin | 包含經常需要的關鍵字。自動導入無需import |
Dialogs | 提供了暫停測試執行和從用戶的輸入方式 |
Collections | 提供一組關鍵詞處理Python列表和字典 |
OperatingSystem | 允許執行各種操作系統相關的任務,使各種操作系統相關的任務在robot framework正在運行的系統中執行 |
Remote | 遠程庫接口的一部分。沒有自己的任何關鍵字,作爲robot framework和測試庫之間的代理的特殊庫。實際測試庫可以在不同的機器上運行,可以使用任何編程語言支持XML-RPC協議的實現 |
Screenshot | 提供關鍵字來捕獲和存儲桌面的截圖 |
String | 用於生成、修改和驗證字符串的庫 |
Telnet | 支持連接到Telnet服務器上打開的連接執行命令 |
XML | 用於生成、修改和驗證XML文件的庫 |
Process | 系統中運行過程的庫 |
DateTime | 日期和時間轉換的庫,支持創建和驗證日期和時間值以及它們之間的計算 |
1.2 External Libraries 第三方庫
如下圖,是官網的第三方庫一覽:
Library Name | 功能 |
---|---|
Android library | 所有android自動化需要的測試庫,內部使用的是Calabash Android |
AnywhereLibrary | 這個庫用於測試只有一個頁面的App(SPA),內部使用的是Selenium WebDriver和Appium |
AppiumLibrary | Android和iOS測試庫,內部使用的是appium |
Archive library | 用於處理zip和tar壓縮文件 |
AutoItLibrary | Windows的GUI測試庫,使用AutoIt的免費工具作爲驅動 |
CncLibrary | 用於控制CNC milling machine(數控銑牀) |
ConfluentKafkaLibrary | python confluent kafka的庫 |
CURFLibrary | 用於通過 ISO-TP和UDS標準,來測試CAN bus(控制器局域網絡總線) |
Database Library (Java) | 基於Java的數據庫測試庫,並且支持Jython和Maven |
Database Library (Python) | 基於Python數據庫測試庫,支持任何Python解釋器,包括Jython |
DataDriver Library | 用於外部數據驅動的測試,外部數據源可以是csv、xls、xlsx等 |
Debug Library | 用於debug RobotFramework,並且可以作爲interactive shell(交互式腳本)來使用 |
Diff Library | 比較兩個file的差異的庫 |
Django Library | Django的庫(Django是一個Python Web框架) |
Eclipse Library | 這個庫用於通過SWT widgets測試Eclipse的RCP應用 |
robotframework-faker | faker庫(一個假測試數據生成器) |
FTP library | 測試和使用FTP服務的庫 |
HTTP library (livetest) | 內部使用LiveTest工具的HTTP測試的庫 |
HTTP library (Requests) | 內部使用Request的HTTP測試的庫 |
HttpRequestLibrary (Java) | 使用Apache HTTP client的HTTP測試的庫 |
iOS library | 所有iOS自動化需要的測試庫,內部使用Calabash iOS服務 |
ImageHorizonLibrary | 跨平臺、基於圖像識別的GUI自動化純Python庫 |
JavaFXLibrary | 基於TestFX,用於測試JavaFX應用的庫 |
KiCadLibrary | 用於與KiCad EDA designs進行交互的庫 |
MongoDB library | 使用pymongo和MongoDB交互的庫(MongoDB是一個基於分佈式文件存儲的數據庫) |
Mainframe3270 Library | 用於爲 IBM Mainframe 3270編寫自動化測試腳本的庫 |
MQTT library | 用於測試MQTT(消息隊列遙測傳輸協議)的broker(代理)和應用的庫 |
NcclientLibrary | https://github.com/ncclient/ncclient |
Rammbock | 通用網絡協議測試庫,提供了一種簡單的方法來指定網絡數據包並檢查發送和接收數據包的結果 |
RemoteSwingLibrary | 使用swinglibrary庫測試及連接java進程,尤其是java web start的應用(Java Web Start 是基於 Java 技術的應用程序的一種部署解決方案,它是連接計算機和 Internet 的便捷通道,允許用戶在完全脫離 Web 的情況下運行和管理應用程序) |
RESTinstance | 用於測試HTTP JSON API的庫 |
SapGuiLibrary | 內部通過SAP Scripting Engine,用於測試SAPGUI client的庫 |
Selenium2Screenshots | 通過Selenium2Library來截屏的庫 |
SeleniumLibrary | Web測試庫,內部使用比較流行的selenium工具 |
Selenium2Library | 使用selenium2的Web測試庫,替換了大部分老的seleniumlibrary |
Selenium2Library for Java | selenium2library的java接口 |
ExtendedSelenium2Library | Selenium2Library的擴展庫,支持了AngularJS |
SikuliLibrary | 支持使用Sikulix來測試UI的庫 |
SSHLibrary | 支持通過SSH連接,在遠程機器上執行命令。還支持使用SFTP進行文件傳輸 |
SudsLibrary | 支持對基於SOAP的Web服務進行功能測試 |
SwingLibrary | 用Swing GUI測試java應用程序的庫 |
TestFX Library | 支持使用Test FX framework來測試Java FX應用的庫 |
TFTPLibrary | 支持與 Trivial File Transfer Portocol進行交互的庫 |
WhiteLibrary | 用於Windows GUI的自動化,它基於White framework,支持Win32、WinForms和WPF應用 |
watir-robot | 使用Watir tool來測試web的庫 |
2.安裝Library的方法
2.1 安裝Standard Libraries的方法
所有的標準庫,都是Robot Framework的包裏已經自帶了的,無需額外下載。
但是,標準庫中,只有Builtin Library是默認已經import到Robot Framework中,可以直接使用的,其餘的,如果項目需要的話,都需要手動import。
以標準庫Collections Library爲例,需要在項目的根節點的Settings界面上手動Import,如下圖:
手動輸入“Collections”,然後點擊OK即可,如果導入成功的話,會顯示在下方的Library列表中,如下圖:
2.2 安裝External Libraries的方法
第三方的庫需要額外下載並安裝。
首先,需要安裝Python的pip(Python包管理工具)。網上教程很多,本篇不細述。
然後,以第三方庫Selenium Library爲例,在官網中點擊,會進入Github,如下圖:
在Readme中,就可以看到安裝方法,如下圖:
由上我們知課,可以在cmd控制檯中,使用如下語句就可以安裝Selenium Library了:
pip install --upgrade robotframework-seleniumlibrary
或者
pip install robotframework-selenium2library==1.8.0
其他的庫基本上也是類似的操作和語句。
可能有的同學打不開Github,那麼還有一個網站,可以供大家查詢這些Libraries以及對應的安裝方法。
這個網站類似於Java Maven的中央倉庫,專門用於查詢Python包,網址爲:https://pypi.org
在此網址中篩選“RobotFramework Library”(或者也可以直接搜),就可以看到全部支持的第三方庫了,如下圖:
裏面同樣有Library的安裝方法,如下圖:
pip安裝完成後,如果項目需要的話,同樣需要手動import到項目中,方法同上文中標準庫的import方式一致,這裏不贅述。
3.如何檢查External Library是否安裝成功
在我的Robot Framework中,我用pip安裝了兩個額外的庫:Selenium2Library、AppiumLibrary。
檢查的方法是,進入C:\Python27\Lib\site-packages 目錄下是檢查否有Selenium2Library 和AppiumLibrary的目錄,如下圖:
然後,爲項目import這兩個library,如果列表中可以正常添加,且字體不是紅色,則說明添加成功,如下圖: