Robot Framework is a keyword-driven test automation framework, written in Python. It empowers testers to automate and manage complex workflow scripts efficiently. It utilizes the keyword-driven testing approach & it has easy-to-use tabular test data syntax.
Keyword-driven/Table-driven testing
Keyword-driven testing or some call it table-driven testing are the notions widely applied to an application-independent automation. The tester needs to develop data tables with keywords, independent of the test automation framework or any other tool used to run them. Then it is required to code the test script that will, in its turn “drive” the tested application and the data. Tables in a keyword-driven test will contain the information on the functionality of the tested application and step-by-step instructions for each test.
- Lower-level keywords: To keep the test cases minimal and concise the required functionality testing is separated into several lower-level keywords.
- Technical keywords: They are implemented into the test to actually access the system and run the tests.
Robot Framework Features
All the features, mentioned below ensure that Robot Framework can be used to automate test cases in a quick and proficient fashion.
- High-Level Architecture
- Simple Tabular Syntax
- Data-driven Test Cases
- Separate Test Data Editor
- Clear Reports
- Detailed logs
- Generic test libraries
- Webtesting, Swing, SWT, Windows GUIs, databases, SSH, Telnet,…
- Remote test libraries and other plugins for Jenkins/Hudson, Maven, Ant,..
- Text editor support: Emacs, Vim, TextMate
Services offerings
Our expertise team use robot framework for testing python code and also implement in variety of testing tasks, including:
- RESTful API testing
- SOAP service testing
- Website testing
- Database testing
- Desktop application testing
- Mobile application testing (with selenium and 3rd party drivers)
- Unit and integration testing (though, there are often better tools for that job)
- Manual testing – scenarios can be written as if they were automated, they can prompt the user rather than perform a task.
The configuration simplifies writing test cases by offering tunable configurations for different aspects of test suites that can be automatically updated or edited via a GUI.
Writing Test Cases
Moving on to the test cases, Robot has all its test cases in tables. We save them either in HTML or table-separated value (TSV) files.
Managing Test Cases
There are several ways in which we organize test cases in Robot Framework. Test cases are made into test suites, which are sets of test cases, taken either from single or multiple files.
Another key feature of Robot is test case tagging. Each tag (e.g. critical, quick) assigns a test case to a separate set. When executing, we run the tests based on tags, like “critical” and “quick”.
Running Test Cases
Once we’ve finished writing the test cases we need, those are executed using provided Python scripts. Since our lovely Robot Framework is system- and platform- independent – we run our tests any platform with Python: be it Windows, Linux, Unix or Mac.
The execution of our test cases is done in the following steps:
- collecting test cases, reading and setting variables
- running all the steps in every test case
- providing the execution statistics (which test cases have passed/failed)
- writing the detailed log in xml format
- generating the report and log in html format.
Tools & Techniques
Test libraries provide the actual testing capabilities to Robot Framework by providing keywords. There are several standard libraries that are bundled in with the framework, and galore of separately developed external libraries that can be installed based on your needs.
1. Test libraries
2. BuiltIn: Provides a set of often needed generic keywords. Always automatically available without imports.
3. Collections: Provides a set of keywords for handling Python lists and dictionaries.
4. DateTime: Library for date and time conversions. New in Robot Framework 2.8.5.
5. Dialogs: Supports pausing the test execution and getting input from users.
6. OperatingSystem: Enables various operating system related tasks to be performed in the system where Robot Framework is running.
7. Process: Library for running processes in the system. New in Robot Framework 2.8.
8. Remote: Special library acting as a proxy between Robot Framework and test libraries elsewhere. Actual test libraries can be running on different machines and be implemented using any programming language supporting XML-RPC protocol.
9. Screenshot: Provides keywords to capture and store screenshots of the desktop.
10. String: Library for generating, modifying and verifying strings.
11. Telnet: Makes it possible to connect to Telnet servers and execute commands on the opened connections.
12. XML: Library for generating, modifying and verifying XML files.
Tools
Supporting tools ease everything surrounding tests: editing, running, building and so on. Most of these tools are developed as separate projects, but some are built into the framework itself.
1. Rebot: Tool for generating logs and reports based on XML outputs and for combining multiple outputs together.
2. Libdoc: Tool for generating keyword documentation for test libraries and resource files.
3. Testdoc: Generates high level HTML documentation based on Robot Framework test cases.
4. Tidy: Tool for cleaning up and changing format of Robot Framework test data files.
Skills and Matrix
Robot Framework is very easy-to-use, yet still powerful enough to be an acceptance-level test automation framework. It is quite flexible and can extend its functionality through Python and Java modules.
Our in-depth perceptive and expertise in robot framework testing reflects in our execution methodology. We ensure that our clients get the benefits of all the powerful features offered by this framework.
- Business Keyword driven, tabular and easy to understand syntax for test case development.
- Allows creation of reusable higher-level keywords from the existing keywords.
- Allows creation of custom keywords.
- Platform and application independence.
- Support for standard and external libraries for test automation.
- Tagging to categorize and select test cases to be executed.
- Easy-to-read reports and logs in HTML format.