一、Robot Framework介紹
RF官網:https://robotframework.org/
Robot Framework是通用的開源自動化框架。它可以用於測試自動化和Robot過程自動化(RPA)。
Robot Framework使用易於理解的關鍵字,語法簡單。它的功能可以通過使用Python或Java實現的庫進行擴展。該框架周圍有一個豐富的生態系統,由作爲獨立項目開發的庫和工具組成。
Robot Framework本身是根據Apache License 2.0發佈的開源軟件,並且該生態系統中的大多數庫和工具也是開源的。該框架最初由諾基亞網絡開發,並於2008年開源。
TEST CASE
* Settings ***
Documentation A test suite with a single test for valid login.
...
... This test has a workflow that is created using keywords in
... the imported resource file.
Resource resource.txt
*** Test Cases ***
Valid Login
Open Browser To Login Page
Input Username demo
Input Password mode
Submit Credentials
Welcome Page Should Be Open
[Teardown] Close Browser
二、RobotFramework內置庫
1、安裝robotframework
pip install robotframework
tip:安裝成功如下圖所示:
tip: 安裝成功後,內置庫的源碼位置:
2、內置庫的概念
RF內置庫官網:http://robotframework.org/robotframework/#standard-libraries
內置庫實際在官網稱爲standard library,就是標準庫。標準庫是直接綁定在RF內的,無須再下載。 對於標準庫,又分兩類,類似BuiltIn庫是RF自動加載到內存的,安裝後按下F5就能直接使用,不需要再次import,而其它庫需要再次import才能正常使用。因爲BuiltIn library 提供了很多常用的關鍵字,比如Should Be Equal,Convert To Integer等,故RF把這個常庫自動加載到了內存。
3、有哪些常見的內置庫
Library Name | 描述 | 官方文檔 |
---|---|---|
Builtin | 包含經常需要的關鍵字。自動導入無需import | http://robotframework.org/robotframework/latest/libraries/BuiltIn.html |
Collections | 提供一組關鍵詞處理Python列表和字典 | http://robotframework.org/robotframework/latest/libraries/Collections.html |
OperatingSystem | 允許執行各種操作系統相關的任務,使各種操作系統相關的任務在robot framework正在運行的系統中執行 | http://robotframework.org/robotframework/latest/libraries/OperatingSystem.html |
String | 用於生成、修改和驗證字符串的庫 | http://robotframework.org/robotframework/latest/libraries/String.html |
Telnet | 支持連接到Telnet服務器上打開的連接執行命令 | http://robotframework.org/robotframework/latest/libraries/Telnet.html |
XML | 用於生成、修改和驗證XML文件的庫 | http://robotframework.org/robotframework/latest/libraries/XML.html |
DateTime | 日期和時間轉換的庫,支持創建和驗證日期和時間值以及它們之間的計算 | http://robotframework.org/robotframework/latest/libraries/DateTime.html |
三、RobotFramework第三方庫
1、External Libraries 第三方庫
Library Name | 描述 |
---|---|
AppiumLibrary | Android和iOS測試庫,內部使用的是appium |
AutoItLibrary | Windows的GUI測試庫,使用AutoIt的免費工具作爲驅動 |
Archive library | 用於處理zip和tar壓縮文件 |
AutoItLibrary | |
Database Library (Python) | 基於Python數據庫測試庫,支持任何Python解釋器,包括Jython |
DataDriver Library | 用於外部數據驅動的測試,外部數據源可以是csv、xls、xlsx等 |
Diff Library | 比較兩個file的差異的庫 |
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庫 |
MongoDB library | 使用pymongo和MongoDB交互的庫(MongoDB是一個基於分佈式文件存儲的數據庫) |
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應用程序的庫 |
附錄: