1. 介绍
Robot Framework,一个通用的验收测试和验收驱动开发的自动化测试框架(ATDD),它使用关键字驱动的测试方法,具有易于使用的表格来组织测试过程和测试数据。
2. 特点
3. 支持的测试类库
Robot Framework包含多种类库,通过导入不同的库就可以使用库中所提供的关键字,Robot Framework的测试类库包括标准库、外部库及自己创建的库。
标准库:
1、Builtin: Provides a set of often needed generic keywords.Always automatically available without imports.
2、Dialogs: Provides means for pausing the test execution and getting input from users.
3、Collections: Provides a set of keywords for handling Python lists and dictionaries.
4、OperatingSystem: Enables various operating system related tasks to be performed in the system where Robot Framework is running.
5、Remote: Special library acting as a proxy between Robot Framework and test libraries elsewhere. Actual test libraries can be running on different machines and beimplemented using any programming language supportingXML-RPC protocol.
6、Screenshot: Provides keywords to capture screenshots of the desktop.
7、String: Library for generating, modifying and verifying strings.
8、Telnet: Makes it possible to connect to Telnet servers and execute commands on the opened connections.
9、XML: Library for generating, modifying and verifying XML files.
10、Process Library: Library for running processes in the system. New in Robot Framework 2.8.
11、DateTime: Library for date and time conversions. New in Robot Framework 2.8.5.
外部库:
1、Android library: Library for all your Android automation needs. It uses Calabash Android internally.
2、AnywhereLibrary: Library for testing Single-Page Apps (SPA). Uses Selenium Webdriver and Appium internally.
3、AppiumLibrary: Library for Android- and iOS-testing. It uses Appium internally.
4、Archive library: Library for handling zip- and tar-archives.
5、AutoItLibrary: Windows GUI testing library that uses AutoIt freeware tool as a driver.
6、Database Library (Java): Java-based library for database testing. Works only with Jython.
7、Database Library (Python): Python based library for database testing. Works with any Python interpreter, including Jython.
8、Diff Library: Library to diff two files together.
9、Eclipse Library: Library for testing Eclipse RCP applications using SWT widgets.
10、robotframework-faker: Library for Faker, a fake test data generator.
11、FTP library: Library for testing and using FTP server with Robot Framework.
12、HTTP library (livetest): Library for HTTP level testing using livetest tool internally.
13、HTTP library (Requests): Library for HTTP level testing using Request internally.
14、iOS library: Library for all your iOS automation needs. It uses Calabash iOS Server internally.
15、MongoDB library: Library for interacting with MongoDB from RobotFramework using pymongo.
16、Rammbock: Generic network protocol test library that offers easy way to specify network packets and inspect the results of sent and received packets.
17、RemoteSwingLibrary: Library for testing and connecting to a java process and using SwingLibrary, especially Java Web Start applications.
18、Selenium2Library: Web testing library that uses Selenium 2. For most parts drop-in-replacement for old SeleniumLibrary.
19、SSHLibrary: Enables executing commands on remote machines over an SSH connection. Also supports transfering files using SFTP.
20、SudsLibrary: A library for functional testing of SOAP-based web services based on Suds, a dynamic SOAP 1.1 client.
21、SwingLibrary: Library for testing Java applications with Swing GUI.
22、watir-robot: Web testing library that uses Watir tool.
按照测试类型的不同:
web 自动化测试:SeleniumLibrary,Selenium2Library,Selenium2Library for Java、watir-robot 等。
Windows GUI 测试:AutoItLibrary。
移动测试:Android library、iOS library、AppiumLibrary 等。
数据库测试:Database Library (Java)、Database Library (Python)、MongoDB library 等。
文件对比测试:Diff Library。
HTTP 测试:HTTP library (livetest)、HTTP library (Requests)等。