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 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
Library Reference
- toolium packages
- toolium modules
- config_driver
- config_files
- config_parser
ExtendedConfigParser
ExtendedConfigParser.deepcopy()
ExtendedConfigParser.get()
ExtendedConfigParser.get_config_from_file()
ExtendedConfigParser.get_optional()
ExtendedConfigParser.getboolean_optional()
ExtendedConfigParser.has_option()
ExtendedConfigParser.items()
ExtendedConfigParser.options()
ExtendedConfigParser.optionxform()
ExtendedConfigParser.remove_option()
ExtendedConfigParser.set()
ExtendedConfigParser.translate_config_variables()
ExtendedConfigParser.update_properties()
ExtendedConfigParser.update_toolium_system_properties()
- driver_wrapper
- driver_wrappers_pool
DriverWrappersPool
DriverWrappersPool.add_wrapper()
DriverWrappersPool.capture_screenshots()
DriverWrappersPool.close_drivers()
DriverWrappersPool.config_directory
DriverWrappersPool.configure_common_directories()
DriverWrappersPool.configure_visual_directories()
DriverWrappersPool.connect_default_driver_wrapper()
DriverWrappersPool.download_videos()
DriverWrappersPool.driver_wrappers
DriverWrappersPool.get_configured_value()
DriverWrappersPool.get_default_config_directory()
DriverWrappersPool.get_default_wrapper()
DriverWrappersPool.initialize_config_files()
DriverWrappersPool.is_empty()
DriverWrappersPool.logs_directory
DriverWrappersPool.output_directory
DriverWrappersPool.remove_drivers()
DriverWrappersPool.save_all_ggr_logs()
DriverWrappersPool.save_all_webdriver_logs()
DriverWrappersPool.save_all_webdriver_or_ggr_logs()
DriverWrappersPool.screenshots_directory
DriverWrappersPool.screenshots_number
DriverWrappersPool.stop_drivers()
DriverWrappersPool.videos_directory
DriverWrappersPool.videos_number
DriverWrappersPool.visual_baseline_directory
DriverWrappersPool.visual_number
DriverWrappersPool.visual_output_directory
- jira
- pytest_fixtures
- selenoid
- test_cases
- visual_test