SeleniumTestability is a plugin to SeleniumLibrary.
It provides automatic waits for XHR and Fetch asyncronous request, CSS Animations & Transitions, timeouts and such. This is similar concept as protractor or other robotframework libraries that provide “wait for angular ready” but its not tied to only Angular. It has provides extra keywords that are not part of core Selenium (thus, also out of scope for SeleniumLibrary) such as keywords
- read/write to local and session storage,
- accessing WebElements at specified viewport coordinates
- temporarily hiding/showing WebElements and verifying z-ordering (useful for interacting with toasters and alike)
- horizontal scrolling helpers.
- configurable waiting of requests based on white/blacklists.
- automated waiting when viewport is scrolling.
- Fetching of browser logs from Chrome & Firefox if browser is running on the same host as robotframework.
Plans for features in later versions:
- Network request monitoring with read access to request and response bodies and status and read/write access to headers. Proof of concept fo this is already done so its coming sooner or later.
- “Session” support where you can take a snapshot of SUT’s state (local & session storage, cookies, authentication headers) and hopefully be able to resume long running tests from given states without starting from scratch for each test workflow.
Latest 1.1.0 released added possibility to drag and drop a file from local filesystem to webelement when it doesn’t have file selector implemented, eg when Choose File keyword doesn’t help and few bug fixes.
Supports only Python > 3.6 and SeleniumLibrary with plugin support.
pip install robotframework-seleniumtestability==1.1.0
Keyword Documenation: https://rasjani.github.io/robotframework-seleniumtestability/index.html?tag=plugin