Similar presentations:
Автоматизация тестирования с использованием selenium
1.
АВТОМАТИЗАЦИЯ ТЕСТИРОВАНИЯ С ИСПОЛЬЗОВАНИЕМSELENIUM
ДИТ
декабрь 2021 год
2.
О ЧЕМ ДАННЫЙ КУРС1. Selenium
2. Поиск элементов
3. Selenium WebDriver
4. Методы Selenium WebDriver
5. Apache Maven
6. Junit и TestNG
7. Шаблоны проектирования
8. Allure
9. Технология BDD
10. Запуск автотестов
2
3.
SELENIUM3
4.
SELENIUM - КАК ИНСТРУМЕНТ АВТОМАТИЗАЦИИ1.Selenium Grid
2.Selenium IDE (до FF53)
3.Selenium 1 (Selenium Remote Control)
4.Selenium 2 (или 3, а может 4) WebDriver
4
5.
SELENIUM WEBDRIVERSelenium WebDriver – это набор библиотек для языков программирования, которые позволять
браузером.
Что необходимо для работы инструмента:
1. Браузер, работу которого разработчик будет автоматизировать, определенной версии,
установленный на определенной ОС.
2. Драйвер – driver является web-сервисом. Сервис отправляет команды браузеру (запуск,
работа, закрытие)
3. Тест – script, определенный набор команд на языке программирования для driver-a.
5
6.
ПОДДЕРЖИВАЕМЫЕ ПЛАТФОРМЫ6
7.
ПОИСК ЭЛЕМЕНТОВ7
8.
DOM – DOCUMENT OBJECT MODELDOM
• - это программный интерфейс API для HTML и XML документов.
• - структурированное представление документа
• - определяет как и каким образом структура документа может быть доступна для программ,
которые могут изменять содержимое и структуру документа
• - объединяет веб-страницу и языки программирования (например. java script)
Веб-страница – это HTML документ, который может быть представлен в окне браузера.
DOM поддерживает объектно-ориентированное представление веб-страницы, позволяя ее
изменение при помощи скриптовых языков программирования.
8
9.
DOMHTML
HEAD
BODY
TITLE
P
sample
Voluptatem accu…
9
10.
ТИПЫ ЛОКАТОРОВСамый быстрый
By.id
By.name
By.cssSelector
By.calssName
By.tagName
By.linkText
By.partionalLinkText
By.xpath
СКОРОСТЬ ПОИСКА
ЛОКАТОРОВ
Самый медленный
10
11.
CSS11
12.
XPATH12
13.
ОСНОВНЫЕ ПОНЯТИЯ SELENIUM1. WebDriver – отвечает за управление браузером. Ход теста строится вокруг
объекта этого класса.
2. WebElement – класс-представление веб-элемента. Содержит в себе методы
для взаимодействия пользователя с элементами страницы и получения их
текущего статуса.
3. By – локатор веб-элемента. Класс для поиска нужного элемента на странице.
13
14.
ДРАЙВЕРЫChrome (chromedriver) – драйвер для браузера Google Chrome
https://chromedriver.chromium.org/downloads
System property: "webdriver.chrome.driver“ set to executable
Firefox (geckodriver) – драйвер для браузера Mozilla Firefox
https://github.com/mozilla/geckodriver/releases
System property: " webdriver.gecko.driver“ set to executable
14
15.
ОСНОВНЫЕ ФУНКЦИИ WEBDRIVERКоманды навигации
driver.navigate().to("http://");
driver.get("http://"); - перейти по указанному адресу
driver.navigate().forward(); - перейти на следующую страницу
driver.navigate().back(); - перейти на предыдущую страницу
Команды окна браузера:
•driver.close() –закрыть текущее окно
•driver.getTitle() -возвращает Title текущей страницы
•driver.getCurrentUrl() –возвращает текущий адрес страницы
•driver.getWindowHandle()-возвращает ссылку на текущее окно
•driver.switchTo().window("windowName")–переключение между окнами
•driver.switchTo().frame("frameName")–переключение между фреймами
•driver.quit()–выход из драйвера, закрытие всех окон связанных с ним
15
16.
ОСНОВНЫЕ ФУНКЦИИ WEBDRIVERОжидания:
1. Явные ожидания
final Wait<WebDriver> wait = new WebDriverWait(driver, 5, 1000);
wait.until(ExpectedConditions.visibilityOf(driver.findElement(By.id("example_id"))));
2. Неявные ожидания:
driver.manage().timeouts().pageLoadTimeout(60, TimeUnit.MINUTES); - ожидание загрузки страницы
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS); - ожидание появления элементов на странице
16
17.
РАБОТА С ЭЛЕМЕНТАМИ• Поиск элементов:
WebElement element = driver.findElement(By.xpath("example_xpath"));
List<WebElement> elements = driver.findElements(By.cssSelector("selector"));
• Действия с элементами:
element.sendKeys(“text_here”) – ввод текста в поле
element.clear(); - очистка текстового поля
element.click(); - выполнить нажатие на элемент
element.getAttribute("attr_name"); - получить значение атрибута xml-узла
element.getText(); - возвращает текстовое значение xml-узла
...
• Проверка элементов:
element.isDisplayed(); - отображен на странице
element.isEnabled(); - доступен на странице для выполнения действия
element.isSelected(); - находится в фокусе
17
18.
ОШИБКИ WEBDRIVER1.
2.
3.
4.
ElementNotVisibleException – элемент присутствует на странице, но не видим
NoSuchElementException – элемент не найден на странице
InvalidSelectorException – в выражении локатора (xpath) найдены синтаксические ошибки
StaleElementReferenceException – возникает тогда, когда в момент обращения к ранее
найденному элементу уже изменился DOM HTML-страницы
18
19.
ПРАКТИЧЕСКИЙ ПРИМЕР19
20.
ДОМАШНЕЕ ЗАДАНИЕСценарий
1. Перейти по адресу http://www.rshb.ru/
2. Нажать на зеленую кнопку «Интернет-банк» в правом верхнем углу.
Откроется страница интернет банка.
3. Проверить, что тайтл страницы изменился на «Интернет-банк РСХБ»
4. В поле логин и пароль ввести значение «тест»
5. Проверить, что в поле логина и пароля введены значения «тест»
6. Нажать на кнопку «Войти»
7. Зафиксировать появления надписи «Логин или пароль введены неверно.»
20