# ui-automation-framework-pkg

# Library with Selenium Wrapper and WebDriver factory

Overview
=============

### Note: Make sure you bumped package version in .bumpversion.cfg and VERSION after any changes in the package
### The package is stored in sme artifactory, put the rows below into your ~/.config/pip/pip.conf file
```
index = https://artifacts.apollo.stream/repository/pypi-all/pypi
index-url = https://artifacts.apollo.stream/repository/pypi-all/simple
```
The package consists of api, db, core and utils modules:

1. Core - encapsulates WebDriver api (initialization, capabilities, selenium API wrapper)
    * base_page.py - contains methods to work with locators stored in .json files
    * constants.py - constants matching with appropriate WebDriver type
    * init_driver.py - selenium wrapper around WebDriver api
    * webdriver_factory.py - Factory for driver init with related capabilities

2. API - client based on requests library to manage REST API connections
3. DB - client based on MySQL library to manage DB connections
4. Utils - the most important is CoreConfig required for managing env variables required for initialization of proper WebDriver (web/mobile/browserstack)
    * All constants described inside the CoreConfig should exist in your .zshrc (as export of env variables) or .env file in local framewrok in a project root


