Продолжаю нашу тему фреймворков для тестирования инфраструктры. Сегодня мой пост является беглым отчетом по выполнению работы "7.6.3 Lab - Automated Testing Using pyATS and Genie" из Cisco DevNet.
Знакомтесь - pyATS (https://developer.cisco.com/pyats/). Это экосистема сквозного тестирования, изначально разработанная компанией Cisco и ставшая открытой в конце 2017 года. Ранее библиотека pyATS называлась Genie; эти названия используются в одном и том же контексте. Ввиду своего происхождения этот фреймворк целиком и полностью ориентирован на тестирование сетей.
Фреймворк доступен в PyPI:
(venv) $ pip install pyats[full]
Для начала рассмотрим некоторые демонстрационные сценарии из GitHub-репозитория:
git clone https://github.com/CiscoTestAutomation/examples
Мы сходу можем прогнать тест-пустышку чтобы оценить как все происходит:
pyats run job examples/basic/basic_example_job.py
Следом можно охватить отчетность по всем проведенным PyATS-тестам в формате HTML:
pyats logs view
P.S.: имейте ввиду - порт web-сервера отчетов динамический.
Ок, реальные тесты начинаются с создания файла испытательной модели (testbed) в формате YAML. Создадим простой testbed-файл testbed-pyats.yml для нашего устройства CSR1000v. Он похож на файл реестра hosts, знакомый нам от Ansible:
testbed:
name: pyATS
credentials:
default:
username: admin
password: super
enable:
password: super
devices:
CSR:
alias: CSR
type: iosxe
connections:
defaults:
class: unicon.Unicon
vty:
ip: 192.168.1.19
protocol: ssh -o KexAlgorithms=diffie-hellman-group14-sha1





