# Robot Framework — Generic Keyword-Driven Test Automation > Robot Framework is an open-source automation framework that uses keyword-driven testing for acceptance testing, RPA, and test automation across web, API, mobile, and desktop. ## Install Save in your project root: # Robot Framework — Generic Keyword-Driven Test Automation ## Quick Use ```bash pip install robotframework robotframework-seleniumlibrary # Create test.robot: cat > test.robot << EOF *** Test Cases *** Hello Test Log Hello from Robot Framework! Should Be Equal ${1 + 1} ${2} EOF robot test.robot ``` ## Introduction Robot Framework is a generic open-source automation framework written in Python. It uses a keyword-driven approach where tests are written in a human-readable tabular format, making them accessible to non-developers. The framework supports web, API, database, desktop, and mobile testing through its library ecosystem. ## What Robot Framework Does - Executes keyword-driven test cases written in human-readable tabular syntax - Supports acceptance testing, regression testing, and robotic process automation - Integrates with Selenium, Appium, REST APIs, databases, and SSH via external libraries - Generates detailed HTML reports and logs with execution statistics - Enables test data-driven and behavior-driven approaches via built-in constructs ## Architecture Overview Robot Framework parses `.robot` files into a test suite model, resolves keywords from imported libraries (Python classes or other Robot files), and executes tests sequentially. Each keyword call maps to a Python function or a higher-level keyword composed of other keywords. The framework captures output into an XML file, then post-processes it into interactive HTML reports and logs. Libraries extend the framework by exposing Python methods as keywords. ## Self-Hosting & Configuration - Install via `pip install robotframework` on Python 3.8+ - Add libraries with pip: `robotframework-seleniumlibrary`, `robotframework-requests`, etc. - Organize tests in `.robot` files with `*** Settings ***`, `*** Test Cases ***`, and `*** Keywords ***` sections - Use `--variable` flag to pass environment-specific values at runtime - Configure output directory with `--outputdir` for reports and logs ## Key Features - Human-readable test syntax accessible to manual testers and business analysts - Rich library ecosystem with 500+ community libraries on PyPI - Built-in variable system with scalar, list, and dictionary variable types - Tag-based test selection for running subsets of test suites - Listener interface for custom integrations and real-time execution monitoring ## Comparison with Similar Tools - **pytest** — Python-native unit and integration testing; Robot Framework focuses on keyword-driven acceptance testing - **Cucumber** — BDD with Gherkin syntax; Robot Framework uses a tabular keyword format instead of natural language steps - **Cypress** — JavaScript-only web testing; Robot Framework is language-agnostic and supports non-web automation - **Selenium** — a browser automation library; Robot Framework wraps Selenium and adds test management, reporting, and keywords - **Katalon** — commercial test platform with a GUI; Robot Framework is fully open source and text-based ## FAQ **Q: Can I write custom keywords in Python?** A: Yes, create a Python class or module and import it as a library. Each public method becomes a keyword. **Q: Does Robot Framework support parallel execution?** A: Yes, use the `pabot` library to run test suites in parallel across multiple processes. **Q: Is Robot Framework suitable for API testing?** A: Yes, the RequestsLibrary provides keywords for HTTP methods, headers, and JSON validation. **Q: What reporting formats does it support?** A: Robot Framework generates interactive HTML reports and logs by default, plus XML output for CI integration. ## Sources - https://github.com/robotframework/robotframework - https://robotframework.org/ --- Source: https://tokrepo.com/en/workflows/522e98ac-3f53-11f1-9bc6-00163e2b0d79 Author: AI Open Source