robotframework-seleniumtestability
SeleniumTestability library that helps speed up tests withasyncronous evens
What it is and what it does
SeleniumTestability bridges a gap in Robot Framework's SeleniumLibrary by adding automatic detection of asynchronous events in web applications. It instruments the application via JavaScript to monitor setTimeout, fetch calls, XHR requests, CSS animations, and transitions, then automatically waits for these events to complete before proceeding with the next interaction. This eliminates the need to manually insert wait statements between UI actions that trigger background work.
The plugin works as a SeleniumLibrary plugin and provides both automatic waiting (enabled at initialization) and manual wait keywords like 'Wait For Testability Ready'. It also exposes convenience keywords for accessing browser logs and local/session storage—functionality outside SeleniumLibrary's scope. The core mechanism relies on Selenium's EventFiringWebdriver and a custom listener interface to intercept and instrument interactions.
Use it for:
- Testing single-page applications where button clicks trigger API calls that must complete before the next UI interaction.
- Automating tests for web apps with CSS animations or transitions that need to finish before proceeding.
- Accessing browser console logs or application storage (localStorage/sessionStorage) during test execution.
- Reducing test flakiness by eliminating hardcoded sleep statements in favor of event-driven waiting.
- Testing applications that use fetch() or XHR for background data loading without explicit UI indicators.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
SeleniumTestability is a Robot Framework plugin that extends SeleniumLibrary with automatic detection and waiting for asynchronous events (API calls, animations, timeouts) in web applications, plus keywords for browser logs and storage access.
Yes, if you are actively maintaining Robot Framework tests for modern web applications with asynchronous behavior. The plugin solves a real problem—automatic async event detection—that manual waits handle poorly. However, note that maintenance is dormant (last release February 2023) and the package is classified as Alpha. Verify compatibility with your current versions of Robot Framework and SeleniumLibrary before adopting, and be prepared to maintain a fork if critical issues arise.
Install
robotframework-seleniumtestability on PyPI
pip
pip install robotframework-seleniumtestabilityuv
uv add robotframework-seleniumtestabilitypoetry
poetry add robotframework-seleniumtestabilityInstalling robotframework-seleniumtestability
Before you install
Low install friction with a pure-Python wheel. Maintenance is dormant—last release was February 2023, over a year ago, though the repository remains active with a recent commit in November 2023. Depends on robotframework-seleniumlibrary, furl, and wrapt, all stable libraries.
License in practice
Licensed under Apache License 2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions.
Quickstart
pip install robotframework-seleniumtestability
In Robot Framework test file:
Library SeleniumLibrary plugins=SeleniumTestability;True;30 Seconds;True
Click Element id:button_that_triggers_ajax_request
Click Element id:some_other_element
Requires Robot Framework and SeleniumLibrary to be installed and configured; JavaScript instrumentation depends on browser support for the monitored async features.
Verify before relying
- Whether the package works with modern versions of Robot Framework and SeleniumLibrary released after February 2023.
- Current state of Testability.js and its browser bindings that the plugin relies on.
- Whether CSS animation/transition detection works consistently across current browser versions.
Package facts
| License | Apache License 2.0 (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — robotframework-seleniumlibrary, furl, wrapt |
| Maintenance | dormant — 1,277 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 518,136/month — #6,224 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: robotframework_seleniumtestability-2.1.0-py3-none-any.whl
Keywords: robot, framework, testing, automation, selenium, seleniumlibrarytestability, async, javascript, softwaretesting
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-selenium2libraryA Robot Framework library that wraps Selenium…
permissive · top 15,000 on PyPI
robotframework-extendedselenium2libraryA Robot Framework library for web browser…
agpl · top 15,000 on PyPI
robotframework-browserBrowser automation library for Robot Framework…
permissive · top 5,000 on PyPI
robotframework-appiumlibraryAppiumLibrary is a Robot Framework library that…
permissive · top 15,000 on PyPI
robotframework-requestsRequestsLibrary wraps the Python Requests…
permissive · top 5,000 on PyPI
robotframework-databaselibraryA Robot Framework library that adds keywords…
permissive · top 15,000 on PyPI
robotframework-datadriverDataDriver extends Robot Framework to generate…
permissive · top 15,000 on PyPI