Автоматизация и selenium ide

31
Введение в автоматизацию тестирования И Основы работы с Selenium IDE

Post on 22-Oct-2014

1.300 views

Category:

Documents


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Автоматизация и Selenium IDE

Введение в автоматизацию тестирования

И

Основы работы с Selenium IDE

Page 2: Автоматизация и Selenium IDE

Автоматизация тестирования (test automation) – набор техник, подходов и инструментальных средств, позволяющий исключить человека из выполнения НЕКОТОРЫХ задач в процессе тестирования.

Инструментальное средство автоматизированного тестирования (test automation tool) – программа (или набор программ), позволяющая создавать, редактировать, отлаживать и выполнять автоматизированные тесты, а также собирать статистику их выполнения.

Основные определения

Page 3: Автоматизация и Selenium IDE

Одной из наиболее распространённых и простых для понимания технологий автоматизации тестирования является технология Record&Playback («Записать и воспроизвести»).

Суть её заключается в том, что средство автоматизации тестирования позволяет выполнить с тестируемым приложением некоторый набор действий, которые будут записаны на специальном языке программирования, а затем могут быть воспроизведены.

Технология Record & Playback

Page 4: Автоматизация и Selenium IDE

Инструментальное средство

Selenium IDE

http://s

elenium2.ru/docs.htm

l

Page 5: Автоматизация и Selenium IDE

Selenium IDE – интегрированная среда для разработки и выполнения скриптов, представленная в виде плагина для браузера FireFox.

Свежая версия всегда доступна

по адресу:

http://seleniumhq.org/projects/ide/

Page 6: Автоматизация и Selenium IDE

Операционные системы:

Windows, Linux, OS X, Solaris

Языки программирования:PHP, Perl, Java, C#, Python, Ruby

Браузеры:Firefox, IE , Safari , Opera, Chrome

Selenium IDE поддерживает

Page 7: Автоматизация и Selenium IDE

После установки плагин Selenium IDE доступен в браузере FireFox в разделе «Инструменты» («Tools»):

Запуск Selenium IDE

Page 8: Автоматизация и Selenium IDE

Поле «Command» содержит команду («что необходимо сделать»)

Поле «Target» указывает целевой элемент («с чем это сделать»)

Поле «Value» содержит значение, с которым выполняется некоторая операция.

Ключевые поля Selenium IDE

Page 9: Автоматизация и Selenium IDE

1. Открыть «http://tut.by»

2. Кликнуть «Все ресурсы»

3. Кликнуть «Новости IT»

Пример

Page 10: Автоматизация и Selenium IDE

4. Ввести «ISSOFT»

5. Кликнуть «Найти»

Пример

Page 11: Автоматизация и Selenium IDE

Пример

Page 12: Автоматизация и Selenium IDE

Поле «Command» содержит указание того, что необходимо выполнить на данном шаге теста.

Ключевые поля: command

Page 13: Автоматизация и Selenium IDE

Примеры действий (actions):

open

click

type

clickAndWait

Ошибка (невозможность) выполнения любой из этих команд приводит к остановке теста!

Ключевые поля: command, действия

Page 14: Автоматизация и Selenium IDE

Проверки используются для анализа состояния веб-ориентированного приложения.

Например, можно проверять наличие того или иного элемента страницы, значение того или иного поля и т.п.

Ключевые поля: command, проверки

Page 15: Автоматизация и Selenium IDE

Команды, выполняющие проверку, делятся на два больших класса:• начинающиеся с assert;• начинающиеся с verify.

Ключевые поля: command, проверки

Ошибка assert = тест останавливается.

Ошибка verify = протоколируется факт наличия проблемы и тест продолжается.

Page 16: Автоматизация и Selenium IDE

Два микропримера

Page 17: Автоматизация и Selenium IDE

Существует ещё один класс команд, (начинающихся со слов waitFor или заканчивающихся словами andWait).Эти команды предназначены для работы с элементами, появление или изменение состояния которых требует некоторого времени.

Ошибка (невозможность) выполнения такойкоманды приводит к остановке теста!

Ключевые поля: command, ожидание

Page 18: Автоматизация и Selenium IDE

За ходом и результатом выполнения тестов можно следить с помощью поля log, в котором отражаются все выполняемые Selenium IDE действия.

Ключевые поля: log

Page 19: Автоматизация и Selenium IDE

Поле target указывает, с каким элементом следует выполнить действие.

Ключевые поля: target

Page 20: Автоматизация и Selenium IDE

Указание на элемент, с которым необходимо выполнить действие, производится при помощи т.н. «локаторов» (locator).

Формат локатора таков:

LocatorType = Argument

Ключевые поля: target, локатор

Page 21: Автоматизация и Selenium IDE

Локаторы бывают следующих типов:

•id = ElementID•name = ElementName•link = LinkText•xpath = XPath

Page 22: Автоматизация и Selenium IDE

Локатор вида

id = ElementID

можно (хоть и НЕЖЕЛАТЕЛЬНО) записывать просто в виде ElementID.

Идентификатор элемента нужно смотреть в HTML-коде страницы.

Page 23: Автоматизация и Selenium IDE

Локатор вида

name = ElementName

тоже можно (хоть и ТОЖЕ НЕЖЕЛАТЕЛЬНО) записывать просто в виде ElementName.

Имя элемента тоже нужно смотреть в HTML-коде страницы.

Page 24: Автоматизация и Selenium IDE

Локатор вида

link = LinkText

НЕЛЬЗЯ записывать просто в виде LinkText.

Текст ссылки чаще всего виден «невооружённым глазом», но если посмотреть его в коде – хуже не будет.

Page 25: Автоматизация и Selenium IDE

Лучше НЕ использовать сокращённую форму записи локаторов (это может привести к неоднозначности определения элемента), но если очень хочется…

Можно сокращать локаторы типа id или name, но НЕЛЬЗЯ сокращать локаторы типа link.

Напоминание по локаторам

Page 26: Автоматизация и Selenium IDE

Локатор вида

xpath = XPath

является самым универсальным, но требует понимания XML и непосредственно XPath.

Почитать можно обо всём этом здесь:http://www.w3schools.com/xpath/ http://www.w3.org/TR/xpath/

Page 27: Автоматизация и Selenium IDE

Сразу же после запуска Selenium IDE находится в режиме записи теста, выключать и повторно включать который можно кнопкой в правом верхнем углу окна Selenium IDE.

Запись имеет смысл приостанавливать, если вы выполняете действия, не относящиеся к тесту.

Запись и воспроизведение теста

Page 28: Автоматизация и Selenium IDE

Для выполнения записанного теста есть несколько элементов в левом верхнем углу экрана:• регулятор скорости выполнения;• кнопка выполнения всех тестов;• кнопка выполнения текущего теста.

Page 29: Автоматизация и Selenium IDE

В процессе воспроизведения теста Selenium IDE в реальном времени показывает, успешно ли выполнена та или иная команда:• подсветкой команды зелёным или розовым в списке команд;• сообщениями в логе.

Page 30: Автоматизация и Selenium IDE

Тесты, с которыми впоследствии можно будет продолжить работу в IDE, сохраняются в виде обычной HTML-страницы с определённой структурой.

Для ускорения просмотра их можно открывать в браузере как обычные страницы.

Несколько тестов (сценарий) можно сохранить в виде «тест-сьюта» (test-suite).

Сохранение теста

Page 31: Автоматизация и Selenium IDE

У Selenium IDE есть один серьёзный недостаток –

тесты в нём «линейны» и примитивны. Всё же в нём

нет полноценного языка программирования.

Поэтому для действительно серьёзной работы тест нужно

экспортировать в соответствующий формат.

Экспорт теста