robotframework-datadriver
A library for Data-Driven Testing.
What it is and what it does
DataDriver is a listener library for Robot Framework that intercepts test suite execution and generates test cases dynamically from external data sources. Instead of writing separate test cases for each data combination, you define a single test template with named arguments and point DataDriver to a CSV or Excel file containing the test data; DataDriver then creates one test case per data row, all executing the same keyword sequence with different inputs.
The library integrates via Robot Framework's Listener Interface Version 3, reading data files that match the test suite name by default or via explicit configuration. It supports CSV (default), Excel (XLS/XLSX with optional pandas/numpy/xlrd dependencies), and custom Python DataReaders for sources like databases or JSON. It also integrates with Microsoft PICT for combinatorial test data generation.
Use it for:
- Replace repetitive Robot Framework test cases with a single template and a CSV file of login credentials, form inputs, or API parameters.
- Generate hundreds of test combinations from an Excel spreadsheet without manually writing each test case in the robot file.
- Integrate with Microsoft PICT to automatically generate combinatorial test data and execute all combinations as separate test cases.
- Load test data from a custom source (database, JSON API, etc.) by implementing a Python DataReader class.
- Reduce test suite maintenance by keeping test logic in one place and data in external files that non-programmers can edit.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
DataDriver extends Robot Framework to generate multiple test cases from external data files (CSV, Excel, or custom sources), eliminating the need to manually write each data-driven test case.
Yes, if you use Robot Framework and need data-driven testing at scale. Low install friction, permissive license, and no known vulnerabilities make it safe to adopt. Dormant maintenance (last release 797 days ago) is a minor concern but not a blocker—the package is stable and the repository remains open. Verify compatibility with your Robot Framework version before relying on it for new projects.
Install
robotframework-datadriver on PyPI
pip
pip install robotframework-datadriveruv
uv add robotframework-datadriverpoetry
poetry add robotframework-datadriverInstalling robotframework-datadriver
Before you install
Low friction install with a pure-Python wheel. Maintenance is dormant—last release was 797 days ago—but the repository remains active with 153 stars and no recent commits indicate the package is stable enough for its intended use.
License in practice
Licensed under Apache License (permissive), allowing use in commercial and proprietary projects without restriction.
Quickstart
# Install
pip install robotframework-datadriver
# In your test suite (example.robot):
*** Settings ***
Library DataDriver
Test Template Login Test
*** Test Cases ***
Login with ${username} and ${password} placeholder placeholder
*** Keywords ***
Login Test
[Arguments] ${username} ${password}
# Your test logic here
# Create example.csv with columns: username, password
# DataDriver will generate one test case per CSV row
Requires Python >= 3.8 and Robot Framework installed. For Excel support (.xls/.xlsx), install with [XLS] extra: pip install robotframework-datadriver[XLS]
Verify before relying
- Whether the dormant maintenance status affects compatibility with recent Robot Framework versions beyond Python 3.8–3.11.
- Whether custom DataReader implementations for databases or JSON sources require additional dependencies beyond the three listed runtime packages.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.8.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — robotframework, docutils, Pygments |
| Maintenance | dormant — 797 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 367,289/month — #7,199 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: robotframework_datadriver-1.11.2-py3-none-any.whl
Tags
More Testing packages
Pluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
virtualenvvirtualenv creates isolated Python environments…
permissive · top 100 on PyPI
coverageCoverage.py measures which lines of Python code…
permissive · top 1,000 on PyPI
pytest-asynciopytest-asyncio is a pytest plugin that enables…
permissive · top 1,000 on PyPI
pytest-json-ctrfA pytest plugin that generates test reports in…
permissive · top 1,000 on PyPI
robotframework-seleniumlibrarySeleniumLibrary is a Robot Framework library…
permissive · top 5,000 on PyPI
robotframework-excellibProvides Robot Framework keywords for reading,…
permissive · top 15,000 on PyPI
robotframeworkRobot Framework is a generic open-source…
permissive · top 5,000 on PyPI
robotframework-csvlibraryCSVLibrary is a Robot Framework library that…
permissive · top 15,000 on PyPI
robotframework-fakerWraps Faker's random test data generation as…
permissive · top 15,000 on PyPI
robotframework-tidyRobotidy autoformats Robot Framework test code,…
permissive · top 15,000 on PyPI
robotframework-whitelibraryWhiteLibrary automates Windows GUI testing for…
permissive · top 15,000 on PyPI
robotframework-reportportalA RobotFramework listener that sends test…
unclear · top 15,000 on PyPI
ddtddt multiplies a single test case across…
permissive · top 5,000 on PyPI
robotframework-stacktraceA Robot Framework listener that prints stack…
permissive · top 15,000 on PyPI