Skip to main content

Wrapper tool of Selenium and Appium libraries to test web and mobile applications in a single project

Project description

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.

Getting Started

Run pip install toolium to install the latest version from PyPi. It’s highly recommendable to use a virtualenv.

The main dependencies are:

  • Selenium: to test web applications in major browsers (Firefox, Chrome, Internet Explorer, Edge or Safari)

  • Playwright: to test web applications in major browsers (Firefox, Chrome, Edge or Safari) as an alternative to Selenium (Beta integration in toolium)

  • Appium-Python-Client: to test mobile applications (native, hybrid or web) in Android or iOS devices/emulators.

  • requests: 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

Using toolium-template

The easiest way of getting started is to clone toolium-template project, run the example test and add your own tests and configuration.

$ git clone git@github.com:Telefonica/toolium-template.git
$ cd toolium-template
$ pip install -r requirements.txt

Now, just follow toolium-template instructions to know how to start your testing project.

Running toolium-examples

You can also clone toolium-examples to get more examples about how to use the library to test web, Android or iOS applications, in different scenarios.

$ git clone git@github.com:Telefonica/toolium-examples.git
$ cd toolium-examples
$ pip install -r requirements.txt

Now, just follow toolium-examples instructions to run the examples of the tests.

Contributing

If you want to collaborate in Toolium development, feel free of forking it and asking for a pull request.

Don’t forget to run unit tests:

$ git clone git@github.com:<your_github_user>/toolium.git
$ cd toolium
$ pip install -r requirements.txt
$ pip install -r requirements_dev.txt
$ python -m pytest

Finally, before accepting your contribution, we need you to sign our Contributor License Agreement and send it to ruben.gonzalezalonso@telefonica.com.

Main Features

Documentation

Further information about features and fixes included in each release: CHANGELOG.

Complete library reference and documentation available at ReadTheDocs.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page