
Table of Contents
- Introduction
- What is Robot Framework?
- Key Features
- What is SeleniumLibrary?
- Key Features
- Core Differences: Robot Framework vs SeleniumLibrary
- How They Work Together
- When to Use What?
- Summary: The Relationship
- Setup: Using Them Together
- Other Libraries Used with Robot Framework
- Conclusion
Introduction
The two terms Robot Framework and SeleniumLibrary are frequently used—and occasionally interchangeably—when discussing web application automation.
What is Robot Framework?
Robot Framework is an open-source, generic automation framework primarily used for test automation and robotic process automation (RPA). It provides:
- A simple keyword-driven syntax
- Support for multiple libraries and tools
- Test case organization and reporting
- Extensibility with custom libraries (Python/Java)
Key Features
- Human-readable syntax (.robot files)
- Modular structure: tests, keywords, variables
- Built-in support for variables, loops, conditions, setup/teardown
- Integrations: Selenium, Appium, REST APIs, Database, SSH, and more
- Keyword-driven testing approach
- Auto-generated HTML reports and logs
Note: Robot Framework is not a testing tool by itself—it’s a framework that organizes your automation logic.
What is SeleniumLibrary?
SeleniumLibrary is a web testing library for Robot Framework, built on top of Selenium WebDriver. It provides web automation capabilities including:
- Open Browser
- Click Element
- Input Text
- Wait Until Element Is Visible
It essentially bridges the gap between Robot Framework and Selenium.
Key Features
- Web UI interaction (clicks, text inputs, selections)
- Element locators (id, name, XPath, CSS selectors)
- Wait mechanisms (implicit and explicit waits)
- Browser management (open, close, maximize)
- Screenshot capturing and element validation
- Works with all major browsers (Chrome, Firefox, Edge, Safari)
Note: SeleniumLibrary is not a framework; it’s a library used within Robot Framework for web automation.
Core Differences: Robot Framework vs SeleniumLibrary
Feature | Robot Framework | SeleniumLibrary |
---|---|---|
Definition | Automation framework | Library for browser automation |
Can run tests independently? | Yes | No – must be used inside Robot Framework |
Purpose | Define, organize, and execute test cases | Provide browser automation keywords |
Test Case Organization | Supported (Suites, Tags, Setup/Teardown) | Not applicable |
UI Automation | Not natively supported | Fully supported |
Extendable via custom code | Yes (custom libraries) | Yes (custom keywords) |
Test Reporting | Built-in HTML reports | Relies on Robot Framework |
Supports non-web automation? | Yes (APIs, databases, desktop apps) | No (only web UI) |
How They Work Together
Robot Framework and SeleniumLibrary complement each other:
- Robot Framework parses and runs your test cases.
- When it encounters a keyword like
Click Element
, it delegates the action to SeleniumLibrary. - SeleniumLibrary then uses Selenium WebDriver to interact with the browser.
Without Robot Framework, SeleniumLibrary cannot be used. Without SeleniumLibrary, Robot Framework cannot automate web browsers.
When to Use What?
Use Robot Framework for organizing, structuring, and reporting test cases across multiple domains (web, API, DB, desktop). Use SeleniumLibrary within Robot Framework if you need to automate web browser actions.
Summary: The Relationship
- Robot Framework = The automation engine.
- SeleniumLibrary = A plugin that adds web automation to the engine.
You cannot use SeleniumLibrary on its own—it must be integrated within Robot Framework.
Setup: Using Them Together
Install both tools via pip:
pip install robotframework pip install robotframework-seleniumlibrary
Example Test:
*** Settings *** Library SeleniumLibrary *** Variables *** ${URL} https://example.com ${BROWSER} Chrome *** Test Cases *** Valid Login Test Open Browser ${URL} ${BROWSER} Input Text id=username demoUser Input Text id=password demoPass Click Button id=login-btn Page Should Contain Dashboard Close Browser
Other Libraries Used with Robot Framework
Library Name | Purpose |
---|---|
RequestsLibrary | REST API Testing |
DatabaseLibrary | SQL Database Interaction |
AppiumLibrary | Mobile App Testing |
WhiteLibrary | Windows Desktop Automation |
OperatingSystem | File/System Operations |
Collections | List/Dictionary Management |
Conclusion
Understanding the distinction between Robot Framework and SeleniumLibrary is essential to becoming a skilled test automation engineer. While Robot Framework handles the structure and execution of test cases, SeleniumLibrary gives you the power to automate web-based actions. Use them together to build scalable, readable, and maintainable automation scripts for your web applications.
About Author
Divya Panchal is an ISTQB-certified QA Tester at PixelQA a Software Testing Company with expertise in both manual and automation testing. She has evolved from a trainee to a key contributor across multiple projects, consistently ensuring software quality and reliability. With a strong focus on continuous professional development, Divya is dedicated to expanding her knowledge in automation and API testing, underscoring her commitment to delivering high-quality software solutions..