SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

“Обезьянье тестирование” в мобильных проектах
“Обезьянье тестирование” в мобильных проектах“Обезьянье тестирование” в мобильных проектах
“Обезьянье тестирование” в мобильных проектахautomated-testing.info
 
Что такое Robot Framework?
Что такое Robot Framework?Что такое Robot Framework?
Что такое Robot Framework?Mykhailo Poliarush
 
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...Ontico
 
Как играть без игрока
Как играть без игрокаКак играть без игрока
Как играть без игрокаSQALab
 
О фреймворках / Роман Ивлиев (Банки.ру)
О фреймворках / Роман Ивлиев (Банки.ру)О фреймворках / Роман Ивлиев (Банки.ру)
О фреймворках / Роман Ивлиев (Банки.ру)Ontico
 
DaKiRY_BAQ2016_QADay_Круглий стіл: "Чи помре ручне тестування з часом" Учасни...
DaKiRY_BAQ2016_QADay_Круглий стіл: "Чи помре ручне тестування з часом" Учасни...DaKiRY_BAQ2016_QADay_Круглий стіл: "Чи помре ручне тестування з часом" Учасни...
DaKiRY_BAQ2016_QADay_Круглий стіл: "Чи помре ручне тестування з часом" Учасни...Dakiry
 
Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...
Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...
Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...Mail.ru Group
 
UICov - инструмент анализа покрытия UI-тестами
UICov - инструмент анализа покрытия UI-тестамиUICov - инструмент анализа покрытия UI-тестами
UICov - инструмент анализа покрытия UI-тестамиSQALab
 
Всему своё время Highload Junior 2016
Всему своё время   Highload Junior  2016Всему своё время   Highload Junior  2016
Всему своё время Highload Junior 2016Roman Ivliev
 
Как писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромКак писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромKirill Kovalchuk
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Ontico
 
О фреймворках Backend conf 2016
О фреймворках Backend conf 2016О фреймворках Backend conf 2016
О фреймворках Backend conf 2016Roman Ivliev
 
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...ScrumTrek
 
CodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest 2011. Макаров А. — Как разрабатывается YiiCodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest 2011. Макаров А. — Как разрабатывается YiiCodeFest
 
Автоматизация тестирования как сервис
Автоматизация тестирования как сервисАвтоматизация тестирования как сервис
Автоматизация тестирования как сервисautomated-testing.info
 
Devconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк YiiDevconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк YiiAlexander Makarov
 
Вавилонское тестировтворение - Алекскей Лупан
Вавилонское тестировтворение - Алекскей ЛупанВавилонское тестировтворение - Алекскей Лупан
Вавилонское тестировтворение - Алекскей ЛупанQA Dnepropetrovsk Community (Ukraine)
 
Serghei Iakovlev "Chaos engineering in action"
Serghei Iakovlev "Chaos engineering in action"Serghei Iakovlev "Chaos engineering in action"
Serghei Iakovlev "Chaos engineering in action"Fwdays
 

Was ist angesagt? (20)

Why it is not working
Why it is not workingWhy it is not working
Why it is not working
 
“Обезьянье тестирование” в мобильных проектах
“Обезьянье тестирование” в мобильных проектах“Обезьянье тестирование” в мобильных проектах
“Обезьянье тестирование” в мобильных проектах
 
Что такое Robot Framework?
Что такое Robot Framework?Что такое Robot Framework?
Что такое Robot Framework?
 
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
 
Как играть без игрока
Как играть без игрокаКак играть без игрока
Как играть без игрока
 
О фреймворках / Роман Ивлиев (Банки.ру)
О фреймворках / Роман Ивлиев (Банки.ру)О фреймворках / Роман Ивлиев (Банки.ру)
О фреймворках / Роман Ивлиев (Банки.ру)
 
DaKiRY_BAQ2016_QADay_Круглий стіл: "Чи помре ручне тестування з часом" Учасни...
DaKiRY_BAQ2016_QADay_Круглий стіл: "Чи помре ручне тестування з часом" Учасни...DaKiRY_BAQ2016_QADay_Круглий стіл: "Чи помре ручне тестування з часом" Учасни...
DaKiRY_BAQ2016_QADay_Круглий стіл: "Чи помре ручне тестування з часом" Учасни...
 
Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...
Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...
Максим Богуславский, Banki.ru, «Как вырастить в себе автоматизатора и разрабо...
 
UICov - инструмент анализа покрытия UI-тестами
UICov - инструмент анализа покрытия UI-тестамиUICov - инструмент анализа покрытия UI-тестами
UICov - инструмент анализа покрытия UI-тестами
 
Всему своё время Highload Junior 2016
Всему своё время   Highload Junior  2016Всему своё время   Highload Junior  2016
Всему своё время Highload Junior 2016
 
Как писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромКак писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодером
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
 
О фреймворках Backend conf 2016
О фреймворках Backend conf 2016О фреймворках Backend conf 2016
О фреймворках Backend conf 2016
 
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
 
CodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest 2011. Макаров А. — Как разрабатывается YiiCodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest 2011. Макаров А. — Как разрабатывается Yii
 
Как разраба
Как разрабаКак разраба
Как разраба
 
Автоматизация тестирования как сервис
Автоматизация тестирования как сервисАвтоматизация тестирования как сервис
Автоматизация тестирования как сервис
 
Devconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк YiiDevconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк Yii
 
Вавилонское тестировтворение - Алекскей Лупан
Вавилонское тестировтворение - Алекскей ЛупанВавилонское тестировтворение - Алекскей Лупан
Вавилонское тестировтворение - Алекскей Лупан
 
Serghei Iakovlev "Chaos engineering in action"
Serghei Iakovlev "Chaos engineering in action"Serghei Iakovlev "Chaos engineering in action"
Serghei Iakovlev "Chaos engineering in action"
 

Andere mochten auch

Как расширять Robot Framework под свои нужны с помощью Python?
Как расширять Robot Framework под свои нужны с помощью Python? Как расширять Robot Framework под свои нужны с помощью Python?
Как расширять Robot Framework под свои нужны с помощью Python? Mykhailo Poliarush
 
Швейцарский нож для Android
Швейцарский нож для AndroidШвейцарский нож для Android
Швейцарский нож для Androidautomated-testing.info
 
Тестирование производительности Ajax приложений с помощью JMeter
Тестирование производительности Ajax приложений с помощью JMeterТестирование производительности Ajax приложений с помощью JMeter
Тестирование производительности Ajax приложений с помощью JMeterautomated-testing.info
 
Robot Framework Introduction
Robot Framework IntroductionRobot Framework Introduction
Robot Framework IntroductionPekka Klärck
 
Robot Framework Dos And Don'ts
Robot Framework Dos And Don'tsRobot Framework Dos And Don'ts
Robot Framework Dos And Don'tsPekka Klärck
 
How to write locators xpath css?
How to write locators xpath css?How to write locators xpath css?
How to write locators xpath css?Mykhailo Poliarush
 
Александр Кабалюк – SilkTest
Александр Кабалюк – SilkTestАлександр Кабалюк – SilkTest
Александр Кабалюк – SilkTestautomated-testing.info
 
Философия и построение тестового фреймворка на основе BDD в PHP проектах
Философия и построение тестового фреймворка на основе BDD в PHP проектахФилософия и построение тестового фреймворка на основе BDD в PHP проектах
Философия и построение тестового фреймворка на основе BDD в PHP проектахautomated-testing.info
 
Easy selenium test automation on python
Easy selenium test automation on pythonEasy selenium test automation on python
Easy selenium test automation on pythonMykhailo Poliarush
 
В поисках магической кнопки или как приручить SOAP UI
В поисках магической кнопки или как приручить SOAP UIВ поисках магической кнопки или как приручить SOAP UI
В поисках магической кнопки или как приручить SOAP UIautomated-testing.info
 
автоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Seleniumавтоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Seleniumvyacheslavmaslov
 
Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?
Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?
Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?SQALab
 
Типичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriverТипичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriverIgor Khrol
 

Andere mochten auch (17)

Introduction to Robot Framework
Introduction to Robot FrameworkIntroduction to Robot Framework
Introduction to Robot Framework
 
Как расширять Robot Framework под свои нужны с помощью Python?
Как расширять Robot Framework под свои нужны с помощью Python? Как расширять Robot Framework под свои нужны с помощью Python?
Как расширять Robot Framework под свои нужны с помощью Python?
 
Codeception - WTF?
Codeception - WTF?Codeception - WTF?
Codeception - WTF?
 
Швейцарский нож для Android
Швейцарский нож для AndroidШвейцарский нож для Android
Швейцарский нож для Android
 
Тестирование производительности Ajax приложений с помощью JMeter
Тестирование производительности Ajax приложений с помощью JMeterТестирование производительности Ajax приложений с помощью JMeter
Тестирование производительности Ajax приложений с помощью JMeter
 
Robot Framework Introduction
Robot Framework IntroductionRobot Framework Introduction
Robot Framework Introduction
 
Robot Framework Dos And Don'ts
Robot Framework Dos And Don'tsRobot Framework Dos And Don'ts
Robot Framework Dos And Don'ts
 
How to write locators xpath css?
How to write locators xpath css?How to write locators xpath css?
How to write locators xpath css?
 
Александр Кабалюк – SilkTest
Александр Кабалюк – SilkTestАлександр Кабалюк – SilkTest
Александр Кабалюк – SilkTest
 
Философия и построение тестового фреймворка на основе BDD в PHP проектах
Философия и построение тестового фреймворка на основе BDD в PHP проектахФилософия и построение тестового фреймворка на основе BDD в PHP проектах
Философия и построение тестового фреймворка на основе BDD в PHP проектах
 
За пределами PageObject
За пределами PageObjectЗа пределами PageObject
За пределами PageObject
 
Easy selenium test automation on python
Easy selenium test automation on pythonEasy selenium test automation on python
Easy selenium test automation on python
 
В поисках магической кнопки или как приручить SOAP UI
В поисках магической кнопки или как приручить SOAP UIВ поисках магической кнопки или как приручить SOAP UI
В поисках магической кнопки или как приручить SOAP UI
 
автоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Seleniumавтоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Selenium
 
Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?
Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?
Тестирование на основе моделей: "ужас-ужас" или всё не так страшно?
 
Типичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriverТипичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriver
 
JavaCro'14 - Test Automation using RobotFramework Libraries – Stojan Peshov
JavaCro'14 - Test Automation using RobotFramework Libraries – Stojan PeshovJavaCro'14 - Test Automation using RobotFramework Libraries – Stojan Peshov
JavaCro'14 - Test Automation using RobotFramework Libraries – Stojan Peshov
 

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

Контроль за качеством кода
Контроль за качеством кодаКонтроль за качеством кода
Контроль за качеством кодаКирилл Борисов
 
Python-технология которую легко продавать!
Python-технология которую легко продавать!Python-технология которую легко продавать!
Python-технология которую легко продавать!Aleksey Nakorenko
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Ontico
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Ontico
 
Как жить в согласии с SOLID?
Как жить в согласии с SOLID?Как жить в согласии с SOLID?
Как жить в согласии с SOLID?DotNetConf
 
InterSystems Community and Projects in CIS November 2015
InterSystems Community and Projects in CIS November 2015InterSystems Community and Projects in CIS November 2015
InterSystems Community and Projects in CIS November 2015InterSystems
 
Дикие микросервисы на JUG Екатеринбург
Дикие микросервисы на JUG ЕкатеринбургДикие микросервисы на JUG Екатеринбург
Дикие микросервисы на JUG ЕкатеринбургКирилл Толкачёв
 
Рейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаРейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаSkillsWiki
 
Рейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаРейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаgeekfamilyrussia
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.ScrumTrek
 
BlackBox testing
BlackBox testingBlackBox testing
BlackBox testingbeched
 
Когда технологий много - iForum 2013
Когда технологий много - iForum 2013Когда технологий много - iForum 2013
Когда технологий много - iForum 2013Andrey Listochkin
 
Разработка веб-сервисов осень 2013 лекция 8
Разработка веб-сервисов осень 2013 лекция 8Разработка веб-сервисов осень 2013 лекция 8
Разработка веб-сервисов осень 2013 лекция 8Technopark
 
Вячеслав Бахмутов
Вячеслав БахмутовВячеслав Бахмутов
Вячеслав БахмутовCodeFest
 
Aspect-Oriented Programming in PHP
Aspect-Oriented Programming in PHPAspect-Oriented Programming in PHP
Aspect-Oriented Programming in PHPAlexander Lisachenko
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практикеDenis Tuchin
 
Почему стоит выбрать PHP
Почему стоит выбрать PHPПочему стоит выбрать PHP
Почему стоит выбрать PHPMaxim Sivokon
 
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...SECON
 
Проблемы и пути их решения при командной разработке проектов
Проблемы и пути их решения при командной разработке проектовПроблемы и пути их решения при командной разработке проектов
Проблемы и пути их решения при командной разработке проектовАгентство AlterEGO
 

Ähnlich wie Быстрое расширение Robot Framework под свои нужды с использованием Python (20)

Wild microservices and imaginary DevOps
Wild microservices and imaginary DevOpsWild microservices and imaginary DevOps
Wild microservices and imaginary DevOps
 
Контроль за качеством кода
Контроль за качеством кодаКонтроль за качеством кода
Контроль за качеством кода
 
Python-технология которую легко продавать!
Python-технология которую легко продавать!Python-технология которую легко продавать!
Python-технология которую легко продавать!
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013
 
Как жить в согласии с SOLID?
Как жить в согласии с SOLID?Как жить в согласии с SOLID?
Как жить в согласии с SOLID?
 
InterSystems Community and Projects in CIS November 2015
InterSystems Community and Projects in CIS November 2015InterSystems Community and Projects in CIS November 2015
InterSystems Community and Projects in CIS November 2015
 
Дикие микросервисы на JUG Екатеринбург
Дикие микросервисы на JUG ЕкатеринбургДикие микросервисы на JUG Екатеринбург
Дикие микросервисы на JUG Екатеринбург
 
Рейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаРейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчика
 
Рейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаРейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчика
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.
 
BlackBox testing
BlackBox testingBlackBox testing
BlackBox testing
 
Когда технологий много - iForum 2013
Когда технологий много - iForum 2013Когда технологий много - iForum 2013
Когда технологий много - iForum 2013
 
Разработка веб-сервисов осень 2013 лекция 8
Разработка веб-сервисов осень 2013 лекция 8Разработка веб-сервисов осень 2013 лекция 8
Разработка веб-сервисов осень 2013 лекция 8
 
Вячеслав Бахмутов
Вячеслав БахмутовВячеслав Бахмутов
Вячеслав Бахмутов
 
Aspect-Oriented Programming in PHP
Aspect-Oriented Programming in PHPAspect-Oriented Programming in PHP
Aspect-Oriented Programming in PHP
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
Почему стоит выбрать PHP
Почему стоит выбрать PHPПочему стоит выбрать PHP
Почему стоит выбрать PHP
 
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
SECON'2016. Тюменцев Евгений, Разработка надежных параллельных, распределенны...
 
Проблемы и пути их решения при командной разработке проектов
Проблемы и пути их решения при командной разработке проектовПроблемы и пути их решения при командной разработке проектов
Проблемы и пути их решения при командной разработке проектов
 

Mehr von automated-testing.info

Andrey Azimov - Как найти работу тестировщику?
Andrey Azimov - Как найти работу тестировщику?Andrey Azimov - Как найти работу тестировщику?
Andrey Azimov - Как найти работу тестировщику?automated-testing.info
 
Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...
Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...
Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...automated-testing.info
 
Alexei Zozulenko - Test automation failure
Alexei Zozulenko - Test automation failureAlexei Zozulenko - Test automation failure
Alexei Zozulenko - Test automation failureautomated-testing.info
 
Vladimir Primakov - Test Automation By Example
Vladimir Primakov - Test Automation By ExampleVladimir Primakov - Test Automation By Example
Vladimir Primakov - Test Automation By Exampleautomated-testing.info
 
Alexander Zvonov Test Automation Story
Alexander Zvonov Test Automation StoryAlexander Zvonov Test Automation Story
Alexander Zvonov Test Automation Storyautomated-testing.info
 
Daria Chernishova Test Automation Story
Daria Chernishova Test Automation StoryDaria Chernishova Test Automation Story
Daria Chernishova Test Automation Storyautomated-testing.info
 
Bdd with java using concordion and selenium ui tests
Bdd with java using concordion and selenium ui testsBdd with java using concordion and selenium ui tests
Bdd with java using concordion and selenium ui testsautomated-testing.info
 
Автоматизация тестирования веб-сервисов посредством SOAP UI
Автоматизация тестирования веб-сервисов посредством SOAP UIАвтоматизация тестирования веб-сервисов посредством SOAP UI
Автоматизация тестирования веб-сервисов посредством SOAP UIautomated-testing.info
 

Mehr von automated-testing.info (15)

Andrey Azimov - Как найти работу тестировщику?
Andrey Azimov - Как найти работу тестировщику?Andrey Azimov - Как найти работу тестировщику?
Andrey Azimov - Как найти работу тестировщику?
 
Jenkins auto configureforbranch-php
Jenkins auto configureforbranch-phpJenkins auto configureforbranch-php
Jenkins auto configureforbranch-php
 
Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...
Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...
Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...
 
Alexei Zozulenko - Test automation failure
Alexei Zozulenko - Test automation failureAlexei Zozulenko - Test automation failure
Alexei Zozulenko - Test automation failure
 
Vladimir Primakov - Test Automation By Example
Vladimir Primakov - Test Automation By ExampleVladimir Primakov - Test Automation By Example
Vladimir Primakov - Test Automation By Example
 
Codeception Introduction
Codeception IntroductionCodeception Introduction
Codeception Introduction
 
Ivan Bordug Test Automation Story
Ivan Bordug Test Automation StoryIvan Bordug Test Automation Story
Ivan Bordug Test Automation Story
 
Alexander Zvonov Test Automation Story
Alexander Zvonov Test Automation StoryAlexander Zvonov Test Automation Story
Alexander Zvonov Test Automation Story
 
Daria Chernishova Test Automation Story
Daria Chernishova Test Automation StoryDaria Chernishova Test Automation Story
Daria Chernishova Test Automation Story
 
Bdd with java using concordion and selenium ui tests
Bdd with java using concordion and selenium ui testsBdd with java using concordion and selenium ui tests
Bdd with java using concordion and selenium ui tests
 
Bdd + SpecFlow + WatiN
Bdd + SpecFlow + WatiNBdd + SpecFlow + WatiN
Bdd + SpecFlow + WatiN
 
Efficient performance testing
Efficient performance testingEfficient performance testing
Efficient performance testing
 
Qtp Automation and Extensibility
Qtp Automation and ExtensibilityQtp Automation and Extensibility
Qtp Automation and Extensibility
 
Автоматизация тестирования веб-сервисов посредством SOAP UI
Автоматизация тестирования веб-сервисов посредством SOAP UIАвтоматизация тестирования веб-сервисов посредством SOAP UI
Автоматизация тестирования веб-сервисов посредством SOAP UI
 
Page Object Pattern
Page Object PatternPage Object Pattern
Page Object Pattern
 

Быстрое расширение 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