Быстрое расширение Robot Framework под свои нужды с использованием Python

8,746 views

Published on

Быстрое расширение Robot Framework под свои нужды с использованием Python, Михаил Поляруш

Когда мы начинаем заниматься автоматизацией тестирования ПО, мы редко знаем и понимаем, что нам надо будет делать, а тем более, как это нужно реализовать. Потому, выбираем самые простые решения, которые иногда даже не подразумевают программирования. Вы считаете, что успешная автоматизация может быть без программирования? Я уверен, что НЕТ, и с уверенностью могу сказать, что процесс автоматизации с помощью python и RobotFramework может значительно упростить Вам жизнь. Убедитесь в том, что архитектура RobotFramework очень гибкая, а python – лучший друг автоматизатора. Вас ждет увлекательная теория и много практики в живую.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
8,746
On SlideShare
0
From Embeds
0
Number of Embeds
6,210
Actions
Shares
0
Downloads
24
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Быстрое расширение Robot Framework под свои нужды с использованием Python

  1. 1. Robot Framework быстрое расширение под свои потребности Mykhailo Poliarush http://poliarush.com 2013atdays.com
  2. 2. Михаил Поляруш @mpoliarush Автоматизатор, консультант и тренер Основатель atdays.com, automated-testing.info Фан-автоматизации тестирования ПО и Python Тренинги и консультацииatdays.com #atdays @mpoliarush 2
  3. 3. Сейчас Почему Python? Что такое Robot Framework? Какие возможности RF? Зачем расширять RF? Как расширять RF c Python? Будем практиковаться на разных примерахatdays.com #atdays @mpoliarush 3
  4. 4. Цельatdays.com #atdays @mpoliarush 4
  5. 5. Автоматизация – программирование!atdays.com #atdays @mpoliarush 5
  6. 6. Программирование?! Скорость разработки Гибкость решений Экосистема Решение прикладных задачatdays.com #atdays @mpoliarush 6
  7. 7. Каждый инструмент и язык программирования надо рассматривать с разных точек зрения ВЗГЛЯД НА ВЕЩИatdays.com #atdays 7
  8. 8. Почему Python? PHP Ruby PYTHONatdays.com #atdays @mpoliarush 8
  9. 9. atdays.com #atdays 9
  10. 10. Почему Robot Framework? А может нам подойдет что-то другое?atdays.com #atdays @mpoliarush 10
  11. 11. Почему Robot Framework? Гибкая архитектура Легко расширяется и интегрируется Python, Java, … Активно развивается и поддерживаетсяatdays.com #atdays @mpoliarush 11
  12. 12. Robot Framework Фреймворк общего назначения Python Java Keyword-driven Data-driven BDD Test Libraries Доп. инструментыatdays.com #atdays @mpoliarush 12
  13. 13. Возможности RF Сам фреймворк с различными опциями RIDE – IDE для разработки тестов Хорошие отчеты и логирование Большое количество библиотек Параллелизацияatdays.com #atdays @mpoliarush 14
  14. 14. Много уже сделано! Builtin Library Screenshot Library EclipseLibrary Operating Remote Library AutoItLibrary System Library SeleniumLibrary DatabaseLibrary Telnet Library Selenium2Library SSHLibrary Collections Library watir-robot HTTPLibrary String Library WatinLibrary ExcelLibrary Dialogs Library SwingLibraryatdays.com #atdays @mpoliarush 15
  15. 15. Небольшое ДЕМО Создаем тест Манипуляция с файлами и контентом Замеряем скорость и удобностьatdays.com #atdays @mpoliarush 18
  16. 16. Нет ничего сложного Автоматизация без программирования Очень просто разрабатывать такие тесты А если нет библиотеки, которая нам нужна?atdays.com #atdays @mpoliarush 19
  17. 17. Умеешь программировать, сможешь решить любую автоматизацию! Это точно! ПРОГРАММИРОВАНИЕatdays.com #atdays 20
  18. 18. Потребность Всегда нужно что-то программировать У нас уже есть 100500 Как это сделать тестов, а быстро? надо еще один, но Использовать легкие «хитрый», как языки высокого уровня добавить?atdays.com #atdays @mpoliarush 21
  19. 19. Python, java или …? Robot Framework поддерживает разные ЯП Python и Java основные Остальные ЯП можно подключить через RemoteLibrary Выбор на вкус и цвет Но Python лучшеatdays.com #atdays @mpoliarush 22
  20. 20. atdays.com #atdays 23
  21. 21. Выполняем небольшую задачу Есть список IP адресов Надо, каждому элементу списка заменить маску подсети Есть 192.168.0.1, 192.168.0.2, 192.168.0.3 Надо получить 192.168.0.10, 192.168.0.11, 192.168.0.21atdays.com #atdays @mpoliarush 24
  22. 22. atdays.com #atdays 25
  23. 23. Robot Framework позволяет быстро и легко добавить свою библиотеку без всяких пробем РАСШИРЯЕМ ВОЗМОЖНОСТИatdays.com #atdays 27
  24. 24. Комплексная средаatdays.com #atdays @mpoliarush 28
  25. 25. Не изобретаем велосипед! Builtin Library WatinLibrary Operating System SwingLibrary Library EclipseLibrary Telnet Library AutoItLibrary Collections Library DatabaseLibrary String Library SSHLibrary Dialogs Library HTTPLibrary Screenshot Library ExcelLibrary Remote Library SeleniumLibrary Selenium2Library watir-robotatdays.com #atdays @mpoliarush 29
  26. 26. Общая схема Создаем python библиотеку (файл) Подключаем библиотеку Используем интерфейс библиотеки в тестахatdays.com #atdays @mpoliarush 30
  27. 27. Варианты Через функции Функция – это кейворд Через класс Метод – это кейвордatdays.com #atdays 31
  28. 28. Простой пример? Создаем библиотеку Делаем кейворд в виде функции Печатает hello world Подключаем библиотеку Используем кейвордыatdays.com #atdays @mpoliarush 32
  29. 29. Демоatdays.com #atdays @mpoliarush 33
  30. 30. Сложный пример? Создаем библиотеку Реализуем поиск данных или веб- автоматизацию с помощью классов Подключаем библиотеку Используем кейвордыatdays.com #atdays @mpoliarush 34
  31. 31. Демоatdays.com #atdays @mpoliarush 35
  32. 32. И что нам с этого? Вы можете использовать неограниченные возможности языка программирования И автоматизировать любые задачи, которые Вам необходимо Все ограничения - ограничения языка программирования, а не Robot Frameworkatdays.com #atdays @mpoliarush 36
  33. 33. Примеры на GitHub https://github.com/polusok/RF-WebServicesLibraryatdays.com #atdays @mpoliarush 37
  34. 34. В общем Robot Framework Robot Framework – отличный фреймворк для автоматизации keyword-driven, data-driven и BDD тестов Большой выбор уже сделанных библиотек Хорошо подходит для программ с разными видами интерфейсов Легко расширяется с помощью Python или Java или любого другого языка Легкое и быстрое развертывание Активное сообществоatdays.com #atdays @mpoliarush 39
  35. 35. Своя библиотека - просто! Создаем python библиотеку (файл) Подключаем библиотеку Используем интерфейс библиотеки в тестахatdays.com #atdays @mpoliarush 40
  36. 36. Что нужно, чтобы научиться программировать на Python? Читайте книги Посещайте тренинги и курсы Тренируйтесь и практикуйтесь Doug Hellmann David M. Beazley Mark Lutzatdays.com #atdays @mpoliarush 41
  37. 37. Python и RF Вам в помощь! Используйте Robot Framework Программируете на Рython Решайте Ваши задачиatdays.com #atdays @mpoliarush 42
  38. 38. Михаил Поляруш Тренер и практикующий консультант по автоматизации тестирования ПО @mpoliarush http://poliarush.comatdays.com 43

×