Быстрое расширение robot framework под свои нужды с...

38
atdays.com Robot Framework быстрое расширение под свои потребности Mykhailo Poliarush http://poliarush.com 2013

Upload: automated-testinginfo

Post on 16-Jun-2015

6.503 views

Category:

Technology


0 download

DESCRIPTION

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

TRANSCRIPT

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

atdays.com

Robot Framework быстрое расширение

под свои потребности

Mykhailo Poliarush http://poliarush.com

2013

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

atdays.com #atdays @mpoliarush

Михаил Поляруш

Автоматизатор, консультант и тренер

Основатель atdays.com, automated-testing.info

Фан-автоматизации тестирования ПО и Python

Тренинги и консультации

2

@mpoliarush

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

atdays.com #atdays @mpoliarush

Сейчас

Почему Python?

Что такое Robot Framework?

Какие возможности RF?

Зачем расширять RF?

Как расширять RF c Python?

Будем практиковаться на разных примерах

3

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

atdays.com #atdays @mpoliarush

Цель

4

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

atdays.com #atdays @mpoliarush

Автоматизация –

программирование!

5

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

atdays.com #atdays @mpoliarush

Программирование?!

Скорость

разработки

Гибкость решений

Экосистема

Решение

прикладных задач

6

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

atdays.com #atdays

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

Каждый инструмент и язык программирования надо

рассматривать с разных точек зрения

7

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

atdays.com #atdays @mpoliarush

Почему Python?

8

PHP Ruby PYTHON

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

atdays.com #atdays 9

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

atdays.com #atdays @mpoliarush

Почему Robot Framework?

А может нам подойдет что-то другое?

10

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

atdays.com #atdays @mpoliarush

Почему Robot Framework?

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

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

Python, Java, …

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

11

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

atdays.com #atdays @mpoliarush

Robot Framework

Фреймворк общего назначения

Python

Java

Keyword-driven

Data-driven

BDD

Test Libraries

Доп. инструменты

12

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

atdays.com #atdays @mpoliarush

Возможности RF

Сам фреймворк с различными опциями

RIDE – IDE для разработки тестов

Хорошие отчеты и логирование

Большое количество библиотек

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

14

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

atdays.com #atdays @mpoliarush

Много уже сделано!

15

Builtin Library

Operating

System Library

Telnet Library

Collections Library

String Library

Dialogs Library

Screenshot Library

Remote Library

SeleniumLibrary

Selenium2Library

watir-robot

WatinLibrary

SwingLibrary

EclipseLibrary

AutoItLibrary

DatabaseLibrary

SSHLibrary

HTTPLibrary

ExcelLibrary

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

atdays.com #atdays @mpoliarush

Небольшое ДЕМО

Создаем тест

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

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

18

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

atdays.com #atdays @mpoliarush

Нет ничего сложного

Автоматизация без

программирования

Очень просто

разрабатывать такие

тесты

А если нет

библиотеки, которая

нам нужна?

19

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

atdays.com #atdays

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

Умеешь программировать,

сможешь решить любую автоматизацию! Это точно!

20

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

atdays.com #atdays @mpoliarush

Потребность

Всегда нужно что-то программировать

Как это сделать быстро?

Использовать легкие языки высокого уровня

21

У нас уже

есть 100500

тестов, а

надо еще

один, но

«хитрый», как

добавить?

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

atdays.com #atdays @mpoliarush

Python, java или …?

Robot Framework поддерживает разные ЯП

Python и Java основные

Остальные ЯП можно подключить через RemoteLibrary

Выбор на вкус и цвет

Но Python лучше

22

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

atdays.com #atdays 23

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

atdays.com #atdays @mpoliarush

Выполняем небольшую задачу

Есть список 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

24

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

atdays.com #atdays 25

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

atdays.com #atdays

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

Robot Framework позволяет быстро и легко

добавить свою библиотеку без всяких пробем

27

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

atdays.com #atdays @mpoliarush

Комплексная среда

28

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

atdays.com #atdays @mpoliarush

Не изобретаем велосипед!

29

Builtin Library

Operating System

Library

Telnet Library

Collections Library

String Library

Dialogs Library

Screenshot Library

Remote Library

SeleniumLibrary

Selenium2Library

watir-robot

WatinLibrary

SwingLibrary

EclipseLibrary

AutoItLibrary

DatabaseLibrary

SSHLibrary

HTTPLibrary

ExcelLibrary

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

atdays.com #atdays @mpoliarush

Общая схема

Создаем python библиотеку (файл)

Подключаем библиотеку

Используем интерфейс библиотеки

в тестах

30

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

atdays.com #atdays

Варианты

Через функции

Функция – это кейворд

Через класс

Метод – это кейворд

31

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

atdays.com #atdays @mpoliarush

Простой пример?

Создаем библиотеку

Делаем кейворд в виде функции

Печатает hello world

Подключаем библиотеку

Используем кейворды

32

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

atdays.com #atdays @mpoliarush

Демо

33

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

atdays.com #atdays @mpoliarush

Сложный пример?

Создаем библиотеку

Реализуем поиск данных или веб-автоматизацию с помощью классов

Подключаем библиотеку

Используем кейворды

34

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

atdays.com #atdays @mpoliarush

Демо

35

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

atdays.com #atdays @mpoliarush

И что нам с этого?

Вы можете использовать неограниченные возможности языка

программирования

И автоматизировать любые задачи, которые Вам необходимо

Все ограничения - ограничения языка программирования, а не Robot Framework

36

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

atdays.com #atdays @mpoliarush

Примеры на GitHub

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

37

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

atdays.com #atdays @mpoliarush

В общем Robot Framework

Robot Framework – отличный фреймворк для автоматизации keyword-driven, data-driven и BDD тестов

Большой выбор уже сделанных библиотек

Хорошо подходит для программ с разными видами интерфейсов

Легко расширяется с помощью Python или Java или любого другого языка

Легкое и быстрое развертывание

Активное сообщество

39

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

atdays.com #atdays @mpoliarush

Своя библиотека - просто!

Создаем python библиотеку (файл)

Подключаем библиотеку

Используем интерфейс библиотеки

в тестах

40

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

atdays.com #atdays @mpoliarush

Что нужно, чтобы научиться программировать на Python?

Читайте книги

Посещайте тренинги и курсы

Тренируйтесь и практикуйтесь

41

Mark Lutz David M. Beazley Doug Hellmann

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

atdays.com #atdays @mpoliarush

Python и RF Вам в помощь!

Используйте Robot Framework

Программируете на Рython

Решайте Ваши задачи

42

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

atdays.com

Михаил Поляруш Тренер и практикующий

консультант по автоматизации тестирования ПО

43

@mpoliarush http://poliarush.com