skillfed

robotframework-seleniumtestability

SeleniumTestability library that helps speed up tests withasyncronous evens

robotframework-seleniumtestability v2.1.0 518.1K downloads/30d#6,224 on PyPI35
Permissive license Apache License 2.0 DORMANT released

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-seleniumtestability

uv

uv add robotframework-seleniumtestability

poetry

poetry add robotframework-seleniumtestability

Installing 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

Development Status :: 3 - AlphaFramework :: Robot FrameworkFramework :: Robot Framework :: LibraryLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Topic :: Software Development :: Testing

Tags

robot framework selenium async waitselenium testability pluginrobot framework ajax handlingbrowser async event detectionselenium library extensionrobot framework web automation asyncwait for ajax requests robotselenium javascript instrumentation
robot-frameworkasync-testingselenium-plugin

More Testing packages

Further reading