Skip to main content

Genie: THE standard pyATS Library System

Project description

Genie is both a library framework and a test harness that facilitates rapid development, encourage re-usable and simplify writing test automation. Genie bundled with the modular architecture of pyATS framework accelerates and simplifies test automation leveraging all the perks of the Python programming language in an object-orienting fashion.

pyATS is an end-to-end testing ecosystem, specializing in data-driven and reusable testing, and engineered to be suitable for Agile, rapid development iterations. Extensible by design, pyATS enables developers start with small, simple and linear test cases, and scale towards large, complex and asynchronous test suites.

Genie was initially developed internally in Cisco, and is now available to the general public starting early 2018 through Cisco DevNet. Visit the Genie home page at

https://developer.cisco.com/site/pyats/

Component Breakdown

Conf
Sub-component of Genie that Configures topology through Python object attributes, featuring a common object structure. These object’s structures means that they are compatible with all operating systems and Management Interfaces (such as CLI/Yang/REST, etc.)
Ops
Sub-component of Genie that Represents the operational state of the feature through object attributes. These object’s structures means that they are compatible with all operating systems and Management Interfaces (such as CLI/Yang/REST, etc).
Harness
Sub-component of Genie which bring the concept of event driven testing into the pyATS framework. With event driven testing, script and testcases are derived dynamically based on selected triggers and verification from the Genie SDK pool.
Utils
as its name suggests - various utilities used throughout the infrastructure.

Requirements

Genie currently supports Python 3.4+ on Linux & Mac systems. Windows platforms are not yet supported.

Quick Start

# install genie as a whole
$ pip install genie

# to upgrade this package manually
$ pip install --upgrade genie

# to install alpha/beta versions, add --pre
$ pip install --pre genie

For more information on setting up your Python development environment, such as creating virtual environment and installing pip on your system, please refer to Virtual Environment and Packages in Python tutorials.

Example

Examples showcasing various features & idioms of coding can be found here:
https://github.com/CiscoTestAutomation/examples

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for genie, version 20.2
Filename, size File type Python version Upload date Hashes
Filename, size genie-20.2-cp35-cp35m-macosx_10_10_x86_64.whl (4.9 MB) File type Wheel Python version cp35 Upload date Hashes View
Filename, size genie-20.2-cp35-cp35m-manylinux1_i686.whl (16.2 MB) File type Wheel Python version cp35 Upload date Hashes View
Filename, size genie-20.2-cp35-cp35m-manylinux1_x86_64.whl (17.8 MB) File type Wheel Python version cp35 Upload date Hashes View
Filename, size genie-20.2-cp36-cp36m-macosx_10_10_x86_64.whl (5.4 MB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size genie-20.2-cp36-cp36m-manylinux1_i686.whl (17.0 MB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size genie-20.2-cp36-cp36m-manylinux1_x86_64.whl (18.6 MB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size genie-20.2-cp37-cp37m-macosx_10_10_x86_64.whl (5.1 MB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size genie-20.2-cp37-cp37m-manylinux1_i686.whl (16.8 MB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size genie-20.2-cp37-cp37m-manylinux1_x86_64.whl (18.3 MB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size genie-20.2-cp38-cp38-macosx_10_10_x86_64.whl (5.2 MB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size genie-20.2-cp38-cp38-manylinux1_i686.whl (18.5 MB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size genie-20.2-cp38-cp38-manylinux1_x86_64.whl (20.8 MB) File type Wheel Python version cp38 Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page