SlideShare a Scribd company logo
Robot Framework
             быстрое расширение
             под свои потребности

                 Mykhailo Poliarush
                http://poliarush.com
                        2013

atdays.com
Михаил Поляруш

                @mpoliarush
                Автоматизатор,
                консультант и тренер
                Основатель atdays.com,
                automated-testing.info
                Фан-автоматизации
                тестирования ПО и Python
                Тренинги и консультации
atdays.com       #atdays @mpoliarush       2
Сейчас

     Почему Python?
     Что такое Robot Framework?
     Какие возможности RF?
     Зачем расширять RF?
     Как расширять RF c Python?
     Будем практиковаться на
     разных примерах

atdays.com       #atdays @mpoliarush   3
Цель




atdays.com   #atdays @mpoliarush   4
Автоматизация –
             программирование!




atdays.com        #atdays @mpoliarush   5
Программирование?!
                               Скорость
                               разработки
                               Гибкость решений
                               Экосистема
                               Решение
                               прикладных задач




atdays.com         #atdays @mpoliarush            6
Каждый инструмент и язык программирования надо
    рассматривать с разных точек зрения

    ВЗГЛЯД НА ВЕЩИ


atdays.com                 #atdays                   7
Почему Python?

              PHP                 Ruby    PYTHON




atdays.com          #atdays @mpoliarush        8
atdays.com   #atdays   9
Почему Robot Framework?




     А может нам подойдет что-то другое?
atdays.com        #atdays @mpoliarush      10
Почему Robot Framework?

              Гибкая архитектура

              Легко расширяется
              и интегрируется

              Python, Java, …

              Активно развивается и
              поддерживается

atdays.com   #atdays @mpoliarush      11
Robot Framework
     Фреймворк общего назначения
     Python
     Java
     Keyword-driven
     Data-driven
     BDD
     Test Libraries
     Доп. инструменты
atdays.com       #atdays @mpoliarush   12
Возможности RF
     Сам фреймворк с
     различными опциями
     RIDE – IDE для разработки
     тестов
     Хорошие отчеты и
     логирование
     Большое количество
     библиотек

     Параллелизация

atdays.com         #atdays @mpoliarush   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
                         SwingLibrary




atdays.com                #atdays @mpoliarush                  15
Небольшое ДЕМО
     Создаем тест

     Манипуляция с
     файлами и
     контентом

     Замеряем
     скорость и
     удобность

atdays.com          #atdays @mpoliarush   18
Нет ничего сложного
     Автоматизация без
     программирования
     Очень просто
     разрабатывать такие
     тесты
     А если нет
     библиотеки, которая
     нам нужна?

atdays.com         #atdays @mpoliarush   19
Умеешь программировать,
    сможешь решить любую автоматизацию! Это точно!

    ПРОГРАММИРОВАНИЕ


atdays.com                 #atdays                   20
Потребность
     Всегда нужно что-то
     программировать                      У нас уже
                                         есть 100500
     Как это сделать                      тестов, а
     быстро?                              надо еще
                                           один, но
     Использовать легкие                «хитрый», как
     языки высокого
     уровня                               добавить?
atdays.com        #atdays @mpoliarush                   21
Python, java или …?
     Robot Framework
     поддерживает разные ЯП
     Python и Java основные
     Остальные ЯП можно
     подключить через
     RemoteLibrary

     Выбор на вкус и цвет
     Но Python лучше

atdays.com         #atdays @mpoliarush   22
atdays.com   #atdays   23
Выполняем небольшую задачу
     Есть список IP адресов
     Надо, каждому элементу списка
     заменить маску подсети
     Есть
         192.168.0.1, 192.168.0.2, 192.168.0.3
     Надо получить
         192.168.0.10, 192.168.0.11, 192.168.0.21


atdays.com              #atdays @mpoliarush         24
atdays.com   #atdays   25
Robot Framework позволяет быстро и легко
    добавить свою библиотеку без всяких пробем

    РАСШИРЯЕМ ВОЗМОЖНОСТИ


atdays.com                  #atdays              27
Комплексная среда




atdays.com         #atdays @mpoliarush   28
Не изобретаем велосипед!
   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-robot

atdays.com               #atdays @mpoliarush   29
Общая схема
     Создаем python библиотеку (файл)
     Подключаем библиотеку
     Используем интерфейс библиотеки
     в тестах




atdays.com       #atdays @mpoliarush    30
Варианты
  Через функции
     Функция – это кейворд




  Через класс
     Метод – это кейворд



atdays.com                 #atdays   31
Простой пример?
     Создаем
     библиотеку
     Делаем кейворд в
     виде функции
     Печатает hello
     world
     Подключаем
     библиотеку
     Используем
     кейворды

atdays.com        #atdays @mpoliarush   32
Демо




atdays.com   #atdays @mpoliarush   33
Сложный пример?
     Создаем
     библиотеку
     Реализуем поиск
     данных или веб-
     автоматизацию с
     помощью
     классов
     Подключаем
     библиотеку
     Используем
     кейворды

atdays.com        #atdays @mpoliarush   34
Демо




atdays.com   #atdays @mpoliarush   35
И что нам с этого?
        Вы можете использовать
   неограниченные возможности языка
           программирования

     И автоматизировать любые задачи,
     которые Вам необходимо
     Все ограничения - ограничения языка
     программирования, а не Robot
     Framework

atdays.com         #atdays @mpoliarush     36
Примеры на GitHub



     https://github.com/polusok/RF-WebServicesLibrary




atdays.com             #atdays @mpoliarush              37
В общем Robot Framework
     Robot Framework – отличный фреймворк для
     автоматизации keyword-driven, data-driven
     и BDD тестов
     Большой выбор уже сделанных библиотек
     Хорошо подходит для программ с разными
     видами интерфейсов
     Легко расширяется с помощью Python или
     Java или любого другого языка
     Легкое и быстрое развертывание
     Активное сообщество

atdays.com          #atdays @mpoliarush          39
Своя библиотека - просто!
     Создаем python библиотеку (файл)
     Подключаем библиотеку
     Используем интерфейс библиотеки
     в тестах




atdays.com       #atdays @mpoliarush    40
Что нужно, чтобы научиться
   программировать на Python?
     Читайте книги
     Посещайте тренинги и курсы
     Тренируйтесь и практикуйтесь




    Doug Hellmann   David M. Beazley      Mark Lutz
atdays.com          #atdays @mpoliarush               41
Python и RF Вам в помощь!
     Используйте Robot Framework
     Программируете на Рython
     Решайте Ваши задачи




atdays.com       #atdays @mpoliarush   42
Михаил Поляруш
                Тренер и практикующий
             консультант по автоматизации
                   тестирования ПО


                    @mpoliarush
                    http://poliarush.com




atdays.com                                  43

More Related Content

PDF
Robot Framework: универсальный инструмент автоматизатора
SQALab
 
PDF
Что такое Robot Framework?
Mykhailo Poliarush
 
PDF
Что такое проект по автоматизации тестирования ПО?
Mykhailo Poliarush
 
PDF
Быстрое расширение Robot Framework под свои нужды с использованием Python
automated-testing.info
 
PDF
Как автоматизировать комплексные системы
SQALab
 
PDF
2014-02-01 02 Дмитрий Малиновский. Почему нужно читать исходный код инстру...
Омские ИТ-субботники
 
PDF
Continuous integration
Grigoriy Ostrovskiy
 
PDF
Serghei Iakovlev "Chaos engineering in action"
Fwdays
 
Robot Framework: универсальный инструмент автоматизатора
SQALab
 
Что такое Robot Framework?
Mykhailo Poliarush
 
Что такое проект по автоматизации тестирования ПО?
Mykhailo Poliarush
 
Быстрое расширение Robot Framework под свои нужды с использованием Python
automated-testing.info
 
Как автоматизировать комплексные системы
SQALab
 
2014-02-01 02 Дмитрий Малиновский. Почему нужно читать исходный код инстру...
Омские ИТ-субботники
 
Continuous integration
Grigoriy Ostrovskiy
 
Serghei Iakovlev "Chaos engineering in action"
Fwdays
 

What's hot (20)

PPTX
Использование анализатора кода SonarQube
Positive Hack Days
 
PPTX
Automated tests ci
COMAQA.BY
 
PPTX
Альтернативные способы изучения программирования с нуля
COMAQA.BY
 
PPTX
Кирилл Черятов. Эволюция системы логирования интеграционного ПО. Сокращаем вр...
ScrumTrek
 
PDF
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
Mail.ru Group
 
PPTX
Aspect-Oriented Programming in PHP
Alexander Lisachenko
 
PDF
Применение языка Go в инфраструктурных проектах
Alex Chistyakov
 
PPTX
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
COMAQA.BY
 
PDF
Anton Tsitou "Cycle ORM and Graphs"
Fwdays
 
PDF
UICov - инструмент анализа покрытия UI-тестами
SQALab
 
PDF
Дефицит ресурсов тестирования... или нет?
SQALab
 
PPTX
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
SQALab
 
PPTX
Клиентская Java вне браузера. Делаем нативные клиенты на Java
Nikita Lipsky
 
PDF
Как 3 тестировщика играючи тестируют приложение для 10млн пользователей
SQALab
 
PDF
Java худеет. Спроси меня как. Уменьшение размера дистрибутива Java приложения...
Nikita Lipsky
 
PDF
Лев Валкин — Кое-что про Erlang
Yury Yurevich
 
PPTX
Test Driven Development in .NET Applications
Anton Vidishchev
 
PDF
Опыт использования Erlang в разработке многопользовательской игры
Yuri Zhloba
 
PPTX
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
DataArt
 
PPTX
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest
 
Использование анализатора кода SonarQube
Positive Hack Days
 
Automated tests ci
COMAQA.BY
 
Альтернативные способы изучения программирования с нуля
COMAQA.BY
 
Кирилл Черятов. Эволюция системы логирования интеграционного ПО. Сокращаем вр...
ScrumTrek
 
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...
Mail.ru Group
 
Aspect-Oriented Programming in PHP
Alexander Lisachenko
 
Применение языка Go в инфраструктурных проектах
Alex Chistyakov
 
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
COMAQA.BY
 
Anton Tsitou "Cycle ORM and Graphs"
Fwdays
 
UICov - инструмент анализа покрытия UI-тестами
SQALab
 
Дефицит ресурсов тестирования... или нет?
SQALab
 
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
SQALab
 
Клиентская Java вне браузера. Делаем нативные клиенты на Java
Nikita Lipsky
 
Как 3 тестировщика играючи тестируют приложение для 10млн пользователей
SQALab
 
Java худеет. Спроси меня как. Уменьшение размера дистрибутива Java приложения...
Nikita Lipsky
 
Лев Валкин — Кое-что про Erlang
Yury Yurevich
 
Test Driven Development in .NET Applications
Anton Vidishchev
 
Опыт использования Erlang в разработке многопользовательской игры
Yuri Zhloba
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
DataArt
 
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest
 
Ad

Viewers also liked (7)

PDF
Robot Framework Dos And Don'ts
Pekka Klärck
 
PDF
Robot Framework Introduction
Pekka Klärck
 
PDF
Introduction to Robot Framework
Somkiat Puisungnoen
 
PDF
Easy selenium test automation on python
Mykhailo Poliarush
 
PDF
Совершенный тестовый фреймворк
automated-testing.info
 
PDF
Проблемы автоматизации крупных проектов: TestComplete
automated-testing.info
 
PDF
JavaCro'14 - Test Automation using RobotFramework Libraries – Stojan Peshov
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Robot Framework Dos And Don'ts
Pekka Klärck
 
Robot Framework Introduction
Pekka Klärck
 
Introduction to Robot Framework
Somkiat Puisungnoen
 
Easy selenium test automation on python
Mykhailo Poliarush
 
Совершенный тестовый фреймворк
automated-testing.info
 
Проблемы автоматизации крупных проектов: TestComplete
automated-testing.info
 
JavaCro'14 - Test Automation using RobotFramework Libraries – Stojan Peshov
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Ad

Similar to Как расширять Robot Framework под свои нужны с помощью Python? (15)

PDF
Фреймворк для регрессионного тестирования на основе WebDriver
automated-testing.info
 
PDF
Сила опенсорса
Dmitry Demeshchuk
 
PPTX
Keyword-driven framework
SQALab
 
PPTX
Image-based automation
Vitali Shulha
 
PPTX
Автоматизация с помощью скриншотов. Как научить скрипт видеть графический инт...
SQALab
 
PPT
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
SQALab
 
PPT
Open Source Testing Framework: real project example and best practices
Aliaksandr Ikhelis
 
PPTX
Modern IT- technologies
Alena Volchek(Yurkevich)
 
PPTX
Image-based automation
Vitali Shulha
 
PDF
DEV Labs 2016. Микросервисы - первая кровь
Sasha Soleev
 
PDF
ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET» O...
WDDay
 
PDF
Простой взгляд на автоматизацию или Как не изобретать велосипед
SQALab
 
PPTX
Фреймворк автотестирования веб-сервисов своими силами
SQALab
 
PDF
Автоматизация автоматизации Web-разработки.
MageCloud
 
PDF
ITConnect 2011-Автоматизация автоматизациии web разработки
Владимир Винников
 
Фреймворк для регрессионного тестирования на основе WebDriver
automated-testing.info
 
Сила опенсорса
Dmitry Demeshchuk
 
Keyword-driven framework
SQALab
 
Image-based automation
Vitali Shulha
 
Автоматизация с помощью скриншотов. Как научить скрипт видеть графический инт...
SQALab
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
SQALab
 
Open Source Testing Framework: real project example and best practices
Aliaksandr Ikhelis
 
Modern IT- technologies
Alena Volchek(Yurkevich)
 
Image-based automation
Vitali Shulha
 
DEV Labs 2016. Микросервисы - первая кровь
Sasha Soleev
 
ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET» O...
WDDay
 
Простой взгляд на автоматизацию или Как не изобретать велосипед
SQALab
 
Фреймворк автотестирования веб-сервисов своими силами
SQALab
 
Автоматизация автоматизации Web-разработки.
MageCloud
 
ITConnect 2011-Автоматизация автоматизациии web разработки
Владимир Винников
 

More from Mykhailo Poliarush (8)

PDF
atdays.com - How to do a technical speach?
Mykhailo Poliarush
 
PDF
iSpeaker Club Interaction and Behaviour
Mykhailo Poliarush
 
PDF
What is technical speach?
Mykhailo Poliarush
 
PDF
Sikuli Test Automation - How to do it?
Mykhailo Poliarush
 
PDF
What is page object in selenium webdriver?
Mykhailo Poliarush
 
PDF
How to write locators xpath css?
Mykhailo Poliarush
 
PDF
How to write first selenium webdriver test?
Mykhailo Poliarush
 
PDF
What is regular expression?
Mykhailo Poliarush
 
atdays.com - How to do a technical speach?
Mykhailo Poliarush
 
iSpeaker Club Interaction and Behaviour
Mykhailo Poliarush
 
What is technical speach?
Mykhailo Poliarush
 
Sikuli Test Automation - How to do it?
Mykhailo Poliarush
 
What is page object in selenium webdriver?
Mykhailo Poliarush
 
How to write locators xpath css?
Mykhailo Poliarush
 
How to write first selenium webdriver test?
Mykhailo Poliarush
 
What is regular expression?
Mykhailo Poliarush
 

Как расширять Robot Framework под свои нужны с помощью Python?

  • 1. Robot Framework быстрое расширение под свои потребности Mykhailo Poliarush http://poliarush.com 2013 atdays.com
  • 2. Михаил Поляруш @mpoliarush Автоматизатор, консультант и тренер Основатель atdays.com, automated-testing.info Фан-автоматизации тестирования ПО и Python Тренинги и консультации atdays.com #atdays @mpoliarush 2
  • 3. Сейчас Почему Python? Что такое Robot Framework? Какие возможности RF? Зачем расширять RF? Как расширять RF c Python? Будем практиковаться на разных примерах atdays.com #atdays @mpoliarush 3
  • 4. Цель atdays.com #atdays @mpoliarush 4
  • 5. Автоматизация – программирование! atdays.com #atdays @mpoliarush 5
  • 6. Программирование?! Скорость разработки Гибкость решений Экосистема Решение прикладных задач atdays.com #atdays @mpoliarush 6
  • 7. Каждый инструмент и язык программирования надо рассматривать с разных точек зрения ВЗГЛЯД НА ВЕЩИ atdays.com #atdays 7
  • 8. Почему Python? PHP Ruby PYTHON atdays.com #atdays @mpoliarush 8
  • 9. atdays.com #atdays 9
  • 10. Почему Robot Framework? А может нам подойдет что-то другое? atdays.com #atdays @mpoliarush 10
  • 11. Почему Robot Framework? Гибкая архитектура Легко расширяется и интегрируется Python, Java, … Активно развивается и поддерживается atdays.com #atdays @mpoliarush 11
  • 12. Robot Framework Фреймворк общего назначения Python Java Keyword-driven Data-driven BDD Test Libraries Доп. инструменты atdays.com #atdays @mpoliarush 12
  • 13. Возможности RF Сам фреймворк с различными опциями RIDE – IDE для разработки тестов Хорошие отчеты и логирование Большое количество библиотек Параллелизация atdays.com #atdays @mpoliarush 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 SwingLibrary atdays.com #atdays @mpoliarush 15
  • 15. Небольшое ДЕМО Создаем тест Манипуляция с файлами и контентом Замеряем скорость и удобность atdays.com #atdays @mpoliarush 18
  • 16. Нет ничего сложного Автоматизация без программирования Очень просто разрабатывать такие тесты А если нет библиотеки, которая нам нужна? atdays.com #atdays @mpoliarush 19
  • 17. Умеешь программировать, сможешь решить любую автоматизацию! Это точно! ПРОГРАММИРОВАНИЕ atdays.com #atdays 20
  • 18. Потребность Всегда нужно что-то программировать У нас уже есть 100500 Как это сделать тестов, а быстро? надо еще один, но Использовать легкие «хитрый», как языки высокого уровня добавить? atdays.com #atdays @mpoliarush 21
  • 19. Python, java или …? Robot Framework поддерживает разные ЯП Python и Java основные Остальные ЯП можно подключить через RemoteLibrary Выбор на вкус и цвет Но Python лучше atdays.com #atdays @mpoliarush 22
  • 20. atdays.com #atdays 23
  • 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.21 atdays.com #atdays @mpoliarush 24
  • 22. atdays.com #atdays 25
  • 23. Robot Framework позволяет быстро и легко добавить свою библиотеку без всяких пробем РАСШИРЯЕМ ВОЗМОЖНОСТИ atdays.com #atdays 27
  • 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-robot atdays.com #atdays @mpoliarush 29
  • 26. Общая схема Создаем python библиотеку (файл) Подключаем библиотеку Используем интерфейс библиотеки в тестах atdays.com #atdays @mpoliarush 30
  • 27. Варианты Через функции Функция – это кейворд Через класс Метод – это кейворд atdays.com #atdays 31
  • 28. Простой пример? Создаем библиотеку Делаем кейворд в виде функции Печатает hello world Подключаем библиотеку Используем кейворды atdays.com #atdays @mpoliarush 32
  • 29. Демо atdays.com #atdays @mpoliarush 33
  • 30. Сложный пример? Создаем библиотеку Реализуем поиск данных или веб- автоматизацию с помощью классов Подключаем библиотеку Используем кейворды atdays.com #atdays @mpoliarush 34
  • 31. Демо atdays.com #atdays @mpoliarush 35
  • 32. И что нам с этого? Вы можете использовать неограниченные возможности языка программирования И автоматизировать любые задачи, которые Вам необходимо Все ограничения - ограничения языка программирования, а не Robot Framework atdays.com #atdays @mpoliarush 36
  • 33. Примеры на GitHub https://github.com/polusok/RF-WebServicesLibrary atdays.com #atdays @mpoliarush 37
  • 34. В общем Robot Framework Robot Framework – отличный фреймворк для автоматизации keyword-driven, data-driven и BDD тестов Большой выбор уже сделанных библиотек Хорошо подходит для программ с разными видами интерфейсов Легко расширяется с помощью Python или Java или любого другого языка Легкое и быстрое развертывание Активное сообщество atdays.com #atdays @mpoliarush 39
  • 35. Своя библиотека - просто! Создаем python библиотеку (файл) Подключаем библиотеку Используем интерфейс библиотеки в тестах atdays.com #atdays @mpoliarush 40
  • 36. Что нужно, чтобы научиться программировать на Python? Читайте книги Посещайте тренинги и курсы Тренируйтесь и практикуйтесь Doug Hellmann David M. Beazley Mark Lutz atdays.com #atdays @mpoliarush 41
  • 37. Python и RF Вам в помощь! Используйте Robot Framework Программируете на Рython Решайте Ваши задачи atdays.com #atdays @mpoliarush 42
  • 38. Михаил Поляруш Тренер и практикующий консультант по автоматизации тестирования ПО @mpoliarush http://poliarush.com atdays.com 43