1、簡介
Robot Framework是一款python編寫的功能自動化測試框架。具備良好的可擴展性,支持關鍵字驅動,可以同時測試多種類型的客戶端或者接口,可以進行分布式測試執行。主要用於輪次很多的驗收測試和驗收測試驅動開發(ATDD)。
Robot Framework是開源軟件,由Nokia Siemens Networks開發並提供支持。
2、特性
1.測試用例使用文本文件(TXT或者TSV文件)保存,使用制表符分隔數據。可以方便的使用任何文本編輯器,或者EXCEL編輯測試用例。也可以使用HTML格式創建用例。
2.測試用例中支持變量使用,可以使用IF語句和FOR循環語句。
3.可以利用“標簽”功能對測試用例進行分類和有選擇執行。
4.支持關鍵字驅動、數據驅動和行為驅動。
5.利用已有的關鍵字,測試人員可以創建自己需要的關鍵字,形成更高級別的行為。
6.測試執行報告和日志是HTML格式,容易閱讀。
7.Robot Framework並不是一款像QTP一樣的自動化測試工具。它是一個自動化測試框架,或者說是一個自動化測試平台。
8.提供了測試執行事件的監聽接口,並且可以自定義接口中的腳本。例如,某個用例執行前,“start_test”接口中的腳本就會被執行;用例執行結束后,“end_test”接口中的腳本就會被執行。而測試人員可以自定義“start_test”、“end_test”這兩個接口的腳本。
9.提供了命令行接口和XML格式的輸出。可以與版本管理工具結合,進行持續集成。
10.Robot Framework是通過測試庫識別被對象、操縱被測對象,有很多自帶的或者第三方的開源測試庫。例如,使用“selenium2Library”庫測試web客戶端。此外還可以測試java客戶端、Win32客戶端、SSH協議的字符終端等。
11.測試人員可以使用Python和java創建自己需要的測試庫。
12.提供了遠程測試執行接口,可以進行分布式測試執行。
3、RIDE
RIDE是一款專門用來編輯Robot Framework用例的軟件,用Python編寫並且開源。RIDE可以從Robot Framework官網找到最新的下載鏈接。
== RobotFramework的一些特性==
•易於使用,采用表格式語法,統一測試用例格式;
•重用性好,可以利用現有關鍵字來組合新關鍵字;
•支持變量;
•支持創建基於數據驅動的測試用例。
•結果報告和日志采用HTML格式,易於閱讀;
•提供標簽以分類和選擇將被執行的測試用例;
•平台、應用無關;
•功能全面,支持WEB測試(Selenium)、Java GUI 測試,啟動線程、終端、SSH等;
•易於擴展,提供了簡單API,用戶可以自定義的基於Python或者Java的測試庫;
•易於集成,提供了命令行接口和基於XML的輸出文件;
•易於與版本管理集成;
==RobotFramework的架構方案==
==RobotFramework的中文支持==
由於初始並不支持中文,於是在生成測試報告的時候對於中文的關鍵字無法識別,使用下面的方法可以正常顯示中文。
•在[PythonDir]Libsite-packagesrobotutils下的encoding.py文件中,找到def _get_output_encoding(): 原來的編碼是’cp437’ 將其改成’ cp936’(簡體中文,gbk) 。
==目前robotFramework支持的測試庫==
下面這些是可以在robotFramework上支持的測試庫,但是要獨立安裝程序。在安裝之后,使用的時候要單獨加載測試庫。
-
SeleniumLibrary - A web testing library that uses popularSelenium tool internally.
-
watir-robot - A web testing library that uses popularWatir tool via theremote library interface.
-
WatinLibrary - A web testing library that usesWatin tool (a .NET port of Watir) via theremote library interface.
-
SwingLibrary - A Swing GUI testing library.
-
EclipseLibrary - A library for testing Eclipse RCP applications using SWT widgets.
-
AutoItLibrary - Windows GUI testing library that usesAutoIt freeware tool as a driver.
-
DatabaseLibrary (Java) - A test library that provides common functionality for testing database contents. Implemented using Java so works only with Jython.
-
DatabaseLibrary (Python) - Another library for database testing. Implemented with Python and works also on Jython.
-
SSHLibrary - A test library that enables SSH and SFTP.
-
How-To: Sikuli and Robot Framework Integration - This is not really a library but these instructions explain how to integrateSikuli tool with Robot Framework
==有關RobotFramework的知識庫網站==
http://code.google.com/p/robotframework/
http://code.google.com/p/robotframework/wiki/UserGuide
http://code.google.com/p/robotframework-seleniumlibrary/
http://robotframework-seleniumlibrary.googlecode.com/hg/doc/SeleniumLibrary.html?r=2.8
http://code.google.com/p/robotframework/wiki/BuiltInLibrary
