This repository is all about creating automated testing scripts and how to run them on a nightly basis in a Continuous integration environment. The following tools and conventions are used throughout this repository and finally being executed via shell script in Jenkins.
- Selenium WebDriver
WebDriver is an open source tool for automated testing of webapps across many browsers. It provides capabilities for navigating to web pages, user input, JavaScript execution, and more. If you wish to create automated tests and monitor the quality of your product, Selenium WebDriver is one of the top tools to achieve exactly that.
Note: read more about Selenium WebDriver here
- Python & WebDriver
Selenium Python bindings provides a simple API to write functional/acceptance tests using Selenium WebDriver. Through Selenium Python API you can access all functionalities of Selenium WebDriver in an intuitive way.
Selenium Python bindings provide a convenient API to access Selenium WebDrivers like Firefox, Ie, Chrome, Remote etc. The current supported Python versions are 2.7, 3.2 and above.
Note: read more about Python & WebDriver here
- chromeDriver
ChromeDriver is a standalone server which implements WebDriver's wire protocol for Chromium. ChromeDriver is available for Chrome on Android and Chrome on Desktop (Mac, Linux, Windows and ChromeOS).
Note: read more about chromeDriver here
PyCharm provides smart code completion, code inspections, on-the-fly error highlighting and quick-fixes, along with automated code refactorings and rich navigation capabilities.
Note: read more about Python & WebDriver here
The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries.
Note: read more about Py.Test here
Allure - an open-source framework designed to create test execution reports with good representation of test execution output
Note: read more about Allure reports here
A Virtual Environment is a tool to keep the dependencies required by different projects in separate places, by creating virtual Python environments for them. It solves the “Project X depends on version 1.x but, Project Y needs 4.x” dilemma, and keeps your global site-packages directory clean and manageable.
Note: read more about Virtual Environment here
requirements-txt - generate requirements.txt (python packages)
Note: read more about Requirements.txt here
Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications, whether on laptops, data center VMs, or the cloud.
Note: read more about Docker here
Jenkins is an award-winning, cross-platform, continuous integration and continuous delivery application that increases your productivity. Use Jenkins to build and test your software projects continuously making it easier for developers to integrate changes to the project, and making it easier for users to obtain a fresh build. It also allows you to continuously deliver your software by providing powerful ways to define your build pipelines and integrating with a large number of testing and deployment technologies.
Note: read more about Jenkins here