SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
Введение в автоматизацию
тестирования
Автоматизация тестирования (test
automation) – набор техник, подходов и
инструментальных средств, позволяющий
исключить человека из выполнения
НЕКОТОРЫХ задач в процессе
тестирования.
Инструментальное средство
автоматизированного тестирования
(test automation tool) – программа (или
набор программ), позволяющая
создавать, редактировать, отлаживать и
выполнять автоматизированные тесты, а
также собирать статистику их выполнения.
Одной из наиболее распространѐнных и
простых для понимания технологий
автоматизации тестирования является
технология Record&Playback («Записать
и воспроизвести»).
Суть еѐ заключается в том, что средство
автоматизации тестирования позволяет
выполнить с тестируемым приложением
некоторый набор действий, которые
будут записаны на специальном языке
программирования, а затем могут быть
воспроизведены.
Автоматизация и Selenium IDE
Selenium IDE – интегрированная среда для
разработки и выполнения скриптов, представленная
в виде плагина для браузера FireFox.
Свежая версия всегда доступна
по адресу:
http://seleniumhq.org/projects/ide/
Selenium IDE поддерживает
Операционные системы:
Windows,
Linux,
OS X,

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

Solaris

Python,

Ruby

Браузеры:
Firefox,

IE ,

Safari ,

Opera,

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

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

Поле «Value» содержит значение, с которым выполняется некоторая
операция.
1. Открыть
«http://tut.by»

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

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

5. Кликнуть «Найти»
Автоматизация и Selenium IDE
Поле «Command» содержит указание того, что необходимо
выполнить на данном шаге теста.
Примеры действий (actions):

open

click
clickAndWait

type
Ошибка (невозможность) выполнения любой
из этих команд приводит к остановке теста!
Проверки используются для анализа состояния вебориентированного приложения.
Например, можно проверять наличие того или иного
элемента страницы, значение того или иного поля и т.п.
Команды, выполняющие проверку, делятся на
два больших класса:
• начинающиеся с assert;

• начинающиеся с verify.

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

Ошибка verify =
протоколируется
факт наличия
проблемы и тест
продолжается.
Автоматизация и Selenium IDE
Существует ещѐ один класс команд, (начинающихся со
слов waitFor или заканчивающихся словами andWait).
Эти команды предназначены для работы с
элементами, появление или изменение состояния
которых требует некоторого времени.
Ошибка (невозможность) выполнения такой
команды приводит к остановке теста!
За ходом и результатом выполнения тестов можно
следить с помощью поля log, в котором отражаются
все выполняемые Selenium IDE действия.
Поле target
указывает, с каким
элементом следует
выполнить
действие.
Указание на элемент, с которым
необходимо выполнить
действие, производится при
помощи т.н. «локаторов»
(locator).
Формат локатора таков:
LocatorType = Argument
Локаторы бывают следующих типов:
•
•
•
•

id = ElementID
name = ElementName
link = LinkText
xpath = XPath
Локатор вида
id = ElementID
можно (хоть и
НЕЖЕЛАТЕЛЬНО)
записывать просто в виде
ElementID.

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

тоже можно (хоть и ТОЖЕ
НЕЖЕЛАТЕЛЬНО)
записывать просто в виде
ElementName.
Имя элемента тоже нужно
смотреть в HTML-коде
страницы.
Локатор вида
link = LinkText
НЕЛЬЗЯ записывать
просто в виде LinkText.

Текст ссылки чаще всего
виден «невооружѐнным
глазом», но если посмотреть
его в коде – хуже не будет.
Лучше НЕ использовать
сокращѐнную форму
записи локаторов (это
может привести к
неоднозначности
определения
элемента), но если очень
хочется…
Можно сокращать
локаторы типа id или
name, но НЕЛЬЗЯ
сокращать локаторы типа
link.
Локатор вида
xpath = XPath

является самым универсальным, но требует
понимания XML и непосредственно XPath.
Почитать можно обо всѐм этом здесь:
http://www.w3schools.com/xpath/
http://www.w3.org/TR/xpath/
Сразу же после запуска
Selenium IDE находится в
режиме записи
теста, выключать и повторно
включать который можно
кнопкой в правом верхнем
углу окна Selenium IDE.
Запись имеет смысл
приостанавливать, если вы
выполняете действия, не
относящиеся к тесту.
Для выполнения записанного
теста есть несколько
элементов в левом верхнем
углу экрана:
• регулятор скорости
выполнения;
• кнопка выполнения всех
тестов;
• кнопка выполнения
текущего теста.
В процессе воспроизведения
теста Selenium IDE в
реальном времени
показывает, успешно ли
выполнена та или иная
команда:
• подсветкой команды
зелѐным или розовым в
списке команд;
• сообщениями в логе.
Тесты, с которыми
впоследствии можно будет
продолжить работу в
IDE, сохраняются в виде
обычной HTML-страницы с
определѐнной структурой.
Для ускорения просмотра их
можно открывать в браузере
как обычные страницы.
Несколько тестов (сценарий)
можно сохранить в виде
«тест-сьюта» (test-suite).
У Selenium IDE есть один
серьѐзный недостаток –
тесты в нѐм «линейны» и
примитивны. Всѐ же в нѐм
нет полноценного языка
программирования.
Поэтому для действительно
серьѐзной работы тест нужно
экспортировать в
соответствующий формат.

Weitere ähnliche Inhalte

Was ist angesagt?

모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)Jongwon Kim
 
String Builder & String Buffer (Java Programming)
String Builder & String Buffer (Java Programming)String Builder & String Buffer (Java Programming)
String Builder & String Buffer (Java Programming)Anwar Hasan Shuvo
 
Java Foundations: Basic Syntax, Conditions, Loops
Java Foundations: Basic Syntax, Conditions, LoopsJava Foundations: Basic Syntax, Conditions, Loops
Java Foundations: Basic Syntax, Conditions, LoopsSvetlin Nakov
 
System testing
System testingSystem testing
System testingMani Kanth
 
Java class,object,method introduction
Java class,object,method introductionJava class,object,method introduction
Java class,object,method introductionSohanur63
 
Java Presentation For Syntax
Java Presentation For SyntaxJava Presentation For Syntax
Java Presentation For SyntaxPravinYalameli
 
Software testing and game testing
Software testing and game testingSoftware testing and game testing
Software testing and game testingJohan Hoberg
 
Software Testing
Software TestingSoftware Testing
Software TestingAbdul Basit
 
Deriving testcases
Deriving testcasesDeriving testcases
Deriving testcasesMajd Uddin
 
Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)Sauce Labs
 
Java Presentation
Java PresentationJava Presentation
Java Presentationaitrichtech
 
Features of JAVA Programming Language.
Features of JAVA Programming Language.Features of JAVA Programming Language.
Features of JAVA Programming Language.Bhautik Jethva
 

Was ist angesagt? (20)

모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)
 
Core java slides
Core java slidesCore java slides
Core java slides
 
String Builder & String Buffer (Java Programming)
String Builder & String Buffer (Java Programming)String Builder & String Buffer (Java Programming)
String Builder & String Buffer (Java Programming)
 
Java Foundations: Basic Syntax, Conditions, Loops
Java Foundations: Basic Syntax, Conditions, LoopsJava Foundations: Basic Syntax, Conditions, Loops
Java Foundations: Basic Syntax, Conditions, Loops
 
System testing
System testingSystem testing
System testing
 
C sharp
C sharpC sharp
C sharp
 
Java class,object,method introduction
Java class,object,method introductionJava class,object,method introduction
Java class,object,method introduction
 
Core java
Core java Core java
Core java
 
Java Presentation For Syntax
Java Presentation For SyntaxJava Presentation For Syntax
Java Presentation For Syntax
 
Software testing and game testing
Software testing and game testingSoftware testing and game testing
Software testing and game testing
 
Software testing
Software testingSoftware testing
Software testing
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Test Complete
Test CompleteTest Complete
Test Complete
 
Deriving testcases
Deriving testcasesDeriving testcases
Deriving testcases
 
Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)
 
Active x control
Active x controlActive x control
Active x control
 
Java Presentation
Java PresentationJava Presentation
Java Presentation
 
Asp net
Asp netAsp net
Asp net
 
White Box Testing
White Box Testing White Box Testing
White Box Testing
 
Features of JAVA Programming Language.
Features of JAVA Programming Language.Features of JAVA Programming Language.
Features of JAVA Programming Language.
 

Andere mochten auch

(Seleniumcamp) Selenium IDE как артефакт пикника на обочине
(Seleniumcamp) Selenium IDE как артефакт пикника на обочине(Seleniumcamp) Selenium IDE как артефакт пикника на обочине
(Seleniumcamp) Selenium IDE как артефакт пикника на обочинеAlexei Lupan
 
Selenium: начало работы
Selenium: начало работыSelenium: начало работы
Selenium: начало работыPaul Stashevsky
 
XPath локаторы в Selenium WebDriver
XPath локаторы в Selenium WebDriverXPath локаторы в Selenium WebDriver
XPath локаторы в Selenium WebDriverИлья Кожухов
 
Webium: Page Objects in Python
Webium: Page Objects in PythonWebium: Page Objects in Python
Webium: Page Objects in PythonIgor Khrol
 
QA Fest 2014. Алексей Лупан. Не тест-кейсы красят тестировщика, а...
QA Fest 2014. Алексей Лупан. Не тест-кейсы красят тестировщика, а...QA Fest 2014. Алексей Лупан. Не тест-кейсы красят тестировщика, а...
QA Fest 2014. Алексей Лупан. Не тест-кейсы красят тестировщика, а...QAFest
 
Бытовая классификация тестировщиков с точки зрения разработчика
Бытовая классификация тестировщиков с точки зрения разработчикаБытовая классификация тестировщиков с точки зрения разработчика
Бытовая классификация тестировщиков с точки зрения разработчикаMikalai Alimenkou
 
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под WindowsWinium — это как Selenium, только под Windows
Winium — это как Selenium, только под WindowsSQALab
 
Test Automation Wargaming SQA Days 17
Test Automation Wargaming SQA Days 17Test Automation Wargaming SQA Days 17
Test Automation Wargaming SQA Days 17Igor Khrol
 
Мелочь пузатая или Объем тест кейса против его содержательности
Мелочь пузатая или Объем тест кейса против его содержательностиМелочь пузатая или Объем тест кейса против его содержательности
Мелочь пузатая или Объем тест кейса против его содержательностиAlexei Lupan
 
Тренировка служебных тестировщиков
Тренировка служебных тестировщиковТренировка служебных тестировщиков
Тренировка служебных тестировщиковSQALab
 
Grammarly Test Club#2. Выступление Алексея Лупана (SysIQ, Inc.): "Без тест-ке...
Grammarly Test Club#2. Выступление Алексея Лупана (SysIQ, Inc.): "Без тест-ке...Grammarly Test Club#2. Выступление Алексея Лупана (SysIQ, Inc.): "Без тест-ке...
Grammarly Test Club#2. Выступление Алексея Лупана (SysIQ, Inc.): "Без тест-ке...GTestClub
 

Andere mochten auch (11)

(Seleniumcamp) Selenium IDE как артефакт пикника на обочине
(Seleniumcamp) Selenium IDE как артефакт пикника на обочине(Seleniumcamp) Selenium IDE как артефакт пикника на обочине
(Seleniumcamp) Selenium IDE как артефакт пикника на обочине
 
Selenium: начало работы
Selenium: начало работыSelenium: начало работы
Selenium: начало работы
 
XPath локаторы в Selenium WebDriver
XPath локаторы в Selenium WebDriverXPath локаторы в Selenium WebDriver
XPath локаторы в Selenium WebDriver
 
Webium: Page Objects in Python
Webium: Page Objects in PythonWebium: Page Objects in Python
Webium: Page Objects in Python
 
QA Fest 2014. Алексей Лупан. Не тест-кейсы красят тестировщика, а...
QA Fest 2014. Алексей Лупан. Не тест-кейсы красят тестировщика, а...QA Fest 2014. Алексей Лупан. Не тест-кейсы красят тестировщика, а...
QA Fest 2014. Алексей Лупан. Не тест-кейсы красят тестировщика, а...
 
Бытовая классификация тестировщиков с точки зрения разработчика
Бытовая классификация тестировщиков с точки зрения разработчикаБытовая классификация тестировщиков с точки зрения разработчика
Бытовая классификация тестировщиков с точки зрения разработчика
 
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под WindowsWinium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
 
Test Automation Wargaming SQA Days 17
Test Automation Wargaming SQA Days 17Test Automation Wargaming SQA Days 17
Test Automation Wargaming SQA Days 17
 
Мелочь пузатая или Объем тест кейса против его содержательности
Мелочь пузатая или Объем тест кейса против его содержательностиМелочь пузатая или Объем тест кейса против его содержательности
Мелочь пузатая или Объем тест кейса против его содержательности
 
Тренировка служебных тестировщиков
Тренировка служебных тестировщиковТренировка служебных тестировщиков
Тренировка служебных тестировщиков
 
Grammarly Test Club#2. Выступление Алексея Лупана (SysIQ, Inc.): "Без тест-ке...
Grammarly Test Club#2. Выступление Алексея Лупана (SysIQ, Inc.): "Без тест-ке...Grammarly Test Club#2. Выступление Алексея Лупана (SysIQ, Inc.): "Без тест-ке...
Grammarly Test Club#2. Выступление Алексея Лупана (SysIQ, Inc.): "Без тест-ке...
 

Ähnlich wie Автоматизация и Selenium IDE

Руководство по приготовлению бутербродов из Selenium
Руководство по приготовлению бутербродов из SeleniumРуководство по приготовлению бутербродов из Selenium
Руководство по приготовлению бутербродов из SeleniumUladzimir Kryvenka
 
метод организации репозитория исходного кода
метод организации репозитория исходного кодаметод организации репозитория исходного кода
метод организации репозитория исходного кодаSergii Shmarkatiuk
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGДмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGDataArt
 
ClubQA #2. Unit testing and TDD
ClubQA #2. Unit testing and TDDClubQA #2. Unit testing and TDD
ClubQA #2. Unit testing and TDDClub QA Kostroma
 
Unit testing and TDD
Unit testing and TDDUnit testing and TDD
Unit testing and TDDIosif Itkin
 
Построение систем автоматического протоколирования Си/Си++ кода
Построение систем автоматического протоколирования Си/Си++ кодаПостроение систем автоматического протоколирования Си/Си++ кода
Построение систем автоматического протоколирования Си/Си++ кодаTatyanazaxarova
 
Getting Tested: методология интеграционного тестирования
Getting Tested: методология интеграционного тестированияGetting Tested: методология интеграционного тестирования
Getting Tested: методология интеграционного тестированияAlexander Byndyu
 
основы ооп на языке C#. часть 1. введение в программирование
основы ооп на языке C#. часть 1. введение в программированиеосновы ооп на языке C#. часть 1. введение в программирование
основы ооп на языке C#. часть 1. введение в программированиеYakubovichDA
 
Плюсы и минусы автоматизации, пример из жизни
Плюсы и минусы автоматизации, пример из жизниПлюсы и минусы автоматизации, пример из жизни
Плюсы и минусы автоматизации, пример из жизниz-tech
 
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?sqadays8
 
Отладка веб-приложений на Javascript
Отладка веб-приложений на JavascriptОтладка веб-приложений на Javascript
Отладка веб-приложений на JavascriptDenis Latushkin
 
Введение в Microsoft Silverlight 3.0
Введение в Microsoft Silverlight 3.0Введение в Microsoft Silverlight 3.0
Введение в Microsoft Silverlight 3.0akrakovetsky
 
Автоматизация тестирования iOS приложений: от идеи к готовому решению
Автоматизация тестирования iOS приложений: от идеи к готовому решениюАвтоматизация тестирования iOS приложений: от идеи к готовому решению
Автоматизация тестирования iOS приложений: от идеи к готовому решениюSQALab
 
Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...jazzteam
 
Приемочные тесты на огурце
Приемочные тесты на огурцеПриемочные тесты на огурце
Приемочные тесты на огурцеAlexander Byndyu
 
Custom Language Plugin for JetBrains IDEA
Custom Language Plugin for JetBrains IDEACustom Language Plugin for JetBrains IDEA
Custom Language Plugin for JetBrains IDEAAlexander Zastashkov
 

Ähnlich wie Автоматизация и Selenium IDE (20)

Руководство по приготовлению бутербродов из Selenium
Руководство по приготовлению бутербродов из SeleniumРуководство по приготовлению бутербродов из Selenium
Руководство по приготовлению бутербродов из Selenium
 
метод организации репозитория исходного кода
метод организации репозитория исходного кодаметод организации репозитория исходного кода
метод организации репозитория исходного кода
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGДмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
 
ClubQA #2. Unit testing and TDD
ClubQA #2. Unit testing and TDDClubQA #2. Unit testing and TDD
ClubQA #2. Unit testing and TDD
 
Unit testing and TDD
Unit testing and TDDUnit testing and TDD
Unit testing and TDD
 
UI+unit testing in iOS
UI+unit testing in iOSUI+unit testing in iOS
UI+unit testing in iOS
 
Построение систем автоматического протоколирования Си/Си++ кода
Построение систем автоматического протоколирования Си/Си++ кодаПостроение систем автоматического протоколирования Си/Си++ кода
Построение систем автоматического протоколирования Си/Си++ кода
 
Getting Tested: методология интеграционного тестирования
Getting Tested: методология интеграционного тестированияGetting Tested: методология интеграционного тестирования
Getting Tested: методология интеграционного тестирования
 
основы ооп на языке C#. часть 1. введение в программирование
основы ооп на языке C#. часть 1. введение в программированиеосновы ооп на языке C#. часть 1. введение в программирование
основы ооп на языке C#. часть 1. введение в программирование
 
Genome
GenomeGenome
Genome
 
Плюсы и минусы автоматизации, пример из жизни
Плюсы и минусы автоматизации, пример из жизниПлюсы и минусы автоматизации, пример из жизни
Плюсы и минусы автоматизации, пример из жизни
 
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
 
Qt tool evaluation
Qt tool evaluationQt tool evaluation
Qt tool evaluation
 
Отладка веб-приложений на Javascript
Отладка веб-приложений на JavascriptОтладка веб-приложений на Javascript
Отладка веб-приложений на Javascript
 
Введение в Microsoft Silverlight 3.0
Введение в Microsoft Silverlight 3.0Введение в Microsoft Silverlight 3.0
Введение в Microsoft Silverlight 3.0
 
Автоматизация тестирования iOS приложений: от идеи к готовому решению
Автоматизация тестирования iOS приложений: от идеи к готовому решениюАвтоматизация тестирования iOS приложений: от идеи к готовому решению
Автоматизация тестирования iOS приложений: от идеи к готовому решению
 
Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...
 
DevOps guide for awesome quality assurance
DevOps guide for awesome quality assuranceDevOps guide for awesome quality assurance
DevOps guide for awesome quality assurance
 
Приемочные тесты на огурце
Приемочные тесты на огурцеПриемочные тесты на огурце
Приемочные тесты на огурце
 
Custom Language Plugin for JetBrains IDEA
Custom Language Plugin for JetBrains IDEACustom Language Plugin for JetBrains IDEA
Custom Language Plugin for JetBrains IDEA
 

Mehr von ISsoft

Sql инъекции в тестировании
Sql инъекции в тестированииSql инъекции в тестировании
Sql инъекции в тестированииISsoft
 
введение в практическую разработку по в Is soft 4-1 and 4-2 clients and commu...
введение в практическую разработку по в Is soft 4-1 and 4-2 clients and commu...введение в практическую разработку по в Is soft 4-1 and 4-2 clients and commu...
введение в практическую разработку по в Is soft 4-1 and 4-2 clients and commu...ISsoft
 
Testing of mobile apps
Testing of mobile appsTesting of mobile apps
Testing of mobile appsISsoft
 
Testing, qa, qc. what the difference
Testing, qa, qc. what the differenceTesting, qa, qc. what the difference
Testing, qa, qc. what the differenceISsoft
 
Ranorex presentation
Ranorex presentationRanorex presentation
Ranorex presentationISsoft
 
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...ISsoft
 
Bdd and dsl как способ построения коммуникации на проекте
Bdd and dsl как способ построения коммуникации на проектеBdd and dsl как способ построения коммуникации на проекте
Bdd and dsl как способ построения коммуникации на проектеISsoft
 
Тестирование требований
Тестирование требованийТестирование требований
Тестирование требованийISsoft
 
Тестирование требований
Тестирование требованийТестирование требований
Тестирование требованийISsoft
 
Sql practise for beginners
Sql practise for beginnersSql practise for beginners
Sql practise for beginnersISsoft
 
Отдел юзабилити
Отдел юзабилитиОтдел юзабилити
Отдел юзабилитиISsoft
 
ToDoList
ToDoListToDoList
ToDoListISsoft
 
Prototype presentation
Prototype presentationPrototype presentation
Prototype presentationISsoft
 
решение основной проблемы Agile (scrum) проектов в контексте ba
решение основной проблемы Agile (scrum) проектов в контексте baрешение основной проблемы Agile (scrum) проектов в контексте ba
решение основной проблемы Agile (scrum) проектов в контексте baISsoft
 
решение одной из ключевых проблем компетенции Ba специалистов
решение одной из ключевых проблем компетенции Ba специалистоврешение одной из ключевых проблем компетенции Ba специалистов
решение одной из ключевых проблем компетенции Ba специалистовISsoft
 
Development of automated tests for ext js based web sites
Development of automated tests for ext js based web sitesDevelopment of automated tests for ext js based web sites
Development of automated tests for ext js based web sitesISsoft
 
Bdd or dsl как способ построения коммуникации на проекте
Bdd or dsl как способ построения коммуникации на проектеBdd or dsl как способ построения коммуникации на проекте
Bdd or dsl как способ построения коммуникации на проектеISsoft
 
инфотекс автоматизация тестирования
инфотекс   автоматизация тестированияинфотекс   автоматизация тестирования
инфотекс автоматизация тестированияISsoft
 

Mehr von ISsoft (20)

Sql инъекции в тестировании
Sql инъекции в тестированииSql инъекции в тестировании
Sql инъекции в тестировании
 
введение в практическую разработку по в Is soft 4-1 and 4-2 clients and commu...
введение в практическую разработку по в Is soft 4-1 and 4-2 clients and commu...введение в практическую разработку по в Is soft 4-1 and 4-2 clients and commu...
введение в практическую разработку по в Is soft 4-1 and 4-2 clients and commu...
 
Testing of mobile apps
Testing of mobile appsTesting of mobile apps
Testing of mobile apps
 
Testing, qa, qc. what the difference
Testing, qa, qc. what the differenceTesting, qa, qc. what the difference
Testing, qa, qc. what the difference
 
Ranorex presentation
Ranorex presentationRanorex presentation
Ranorex presentation
 
Bugs
BugsBugs
Bugs
 
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
 
Bdd and dsl как способ построения коммуникации на проекте
Bdd and dsl как способ построения коммуникации на проектеBdd and dsl как способ построения коммуникации на проекте
Bdd and dsl как способ построения коммуникации на проекте
 
Тестирование требований
Тестирование требованийТестирование требований
Тестирование требований
 
Тестирование требований
Тестирование требованийТестирование требований
Тестирование требований
 
Sql practise for beginners
Sql practise for beginnersSql practise for beginners
Sql practise for beginners
 
Отдел юзабилити
Отдел юзабилитиОтдел юзабилити
Отдел юзабилити
 
ToDoList
ToDoListToDoList
ToDoList
 
ISTQB
ISTQBISTQB
ISTQB
 
Prototype presentation
Prototype presentationPrototype presentation
Prototype presentation
 
решение основной проблемы Agile (scrum) проектов в контексте ba
решение основной проблемы Agile (scrum) проектов в контексте baрешение основной проблемы Agile (scrum) проектов в контексте ba
решение основной проблемы Agile (scrum) проектов в контексте ba
 
решение одной из ключевых проблем компетенции Ba специалистов
решение одной из ключевых проблем компетенции Ba специалистоврешение одной из ключевых проблем компетенции Ba специалистов
решение одной из ключевых проблем компетенции Ba специалистов
 
Development of automated tests for ext js based web sites
Development of automated tests for ext js based web sitesDevelopment of automated tests for ext js based web sites
Development of automated tests for ext js based web sites
 
Bdd or dsl как способ построения коммуникации на проекте
Bdd or dsl как способ построения коммуникации на проектеBdd or dsl как способ построения коммуникации на проекте
Bdd or dsl как способ построения коммуникации на проекте
 
инфотекс автоматизация тестирования
инфотекс   автоматизация тестированияинфотекс   автоматизация тестирования
инфотекс автоматизация тестирования
 

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

  • 2. Автоматизация тестирования (test automation) – набор техник, подходов и инструментальных средств, позволяющий исключить человека из выполнения НЕКОТОРЫХ задач в процессе тестирования. Инструментальное средство автоматизированного тестирования (test automation tool) – программа (или набор программ), позволяющая создавать, редактировать, отлаживать и выполнять автоматизированные тесты, а также собирать статистику их выполнения.
  • 3. Одной из наиболее распространѐнных и простых для понимания технологий автоматизации тестирования является технология Record&Playback («Записать и воспроизвести»). Суть еѐ заключается в том, что средство автоматизации тестирования позволяет выполнить с тестируемым приложением некоторый набор действий, которые будут записаны на специальном языке программирования, а затем могут быть воспроизведены.
  • 5. Selenium IDE – интегрированная среда для разработки и выполнения скриптов, представленная в виде плагина для браузера FireFox. Свежая версия всегда доступна по адресу: http://seleniumhq.org/projects/ide/
  • 6. Selenium IDE поддерживает Операционные системы: Windows, Linux, OS X, Языки программирования: PHP, Perl, Java, C#, Solaris Python, Ruby Браузеры: Firefox, IE , Safari , Opera, Chrome
  • 7. После установки плагин Selenium IDE доступен в браузере FireFox в разделе «Инструменты» («Tools»):
  • 8. Поле «Command» содержит команду («что необходимо сделать») Поле «Target» указывает целевой элемент («с чем это сделать») Поле «Value» содержит значение, с которым выполняется некоторая операция.
  • 9. 1. Открыть «http://tut.by» 2. Кликнуть «Все ресурсы» 3. Кликнуть «Новости IT»
  • 12. Поле «Command» содержит указание того, что необходимо выполнить на данном шаге теста.
  • 13. Примеры действий (actions): open click clickAndWait type Ошибка (невозможность) выполнения любой из этих команд приводит к остановке теста!
  • 14. Проверки используются для анализа состояния вебориентированного приложения. Например, можно проверять наличие того или иного элемента страницы, значение того или иного поля и т.п.
  • 15. Команды, выполняющие проверку, делятся на два больших класса: • начинающиеся с assert; • начинающиеся с verify. Ошибка assert = тест останавливается. Ошибка verify = протоколируется факт наличия проблемы и тест продолжается.
  • 17. Существует ещѐ один класс команд, (начинающихся со слов waitFor или заканчивающихся словами andWait). Эти команды предназначены для работы с элементами, появление или изменение состояния которых требует некоторого времени. Ошибка (невозможность) выполнения такой команды приводит к остановке теста!
  • 18. За ходом и результатом выполнения тестов можно следить с помощью поля log, в котором отражаются все выполняемые Selenium IDE действия.
  • 19. Поле target указывает, с каким элементом следует выполнить действие.
  • 20. Указание на элемент, с которым необходимо выполнить действие, производится при помощи т.н. «локаторов» (locator). Формат локатора таков: LocatorType = Argument
  • 21. Локаторы бывают следующих типов: • • • • id = ElementID name = ElementName link = LinkText xpath = XPath
  • 22. Локатор вида id = ElementID можно (хоть и НЕЖЕЛАТЕЛЬНО) записывать просто в виде ElementID. Идентификатор элемента нужно смотреть в HTML-коде страницы.
  • 23. Локатор вида name = ElementName тоже можно (хоть и ТОЖЕ НЕЖЕЛАТЕЛЬНО) записывать просто в виде ElementName. Имя элемента тоже нужно смотреть в HTML-коде страницы.
  • 24. Локатор вида link = LinkText НЕЛЬЗЯ записывать просто в виде LinkText. Текст ссылки чаще всего виден «невооружѐнным глазом», но если посмотреть его в коде – хуже не будет.
  • 25. Лучше НЕ использовать сокращѐнную форму записи локаторов (это может привести к неоднозначности определения элемента), но если очень хочется… Можно сокращать локаторы типа id или name, но НЕЛЬЗЯ сокращать локаторы типа link.
  • 26. Локатор вида xpath = XPath является самым универсальным, но требует понимания XML и непосредственно XPath. Почитать можно обо всѐм этом здесь: http://www.w3schools.com/xpath/ http://www.w3.org/TR/xpath/
  • 27. Сразу же после запуска Selenium IDE находится в режиме записи теста, выключать и повторно включать который можно кнопкой в правом верхнем углу окна Selenium IDE. Запись имеет смысл приостанавливать, если вы выполняете действия, не относящиеся к тесту.
  • 28. Для выполнения записанного теста есть несколько элементов в левом верхнем углу экрана: • регулятор скорости выполнения; • кнопка выполнения всех тестов; • кнопка выполнения текущего теста.
  • 29. В процессе воспроизведения теста Selenium IDE в реальном времени показывает, успешно ли выполнена та или иная команда: • подсветкой команды зелѐным или розовым в списке команд; • сообщениями в логе.
  • 30. Тесты, с которыми впоследствии можно будет продолжить работу в IDE, сохраняются в виде обычной HTML-страницы с определѐнной структурой. Для ускорения просмотра их можно открывать в браузере как обычные страницы. Несколько тестов (сценарий) можно сохранить в виде «тест-сьюта» (test-suite).
  • 31. У Selenium IDE есть один серьѐзный недостаток – тесты в нѐм «линейны» и примитивны. Всѐ же в нѐм нет полноценного языка программирования. Поэтому для действительно серьѐзной работы тест нужно экспортировать в соответствующий формат.