Devnet
pyATS
2 Fundamentals

Practical Use Cases of Python Automated Test Systems (pyATS)

This topic delves into the practical applications of Python Automated Test Systems (pyATS) and its significance in automated testing and NetDevOps. Discover how pyATS resolves challenges associated with manual testing and mitigates common human errors. Explore the various APIs and libraries provided by pyATS, facilitating seamless testing across different stages.

Introduction to pyATS

Originally developed for internal Cisco engineering purposes, the pyATS ecosystem, including Genie (now part of the pyATS library), aims to streamline product and code testing. Built with modularity and extensibility in mind, pyATS offers a robust platform for engineers to create and execute tests reliably. It is now publicly available under the Apache 2.0 license, allowing users to enhance its functionalities with custom APIs, parsers, and test cases.

pyATS

Challenges Addressed by Network Testing Automation

As network complexity grows, so do the challenges associated with validating network health. Automation emerges as the most effective approach to ensure consistent and accurate test results.

Challenge 1: Network Monitoring

Monitoring network changes and health status becomes increasingly complex with expanding networks. pyATS assists engineering teams in troubleshooting and assessing network issues comprehensively, surpassing traditional methods reliant on logging mechanisms.

Network Monitoring

Challenge 2: Network Changes

Performing pre- and post-checks during network hardware migration or OS upgrades can be arduous, especially in large networks. pyATS automates these checks, significantly reducing human error and time consumption.

Network Changes

Automating Testing Phase with pyATS

pyATS facilitates the automation of testing workflows, including device connections, network profiling, configuration changes, and result comparisons. This eliminates manual intervention and enhances productivity.

Types of Testing Scenarios Supported:

  • White-box unit-testing
  • Black-box unit-testing
  • Feature testing
  • Performance and scale testing

Continuous Network Validation with XPRESSO

XPRESSO, the pyATS GUI dashboard, streamlines test management, providing valuable insights into network automation, testing, and validation.

XPRESSO Dashboard

Additional Resources

This overview encapsulates the versatility and efficacy of pyATS in modern network testing and automation.