Toolium
Toolium is a Python wrapper tool of Selenium 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)
- Appium-Python-Client: to test mobile applications (native, hybrid or web) in Android or iOS devices/emulators.
- requests: to test APIs
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 [email protected]: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 [email protected]: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 [email protected]:<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 [email protected].
Main Features
- Choosing driver through a configuration file
- Page Object pattern
- BDD integration
- Visual testing solution
- Tests result analysis
Documentation
Further information about features and fixes included in each release: CHANGELOG.
Complete library reference and documentation available at ReadTheDocs.