Advertisement

Robot Framework: универсальный инструмент автоматизатора

SQALab
SQALab
May. 2, 2014
Advertisement

More Related Content

Slideshows for you(20)

Viewers also liked(20)

Advertisement

Similar to Robot Framework: универсальный инструмент автоматизатора(20)

More from SQALab(20)

Advertisement

Robot Framework: универсальный инструмент автоматизатора

  1. Robot Framework универсальный инструмент автоматизатора
  2. Хозинов Руслан Junior QA Engineer at Mirantis Inc Проекты, которыми сейчас занимаюсь: ● Vyatta OS: DMVPN ● Vyatta OS: Multicast ● Vyatta OS: STVPN
  3. О чем поговорим? ● Тестирование реализации сетевых протоколов ● BDD фреймворки ● Универсальность Robot Framework ● Тестирование виртуальной сетевой топологии
  4. О проекте. Что тестируем? ● Программный маршрутизатор с консолью (Debian система с собственной оболочкой) ● Функционал команд маршрутизатора ● Реализации multicast-протоколов (PIM, MSDP) в условиях различных сетевых топологий
  5. О проекте. Что тестируем
  6. Желания заказчика ● Применять Behavior-Driven Development подход ● Полностью автоматические тесты ● Возможность запуска тестов заказчиком ● Автоматизация развертывания виртуальной сетевой топологии в облаке
  7. Behave Нет библиотек Требуется знание Python или Java (jBehave) Нечитабельные отчеты Поддержка BDD DRY Открытый код
  8. Behave Scenario: Search for an account Given I search for a valid account Then I will see the account details @given('I search for a valid account') def step_impl(context): context.browser.get('http://localhost:8000/index') form = get_element(context.browser, tag='form') get_element(form, name="msisdn").send_keys('61415551234') form.submit()
  9. Robot Framework ● Внутренние библиотеки ● Собственная среда разработки - RIDE ● Читабельные отчеты и подробные логи ● Плагины для Jenkins, Maven, Ant ● Нет параллельного запуска тестов ● BDD требует написания собственных библиотек
  10. Robot Framework. Возможности SQL / NoSQL базы данных Web-интерфейсы Java Swing GUI приложения iOS приложения Android приложения Сетевые приложения REST/SOAP интерфейсы
  11. Robot Framework. Библиотеки Telnet iOS library MongoDB library Database Library Android library Rammbock Selenium library Swing Library HTTPLibrary SudsLibrarySSH Library
  12. Robot Framework. Опыт применения ● Встроенные библиотеки ○ меньше времени на поддержку ○ много функционала “из коробки” ● Keyword-driven подход ○ быстрое создание тестов ○ отсутствие дублированного кода ○ функционал без написания кода
  13. Robot Framework. Опыт применения ● RIDE ○ авто-дополнение ○ выбор тестов для запуска ○ в сообществе быстро правят баги ○ удобный редактор ○ документация к тесту
  14. Robot Framework. Итоги ● Ускорение автоматизации ● Тесты, понятные заказчику ● Сокращение времени на поддержку библиотек ● Стандартизация и ускорение обучения ● Довольные отчетами заказчики
  15. О проекте. Как это работает
  16. О проекте. Как это работает *AS - Автономная система
  17. О проекте. Как это работает
  18. Проблемы интеграции ● Необходимо работать с конфигурационными файлами внутри Robot Framework ● Тестирование CLI предполагает анализ вывода консоли ● Использование сторонних утилит неудобно стандартными средствами Robot Framework
  19. Пример. Своя библиотека Реализация с помощью Python Аналогичный функционал средствами RF ... [ WARN ] 10.10.10.10 [ WARN ] root [ WARN ] passwd
  20. Реализация BDD в Robot Framework Given open telnet connection ${router} And telnet.set timeout 30 sec And telnet.set prompt (.*$ | .*]:|.*):|.*/n]|) When input command generate openvpn config vtun0 Then output should contain List of possible server addresses And output should contain ${router.ifaces[1].ipv4} And output should contain Choose OpenVPN server address
  21. Пример. Отчет
  22. Пример. Jenkins Опции конфигурации job’ы
  23. Итоги ● Возможность передачи тестов заказчику ● Гибкость и расширяемость фреймворка ● Ускорение процесса автоматизации ● Перенос функционала старых библиотек
  24. Дополнительная информация ● Официальный сайт Robot Framework robotframework.org ● Robot Framework: Библиотеки code.google.com/p/robotframework/wiki/TestLibraries ● Robot Framework: Best Practices code.google.com/p/robotframework/wiki/HowToWriteGoodTestCases ● Robot Framework: Jenkins plugin wiki.jenkins-ci.org/display/JENKINS/Robot+Framework+Plugin
  25. Хозинов Руслан E-mail: rkhozinov@mirantis.com Skype: hozinov Blog: rkhozinov.blogspot.ru
Advertisement