🗊Презентация Selenium. Необходимые знания в программировании

Нажмите для полного просмотра!
Selenium. Необходимые знания в программировании, слайд №1Selenium. Необходимые знания в программировании, слайд №2Selenium. Необходимые знания в программировании, слайд №3Selenium. Необходимые знания в программировании, слайд №4Selenium. Необходимые знания в программировании, слайд №5Selenium. Необходимые знания в программировании, слайд №6Selenium. Необходимые знания в программировании, слайд №7Selenium. Необходимые знания в программировании, слайд №8Selenium. Необходимые знания в программировании, слайд №9Selenium. Необходимые знания в программировании, слайд №10Selenium. Необходимые знания в программировании, слайд №11Selenium. Необходимые знания в программировании, слайд №12Selenium. Необходимые знания в программировании, слайд №13Selenium. Необходимые знания в программировании, слайд №14Selenium. Необходимые знания в программировании, слайд №15Selenium. Необходимые знания в программировании, слайд №16Selenium. Необходимые знания в программировании, слайд №17Selenium. Необходимые знания в программировании, слайд №18Selenium. Необходимые знания в программировании, слайд №19Selenium. Необходимые знания в программировании, слайд №20Selenium. Необходимые знания в программировании, слайд №21Selenium. Необходимые знания в программировании, слайд №22Selenium. Необходимые знания в программировании, слайд №23Selenium. Необходимые знания в программировании, слайд №24Selenium. Необходимые знания в программировании, слайд №25Selenium. Необходимые знания в программировании, слайд №26Selenium. Необходимые знания в программировании, слайд №27Selenium. Необходимые знания в программировании, слайд №28Selenium. Необходимые знания в программировании, слайд №29Selenium. Необходимые знания в программировании, слайд №30Selenium. Необходимые знания в программировании, слайд №31Selenium. Необходимые знания в программировании, слайд №32Selenium. Необходимые знания в программировании, слайд №33Selenium. Необходимые знания в программировании, слайд №34Selenium. Необходимые знания в программировании, слайд №35Selenium. Необходимые знания в программировании, слайд №36Selenium. Необходимые знания в программировании, слайд №37Selenium. Необходимые знания в программировании, слайд №38Selenium. Необходимые знания в программировании, слайд №39Selenium. Необходимые знания в программировании, слайд №40Selenium. Необходимые знания в программировании, слайд №41Selenium. Необходимые знания в программировании, слайд №42Selenium. Необходимые знания в программировании, слайд №43Selenium. Необходимые знания в программировании, слайд №44Selenium. Необходимые знания в программировании, слайд №45Selenium. Необходимые знания в программировании, слайд №46Selenium. Необходимые знания в программировании, слайд №47Selenium. Необходимые знания в программировании, слайд №48Selenium. Необходимые знания в программировании, слайд №49Selenium. Необходимые знания в программировании, слайд №50Selenium. Необходимые знания в программировании, слайд №51Selenium. Необходимые знания в программировании, слайд №52Selenium. Необходимые знания в программировании, слайд №53Selenium. Необходимые знания в программировании, слайд №54Selenium. Необходимые знания в программировании, слайд №55Selenium. Необходимые знания в программировании, слайд №56

Содержание

Вы можете ознакомиться и скачать презентацию на тему Selenium. Необходимые знания в программировании. Доклад-сообщение содержит 56 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Auriga, Inc.
Selenium

Arkadiy.hachikyan@auriga.com
Описание слайда:
Auriga, Inc. Selenium Arkadiy.hachikyan@auriga.com

Слайд 2





Формат занятий
Мало теории
Много практики
Минимально необходимые навыки
Обратная связь приветствуется
Домашние задания
Описание слайда:
Формат занятий Мало теории Много практики Минимально необходимые навыки Обратная связь приветствуется Домашние задания

Слайд 3





Необходимые знания в программировании
Основные типы переменных
Циклы
Условные операторы
Статические методы
Простейшее наследование (без инкапсуляции и полиморфизма)
Описание слайда:
Необходимые знания в программировании Основные типы переменных Циклы Условные операторы Статические методы Простейшее наследование (без инкапсуляции и полиморфизма)

Слайд 4





Необходимый инстументарий	
Firefox
FireBug
FirePath 
Selenium IDE https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/ 
IntelliJIDEA Community https://www.jetbrains.com/idea/download/#tabs_1=windows 
Библиотека Selenium Standalone Server http://www.seleniumhq.org/download/
Описание слайда:
Необходимый инстументарий Firefox FireBug FirePath Selenium IDE https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/ IntelliJIDEA Community https://www.jetbrains.com/idea/download/#tabs_1=windows Библиотека Selenium Standalone Server http://www.seleniumhq.org/download/

Слайд 5





План
Часть 1
Selenium теория
Идентификация элементов при помощи XPath
Selenium IDE
Рекордер
Основные команды
Локаторы
Проверки
Ожидания
Задание
Описание слайда:
План Часть 1 Selenium теория Идентификация элементов при помощи XPath Selenium IDE Рекордер Основные команды Локаторы Проверки Ожидания Задание

Слайд 6





Selenium
 Selenium - среда для тестирования web-приложений, выполняющая проверки средствами браузера
 Selenium automates browsers.
Selenium RC 
Selenium Grid
Selenium IDE 
Selenium WebDriver
Selenium Server
Описание слайда:
Selenium Selenium - среда для тестирования web-приложений, выполняющая проверки средствами браузера Selenium automates browsers. Selenium RC Selenium Grid Selenium IDE Selenium WebDriver Selenium Server

Слайд 7





Принцип работы Selenium
Selenium RC - использовал ядро, которое передавало браузеру на выполнение необходимые JavaScript-команды. Это обеспечивало некоторую кросбраузерность поскольку JavaScript выполняется, в значительной мере, одинаково в разных браузерах.
Selenium WebDriver – общается нативными средствами с каждым браузером (AndroidDriver, ChromeDriver, EventFiringWebDriver, FirefoxDriver, HtmlUnitDriver, InternetExplorerDriver, IPhoneDriver, PhantomJSDriver, RemoteWebDriver, SafariDriver )
Описание слайда:
Принцип работы Selenium Selenium RC - использовал ядро, которое передавало браузеру на выполнение необходимые JavaScript-команды. Это обеспечивало некоторую кросбраузерность поскольку JavaScript выполняется, в значительной мере, одинаково в разных браузерах. Selenium WebDriver – общается нативными средствами с каждым браузером (AndroidDriver, ChromeDriver, EventFiringWebDriver, FirefoxDriver, HtmlUnitDriver, InternetExplorerDriver, IPhoneDriver, PhantomJSDriver, RemoteWebDriver, SafariDriver )

Слайд 8





Идентификация элементов
Хорошее решение для Firefox (FireBug + FirePath):
FireBug https://getfirebug.com/
Просмотр и редактирование HTML с применением изменений «на лету» 
Дебаггер JavaScript
FirePath https://addons.mozilla.org/ru/firefox/addon/firepath/
Поиск на странице и автоматическое построение XPath
Подсветка самописных Xpath
“Инструменты разработчика” в Chrome
Описание слайда:
Идентификация элементов Хорошее решение для Firefox (FireBug + FirePath): FireBug https://getfirebug.com/ Просмотр и редактирование HTML с применением изменений «на лету» Дебаггер JavaScript FirePath https://addons.mozilla.org/ru/firefox/addon/firepath/ Поиск на странице и автоматическое построение XPath Подсветка самописных Xpath “Инструменты разработчика” в Chrome

Слайд 9





XPath
Описание слайда:
XPath

Слайд 10





XPath. Важнейшие запросы
* — обозначает любое имя или набор символов, @* — любой атрибут
[] — дополнительные условия выборки
/ — определяет уровень дерева
text()  - Возвращает набор текстовых узлов;
contains(string, string) - Возвращает истину, если первая строка содержит вторую, иначе возвращает ложь.
or — логическое «или» 
and — логическое «и» 
= — логическое «равно»
Описание слайда:
XPath. Важнейшие запросы * — обозначает любое имя или набор символов, @* — любой атрибут [] — дополнительные условия выборки / — определяет уровень дерева text() - Возвращает набор текстовых узлов; contains(string, string) - Возвращает истину, если первая строка содержит вторую, иначе возвращает ложь. or — логическое «или» and — логическое «и» = — логическое «равно»

Слайд 11





XPath. Примеры
С применением индексов:
html/body/div[4]/div[1]/div[3]/div[1]/ul/li[2]/span/a 

Внимание! Распространенная ошибка
Одновременно к нескольким элементам: 
html/body/div[4]/div[1]/div[3]/div[1]/ul/li/span/a
(html/body/div[4]/div[1]/div[3]/div[1]/ul/li/span/a)[2] – можно выбрать нужный по индексу, начиная с [1]
По значению атрибута определенного тега:
html/body/div[4]/div[1]/div[3]/div[1]/ul/li[@class='collapsible']/span/a
Описание слайда:
XPath. Примеры С применением индексов: html/body/div[4]/div[1]/div[3]/div[1]/ul/li[2]/span/a Внимание! Распространенная ошибка Одновременно к нескольким элементам: html/body/div[4]/div[1]/div[3]/div[1]/ul/li/span/a (html/body/div[4]/div[1]/div[3]/div[1]/ul/li/span/a)[2] – можно выбрать нужный по индексу, начиная с [1] По значению атрибута определенного тега: html/body/div[4]/div[1]/div[3]/div[1]/ul/li[@class='collapsible']/span/a

Слайд 12





XPath. Примеры
По значению атрибута неопределенного тега:
//span/*[@title='Эта страница защищена от изменений, но вы можете посмотреть и скопировать её исходный текст [Alt+Shift+e]']
По тексту:
//a[text()='Добро пожаловать']
По части текста :
//a[contains(text(),'Добро')]
С применением логики:
//a[contains(text(),'Добро') and contains(@title,'Википедия')]
Описание слайда:
XPath. Примеры По значению атрибута неопределенного тега: //span/*[@title='Эта страница защищена от изменений, но вы можете посмотреть и скопировать её исходный текст [Alt+Shift+e]'] По тексту: //a[text()='Добро пожаловать'] По части текста : //a[contains(text(),'Добро')] С применением логики: //a[contains(text(),'Добро') and contains(@title,'Википедия')]

Слайд 13





Selenium IDE
 Selenium IDE – плагин к Firefox, позволяющий осуществлять запись, редактирование и  воспроизведение действий в браузере.
Описание слайда:
Selenium IDE Selenium IDE – плагин к Firefox, позволяющий осуществлять запись, редактирование и воспроизведение действий в браузере.

Слайд 14





Применимость Selenium IDE
 Простые тесты
 Простые сайты
 Не долгосрочная перспектива
 Рутина
 Тренировка, обучение
Описание слайда:
Применимость Selenium IDE Простые тесты Простые сайты Не долгосрочная перспектива Рутина Тренировка, обучение

Слайд 15





Что понадобится для работы с Selenium IDE
 Mozilla Firefox
 Selenium IDE
 Firebug + Firepath
 Умение работать с XPath
Описание слайда:
Что понадобится для работы с Selenium IDE Mozilla Firefox Selenium IDE Firebug + Firepath Умение работать с XPath

Слайд 16





Тест кейс
Описание слайда:
Тест кейс

Слайд 17





Записанный рекордером тест
Описание слайда:
Записанный рекордером тест

Слайд 18





Основные действия Selenium IDE (Command)
open(URL) – открыть страницу в браузере по определенному адресу
click(locator)– клик по элементу
type(locator, value)– ввести значение в поле 
select(selectLocator, optionLocator) – выбрать значение из выпадающего списка
selectWindow(windowID)– переключить фокус на другое окно 
goBack() - вернуться на предыдущую страницу
close()– закрыть текущее окно
dragAndDropToObject(locatorOfObjectToBeDragged, locatorOfDragDestinationObject) – перемещение одного элемента на другой
Описание слайда:
Основные действия Selenium IDE (Command) open(URL) – открыть страницу в браузере по определенному адресу click(locator)– клик по элементу type(locator, value)– ввести значение в поле select(selectLocator, optionLocator) – выбрать значение из выпадающего списка selectWindow(windowID)– переключить фокус на другое окно goBack() - вернуться на предыдущую страницу close()– закрыть текущее окно dragAndDropToObject(locatorOfObjectToBeDragged, locatorOfDragDestinationObject) – перемещение одного элемента на другой

Слайд 19





Локаторы Selenium IDE (Target)
id –id элемента страницы;
name –атрибут name элемента страницы;
xpath –XPath выражение;
link – текст ссылки;
identifier –id элемента. Если по id элемент не найден, то поиск будет вестись по атрибуту name;
css – данный тип локаторов основан на описаниях таблиц стилей (CSS).
dom –DOM выражение;
Описание слайда:
Локаторы Selenium IDE (Target) id –id элемента страницы; name –атрибут name элемента страницы; xpath –XPath выражение; link – текст ссылки; identifier –id элемента. Если по id элемент не найден, то поиск будет вестись по атрибуту name; css – данный тип локаторов основан на описаниях таблиц стилей (CSS). dom –DOM выражение;

Слайд 20





Локаторы Selenium IDE (Target)
НАПРИМЕР:
Описание слайда:
Локаторы Selenium IDE (Target) НАПРИМЕР:

Слайд 21





Проверки Selenium IDE
Verify – просто проверка. Ошибка будет отмечена, но тест продолжит выполняться
Assert – заваливает и останавливает тест
Описание слайда:
Проверки Selenium IDE Verify – просто проверка. Ошибка будет отмечена, но тест продолжит выполняться Assert – заваливает и останавливает тест

Слайд 22





Проверки Selenium IDE
verifyLocation(pattern)/ assertLocation(pattern) – проверить адрес текущей страницы. 
verifyTitle (pattern)/ assertTitle (pattern)– проверить значение Title страницы.
verifyValue(locator, pattern) / assertValue (locator, pattern)– проверить значение элемента страницы. 
verifyTextPresent(pattern) / assertTextPresent(pattern) – проверить, что страница содержит указанный в текст.
verifyElementPresent(locator) / assertElementPresent(locator) – проверить, есть ли на странице указанный элемент.
verifyVisible(locator)/ assertVisible(locator)– проверить видимость элемента
verifyAttribute(attributeLocator, pattern) / assertAttribute(attributeLocator, pattern) – проверить значение указанного атрибута
Описание слайда:
Проверки Selenium IDE verifyLocation(pattern)/ assertLocation(pattern) – проверить адрес текущей страницы. verifyTitle (pattern)/ assertTitle (pattern)– проверить значение Title страницы. verifyValue(locator, pattern) / assertValue (locator, pattern)– проверить значение элемента страницы. verifyTextPresent(pattern) / assertTextPresent(pattern) – проверить, что страница содержит указанный в текст. verifyElementPresent(locator) / assertElementPresent(locator) – проверить, есть ли на странице указанный элемент. verifyVisible(locator)/ assertVisible(locator)– проверить видимость элемента verifyAttribute(attributeLocator, pattern) / assertAttribute(attributeLocator, pattern) – проверить значение указанного атрибута

Слайд 23





Ожидания Selenium IDE
waitForElementPresent(locator) – ожидание появления элемента на странице
waitForTextPresent(pattern) - ожидание появления текста на странице
waitForVisible(locator) - ожидание видимости элемента
Описание слайда:
Ожидания Selenium IDE waitForElementPresent(locator) – ожидание появления элемента на странице waitForTextPresent(pattern) - ожидание появления текста на странице waitForVisible(locator) - ожидание видимости элемента

Слайд 24





Промежуточное задание
Описание слайда:
Промежуточное задание

Слайд 25





Необходимый инстументарий	 для следующей части
Описание слайда:
Необходимый инстументарий для следующей части

Слайд 26





Вопросы?
Описание слайда:
Вопросы?

Слайд 27





Selenium WebDriver
Описание слайда:
Selenium WebDriver

Слайд 28





Selenium WebDriver
План:
Настройка окружения. IDEA IDE
Основные части автотеста. JUnit
Простой тесткейс
Основные команды
Проверки
Ожидание элементов явные и неявные
Фреймворк. Паттерн PageObject
Итоговое задание
Описание слайда:
Selenium WebDriver План: Настройка окружения. IDEA IDE Основные части автотеста. JUnit Простой тесткейс Основные команды Проверки Ожидание элементов явные и неявные Фреймворк. Паттерн PageObject Итоговое задание

Слайд 29





Selenium WebDriver
 Selenium WebDriver– позволяет взаимодействовать с браузерами их нативными средствами. Для каждого браузера свой WebDriver (AndroidDriver, ChromeDriver, EventFiringWebDriver, FirefoxDriver, HtmlUnitDriver, InternetExplorerDriver, IPhoneDriver, PhantomJSDriver, RemoteWebDriver, SafariDriver)
Описание слайда:
Selenium WebDriver Selenium WebDriver– позволяет взаимодействовать с браузерами их нативными средствами. Для каждого браузера свой WebDriver (AndroidDriver, ChromeDriver, EventFiringWebDriver, FirefoxDriver, HtmlUnitDriver, InternetExplorerDriver, IPhoneDriver, PhantomJSDriver, RemoteWebDriver, SafariDriver)

Слайд 30





Окружение для работы с WebDriver
 IDEA IDE
 Firefox
FireBug
FirePath
Описание слайда:
Окружение для работы с WebDriver IDEA IDE Firefox FireBug FirePath

Слайд 31





Почему IDEA IDE?
 Java
 Бесплатный
 Удобный
 Некоторые плагины работают лучше, чем, например, в Eclipse (Maven, Cucumber)
Описание слайда:
Почему IDEA IDE? Java Бесплатный Удобный Некоторые плагины работают лучше, чем, например, в Eclipse (Maven, Cucumber)

Слайд 32





Создание тестового проекта в IDEA
Используя экспортированный проект:
 Экспорт теста из Selenium IDE в WebDriver в Java/JUnit4/WebDriver
 Создание нового проекта в IDEA
 Добавление результатов экспорта
 Подключение библиотек
С нуля:
Создание нового проекта в IDEA
Создание структуры теста вручную (@Before, @After, @Test)
Подключение библиотек
Используя один из внутренних шаблонных проектов Ауриги:
Web + xUnit
Web + BDD
Описание слайда:
Создание тестового проекта в IDEA Используя экспортированный проект: Экспорт теста из Selenium IDE в WebDriver в Java/JUnit4/WebDriver Создание нового проекта в IDEA Добавление результатов экспорта Подключение библиотек С нуля: Создание нового проекта в IDEA Создание структуры теста вручную (@Before, @After, @Test) Подключение библиотек Используя один из внутренних шаблонных проектов Ауриги: Web + xUnit Web + BDD

Слайд 33





Шаг 1
Описание слайда:
Шаг 1

Слайд 34





Шаг 2
Описание слайда:
Шаг 2

Слайд 35





Шаг 3
Описание слайда:
Шаг 3

Слайд 36





Шаг 4
Описание слайда:
Шаг 4

Слайд 37





Шаг 5
Описание слайда:
Шаг 5

Слайд 38





Шаг 6
Описание слайда:
Шаг 6

Слайд 39





Шаг 7
Описание слайда:
Шаг 7

Слайд 40





Шаг9
Описание слайда:
Шаг9

Слайд 41





Структура типичного теста c JUnit
 Инициализация (@Before). Действия, выполняемые перед каждым тестом. Например, старт браузера, открытие домашней страницы, логин
 Тело (@Test). Сам тест
 Завершение (@After). Действия, выполняемые после каждого теста. Например, закрытие браузера
Описание слайда:
Структура типичного теста c JUnit Инициализация (@Before). Действия, выполняемые перед каждым тестом. Например, старт браузера, открытие домашней страницы, логин Тело (@Test). Сам тест Завершение (@After). Действия, выполняемые после каждого теста. Например, закрытие браузера

Слайд 42





Основные команды WebDriver
Объявление драйвера
Поиск элементов
Действия
Навигация
Действия с браузером
Действия с элементами
Проверки
Ожидания
Implicit Waits
Explicit Waits
Кастомные
Описание слайда:
Основные команды WebDriver Объявление драйвера Поиск элементов Действия Навигация Действия с браузером Действия с элементами Проверки Ожидания Implicit Waits Explicit Waits Кастомные

Слайд 43





Объявление драйвера
WebDriver driver = new FirefoxDriver(); 
WebDriver driver = new ChromeDriver();
WebDriver driver = new InternetExplorerDriver();
Описание слайда:
Объявление драйвера WebDriver driver = new FirefoxDriver(); WebDriver driver = new ChromeDriver(); WebDriver driver = new InternetExplorerDriver();

Слайд 44





Поиск элементов
WebElement element = driver.findElement(By.<критерий поиска>) - Возвращает первый найденный элемент, удовлетворяющий, условию поиска
driver.findElements(By.<критерий поиска>) - Возвращает все элементы, удовлетворяющие условию поиска
Основные методы поиска элементов:
driver.findElement(By.xpath(<XPath>)) – поиск элемента по Xpath
driver.findElement(By.id(<ID>)) – поиск элемента по ID
driver.findElement(By.name(<имя>)) – поиск элемента по значению атрибута name
driver.findElement(By.linkText(<текст ссылки>)) – поиск элемента по тексту ссылки
…
Описание слайда:
Поиск элементов WebElement element = driver.findElement(By.<критерий поиска>) - Возвращает первый найденный элемент, удовлетворяющий, условию поиска driver.findElements(By.<критерий поиска>) - Возвращает все элементы, удовлетворяющие условию поиска Основные методы поиска элементов: driver.findElement(By.xpath(<XPath>)) – поиск элемента по Xpath driver.findElement(By.id(<ID>)) – поиск элемента по ID driver.findElement(By.name(<имя>)) – поиск элемента по значению атрибута name driver.findElement(By.linkText(<текст ссылки>)) – поиск элемента по тексту ссылки …

Слайд 45





Действия. Навигация
driver.navigate().to(<URL>) - переход по URL
driver.navigate().back() - переход назад
driver.navigate(). forward() - переход вперед
driver.navigate(). refresh() - обновление
…
Описание слайда:
Действия. Навигация driver.navigate().to(<URL>) - переход по URL driver.navigate().back() - переход назад driver.navigate(). forward() - переход вперед driver.navigate(). refresh() - обновление …

Слайд 46





Действия. Действия с браузером
driver.close() - закрыть текущее окно. Закрывает браузер, если нету больше открытых окон;
driver.quit() - выход из драйвера, закрытие всех окон связанных с ним 
driver.getTitle() - возвращает Title текущей страницы;
driver.getCurrentUrl() - возвращает URL текущего окна
driver.getPageSource() - возвращает содержимое последней загруженной страницы
…
Описание слайда:
Действия. Действия с браузером driver.close() - закрыть текущее окно. Закрывает браузер, если нету больше открытых окон; driver.quit() - выход из драйвера, закрытие всех окон связанных с ним driver.getTitle() - возвращает Title текущей страницы; driver.getCurrentUrl() - возвращает URL текущего окна driver.getPageSource() - возвращает содержимое последней загруженной страницы …

Слайд 47





Действия. Действия с элементами
element.click() - одиночное нажатие по элементу
element.getText() - возвращает текст элемента
element.getAttribute(<название атрибута>) - возвращает значение указанного атрибута
element.isDisplayed() - является ли элемент видимым
element.isEnabled() - является ли элемент доступным
element.isSelected() - является ли элемент выбранным (чекбокс, радиобаттон)
element.sendKeys(<последовательность символов>) - послать элементу последовательность символов. Текстовых или функциональных клавиш
…
Пример:
element.sendKeys (“abcd” + Keys.TAB + “efgh”);
Описание слайда:
Действия. Действия с элементами element.click() - одиночное нажатие по элементу element.getText() - возвращает текст элемента element.getAttribute(<название атрибута>) - возвращает значение указанного атрибута element.isDisplayed() - является ли элемент видимым element.isEnabled() - является ли элемент доступным element.isSelected() - является ли элемент выбранным (чекбокс, радиобаттон) element.sendKeys(<последовательность символов>) - послать элементу последовательность символов. Текстовых или функциональных клавиш … Пример: element.sendKeys (“abcd” + Keys.TAB + “efgh”);

Слайд 48





Проверки
Assert.fail(<необязательный текст ошибки>) - завалить тест
Assert.assertEquals(<необязательный текст ошибки>, <ожидаемое значение>, <фактическое значение>) - сравнивает 2 объекта, 2 строки или 2 числа. Срабатывает при несовпадении 
Assert.assertNotEquals(<необязательный текст ошибки>, <ожидаемое значение>, <фактическое значение>) - срабатывает при совпадении
Assert.assertTrue(<необязательный текст ошибки>, <выражение или булевое значение>) - срабатывает на ложном значении
Assert.assertFalse(<необязательный текст ошибки>, <выражение или булевое значение>) - срабатывает на правдивом значении
…
Пример:
Assert.assertEquals(“Текущее значение ” + cur + “ не равно фактическому” + fact, cur, fact);
Описание слайда:
Проверки Assert.fail(<необязательный текст ошибки>) - завалить тест Assert.assertEquals(<необязательный текст ошибки>, <ожидаемое значение>, <фактическое значение>) - сравнивает 2 объекта, 2 строки или 2 числа. Срабатывает при несовпадении Assert.assertNotEquals(<необязательный текст ошибки>, <ожидаемое значение>, <фактическое значение>) - срабатывает при совпадении Assert.assertTrue(<необязательный текст ошибки>, <выражение или булевое значение>) - срабатывает на ложном значении Assert.assertFalse(<необязательный текст ошибки>, <выражение или булевое значение>) - срабатывает на правдивом значении … Пример: Assert.assertEquals(“Текущее значение ” + cur + “ не равно фактическому” + fact, cur, fact);

Слайд 49





Ожидания. Explicit Waits
Explicit Waits (явное ожидание) – готовое решение с использованием класса WebDriverWait. Представляет собой фактически циклическое ожидание указанного события. По умолчанию “WebDriverWait” вызывает “ExpectedCondition” каждые 500 миллисекунд до тех пор, пока условие не будет удовлетворено.
Ожидаемые события:
ExpectedConditions.visibilityOf(<элемент>) - видимость элемента
ExpectedConditions.presenceOfElementLocated(<локатор>) - наличие элемента
ExpectedConditions.textToBePresentInElement (<локатор>, <текст>) - текст элемента
…
Пример:
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOf(element));
// Данный код будет либо выдаст исключение “TimeoutException” по прошествии 10 секунд, либо вернет найденный в течении 10 секунд элемент.
Описание слайда:
Ожидания. Explicit Waits Explicit Waits (явное ожидание) – готовое решение с использованием класса WebDriverWait. Представляет собой фактически циклическое ожидание указанного события. По умолчанию “WebDriverWait” вызывает “ExpectedCondition” каждые 500 миллисекунд до тех пор, пока условие не будет удовлетворено. Ожидаемые события: ExpectedConditions.visibilityOf(<элемент>) - видимость элемента ExpectedConditions.presenceOfElementLocated(<локатор>) - наличие элемента ExpectedConditions.textToBePresentInElement (<локатор>, <текст>) - текст элемента … Пример: WebDriverWait wait = new WebDriverWait(driver, 10); wait.until(ExpectedConditions.visibilityOf(element)); // Данный код будет либо выдаст исключение “TimeoutException” по прошествии 10 секунд, либо вернет найденный в течении 10 секунд элемент.

Слайд 50





Фреймворк. Паттерн PageObject
Идея:
Класс страницы представляет собой интерфейс, модель настоящей страницы
Профит:
Читабельность
Сопровождаемость. Изменения интерфейса отражаются только в одном месте
Уменьшение дублирования
Правила:
В классе страницы содержатся ее контролы с локаторами и только типичные действия, осуществляемые на странице
Если страница большая, то ее можно логически разделить на разные классы
Избегать проверок внутри объекта страницы
Методы возвращают объекты других страниц
Описание слайда:
Фреймворк. Паттерн PageObject Идея: Класс страницы представляет собой интерфейс, модель настоящей страницы Профит: Читабельность Сопровождаемость. Изменения интерфейса отражаются только в одном месте Уменьшение дублирования Правила: В классе страницы содержатся ее контролы с локаторами и только типичные действия, осуществляемые на странице Если страница большая, то ее можно логически разделить на разные классы Избегать проверок внутри объекта страницы Методы возвращают объекты других страниц

Слайд 51





Пример организации простого фреймворка
Описание слайда:
Пример организации простого фреймворка

Слайд 52





Разное
Описание слайда:
Разное

Слайд 53





Проблемы тестирования асинхронных приложений
Проблема: в AJAX-ориентированных приложениях данные, передаваемые сервером, затем отображаются на странице без ее перезагрузки, обновляется только ее часть или же непосредственно измененный элемент.
Решение: активно использовать ожидания. При необходимости писать обертки. Не использовать тупо слипы, а ждать каких-то событий (видимости элемента, исчезновения элемента и т.п.)
Описание слайда:
Проблемы тестирования асинхронных приложений Проблема: в AJAX-ориентированных приложениях данные, передаваемые сервером, затем отображаются на странице без ее перезагрузки, обновляется только ее часть или же непосредственно измененный элемент. Решение: активно использовать ожидания. При необходимости писать обертки. Не использовать тупо слипы, а ждать каких-то событий (видимости элемента, исчезновения элемента и т.п.)

Слайд 54





Итоговое задание
Автоматизировать 5 тесткейсов:
Клик по мозаичному шару «ВикипедиЯ» возвращает на главную страницу
Максимальное количество предложений предикативного ввода в поиске составляет 10 значений (проверить на примере ввода «а»)
Содержимое предложений предикативного ввода в поиске при вводе «аур» включает (могут быть и другие, но надо проверить, что есть хотя бы эти): Аур, Аура, Аурих, Аурано, Ауриго, Ауро, Ауреа
Описание слайда:
Итоговое задание Автоматизировать 5 тесткейсов: Клик по мозаичному шару «ВикипедиЯ» возвращает на главную страницу Максимальное количество предложений предикативного ввода в поиске составляет 10 значений (проверить на примере ввода «а») Содержимое предложений предикативного ввода в поиске при вводе «аур» включает (могут быть и другие, но надо проверить, что есть хотя бы эти): Аур, Аура, Аурих, Аурано, Ауриго, Ауро, Ауреа

Слайд 55





Полезные сылки
http://selenium2.ru/docs/selenium-ide.html
http://docs.seleniumhq.org/docs/03_webdriver.jsp
http://docs.seleniumhq.org/docs/04_webdriver_advanced.jsp
http://automated-testing.info/knowledgebase/article/webdriver-osnovnye-komandy
https://code.google.com/p/selenium/wiki/PageObjects
Описание слайда:
Полезные сылки http://selenium2.ru/docs/selenium-ide.html http://docs.seleniumhq.org/docs/03_webdriver.jsp http://docs.seleniumhq.org/docs/04_webdriver_advanced.jsp http://automated-testing.info/knowledgebase/article/webdriver-osnovnye-komandy https://code.google.com/p/selenium/wiki/PageObjects

Слайд 56





Contacts
Thank You and
We Look Forward to Working with You
Описание слайда:
Contacts Thank You and We Look Forward to Working with You



Похожие презентации
Mypresentation.ru
Загрузить презентацию