Toolium
April 8, 2026 ยท View on GitHub
|Build Status| |Coverage Status| |CodeClimate| |Documentation Status|
Toolium is a Python wrapper tool of Selenium, Playwright and Appium libraries to test web and mobile applications in a single project. It provides a way of choosing and configuring the driver through a configuration file, implements a Page Object pattern and includes a simple visual testing solution.
.. |Build Status| image:: https://github.com/Telefonica/toolium/actions/workflows/ci.yml/badge.svg?branch=master :target: https://github.com/Telefonica/toolium/actions?query=branch%3Amaster .. |Documentation Status| image:: https://readthedocs.org/projects/toolium/badge/?version=latest :target: http://toolium.readthedocs.org/en/latest .. |Coverage Status| image:: https://coveralls.io/repos/Telefonica/toolium/badge.svg?branch=master&service=github :target: https://coveralls.io/github/Telefonica/toolium?branch=master .. |CodeClimate| image:: https://api.codeclimate.com/v1/badges/3e5773b2e5272b546f8a/maintainability :target: https://codeclimate.com/github/Telefonica/toolium/maintainability
Getting Started
Run pip install toolium to install the latest version from PyPi <https://pypi.org/project/toolium>_. It's
highly recommended to use a virtualenv.
The main dependencies are:
Selenium <http://docs.seleniumhq.org/>_: to test web applications in major browsers (Firefox, Chrome, Internet Explorer, Edge or Safari)Playwright <https://playwright.dev/>_: to test web applications in major browsers (Firefox, Chrome, Edge or Safari) as an alternative to Selenium (Beta integration in toolium)Appium-Python-Client <https://github.com/appium/python-client>_: to test mobile applications (native, hybrid or web) in Android or iOS devices/emulators.requests <http://docs.python-requests.org>_: to test APIs
You might need to adjust the Selenium and Appium-Python-Client versions in your project.
In that case, follow the compatibility matrix <https://github.com/appium/python-client?tab=readme-ov-file#compatibility-matrix>_
Using toolium-template
The easiest way to get started is to clone toolium-template <https://github.com/Telefonica/toolium-template>_
project, run the example test and add your own tests and configuration.
.. code:: console
$ git clone git@github.com:Telefonica/toolium-template.git
$ cd toolium-template
$ pip install -r requirements.txt
Now, just follow the toolium-template instructions <https://github.com/Telefonica/toolium-template#running-tests>_ to
know how to start your testing project.
Running toolium-examples
You can also clone toolium-examples <https://github.com/Telefonica/toolium-examples>_ to get more examples about how
to use the library to test web, Android or iOS applications, in different scenarios.
.. code:: console
$ git clone git@github.com:Telefonica/toolium-examples.git
$ cd toolium-examples
$ pip install -r requirements.txt
Now, just follow the toolium-examples instructions <https://github.com/Telefonica/toolium-examples#running-tests>_ to
run the test examples.
Contributing
If you want to collaborate in Toolium development, feel free to fork it <https://github.com/Telefonica/toolium>_
and create a pull request.
Then clone the repository and install the dependencies in your virtualenv:
.. code:: console
$ git clone git@github.com:<your_github_user>/toolium.git
$ cd toolium
$ pip install -r requirements.txt
$ pip install -r requirements_dev.txt
Before submitting your changes, make sure the code follows the project's style by running Ruff:
.. code:: console
$ ruff check --fix . # Fix linting issues
$ ruff format . # Format code
Then run the unit tests:
.. code:: console
$ python -m pytest
Finally, before accepting your contribution, we need you to sign our
Contributor License Agreement <https://raw.githubusercontent.com/telefonicaid/Licensing/master/ContributionPolicy.txt>_
and send it to ruben.gonzalezalonso@telefonica.com.
Main Features
Choosing a driver through a configuration file </docs/driver_configuration.rst>_Page Object pattern </docs/page_objects.rst>_Tests runners integration </docs/tests_runners_integration.rst>_Visual testing solution </docs/visual_testing.rst>_Tests result analysis </docs/tests_result_analysis.rst>_
Documentation
Further information about features and fixes included in each release: CHANGELOG </CHANGELOG.rst>_.
Complete library reference and documentation are available at ReadTheDocs <http://toolium.readthedocs.org>_.