Підказка на селені
Підказкою в Селен є текст , який з'являється , коли курсор миші знаходиться над об'єктом на веб - сторінці. Об'єктом може бути посилання, зображення, кнопка, текстова область тощо. Текст підказки часто дає більше інформації про об'єкт, на якому користувач наводить курсор миші.
Підказки традиційно реалізовувались як атрибут "title" для елемента. Значення цього атрибута було показано як підказку при наведенні курсору миші. Це статичний текст, що дає інформацію про елемент без стилю.
Зараз існує безліч плагінів для реалізації «підказок інструментів». Розширені підказки зі стилем, візуалізацією, зображеннями та посиланнями реалізуються за допомогою плагінів JavaScript / JQuery або за допомогою підказок CSS.
- Для доступу або перевірки статичних підказок, які реалізовані за допомогою атрибута HTML "title", ми можемо просто використовувати метод getAttribute ("title") WebElement. Повернене значення цього методу (тобто текст підказки) порівнюється з очікуваним значенням для перевірки.
- Для інших форм реалізації підказки нам доведеться використовувати «Розширений API взаємодії користувачів», наданий Веб-драйвером, щоб створити ефект наведення курсора миші, а потім отримати підказку для елемента.
Короткий опис API розширених взаємодій користувачів:
API розширених взаємодій із користувачем надає API для дій користувача, таких як перетягування, наведення, набір, вибір, натискання та відпускання клавіш та інші дії за допомогою клавіатури або миші на веб-сторінці.
Ви можете переглянути це посилання, щоб отримати докладнішу інформацію про API.
https://seleniumhq.github.io/selenium/docs/api/java/index.html?org/openqa/selenium/interactions/Actions.html
Тут давайте подивимося, як використовувати пару класів і методів, які нам потрібні для переміщення елемента повзунка на зміщення.
Крок 1) Для використання API потрібно імпортувати такі пакети / класи:
Крок 2) Створіть об'єкт класу "Дії" та побудуйте послідовність дій користувача. Клас дій використовується для побудови послідовності дій користувача, таких як moveToElement (), dragAndDrop () тощо. API надає різні методи, пов'язані з діями користувача.
Об'єкт драйвера надається як параметр для його конструктора.
Крок 3) Створіть об’єкт дії за допомогою методу build () класу "Дії". Викличте метод perform (), щоб виконати всі дії, побудовані об'єктом Action (конструктор тут).
Ми бачили, як використовувати деякі з методів дій користувача, передбачені API - clickAndHold (елемент), moveByOffset (10,0), release (). API надає безліч таких методів.
Докладніше див. За посиланням.
Як отримати текст підказки в Selenium Webdriver
Давайте подивимося демонстрацію доступу та перевірки підказок інструменту за простим сценарієм
- Сценарій 1: Підказка реалізована за допомогою атрибута "title"
- Сценарій 2: Підказка реалізована за допомогою плагіна jQuery.
Сценарій 1: Атрибут "title" HTML
Для цього випадку візьмемо приклад сайту - http://demo.guru99.com/test/social-icon.html.
Ми спробуємо перевірити підказку піктограми "github" у верхньому правому куті сторінки.
Для цього ми спочатку знайдемо елемент та отримаємо його атрибут 'title' та перевіримо за допомогою очікуваного тексту підказки.
Оскільки ми припускаємо, що підказка знаходиться в атрибуті "title", ми навіть не автоматизуємо ефект наведення курсору миші, а просто отримуємо значення атрибута за допомогою методу "getAttribute ()".
Ось код
імпорт org.openqa.selenium.By;імпорт org.openqa.selenium.WebDriver;імпорт org.openqa.selenium.chrome.ChromeDriver;імпорт org.openqa.selenium. *;підказка для публічного класу {public static void main (String [] args) {Рядок baseUrl = "http://demo.guru99.com/test/social-icon.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Драйвер WebDriver = новий ChromeDriver ();драйвер.get (baseUrl);Рядок очікуєтьсяTooltip = "Github";// Знайдіть піктограму Github у верхньому правому куті заголовкаWebElement github = driver.findElement (By.xpath (".//*[@ class = 'soc-ico show-round'] / a [4]"));// отримуємо значення атрибута "title" піктограми githubРядок actualTooltip = github.getAttribute ("заголовок");// Затверджуємо значення підказки як слідSystem.out.println ("Фактична назва підказки" + фактична підказка);якщо (actualTooltip.equals (очікуванийTooltip)) {System.out.println ("Тест пройдено");}driver.close ();}}
Пояснення коду
- Знайдіть WebElement, що представляє піктограму "github".
- Отримайте його атрибут "title", використовуючи метод getAttribute ().
- Відсортуйте значення до очікуваного значення підказки.
Сценарій 2: Плагін JQuery:
Для реалізації підказок доступно безліч плагінів JQuery, і кожен із них має дещо іншу форму реалізації.
Деякі плагіни очікують, що спливаюча підказка HTML буде присутня весь час поруч із елементом, для якого підказка застосовується, тоді як інші створюють динамічний тег "div", який з'являється на льоту під час наведення курсора на елемент.
Для нашої демонстрації давайте розглянемо спосіб реалізації підказки "jQuery Tools Tooltip".
Тут, у URL-адресі - http://demo.guru99.com/test/tooltip.html, ви можете побачити демонстраційну версію, де при наведенні курсору миші на "Завантажити зараз" ми отримуємо розширену підказку із зображенням, фоном виноски, таблицею та посилання всередині нього, яке можна натиснути.
Якщо ви подивитесь на джерело нижче, ви побачите, що тег div, що представляє підказку, завжди присутній поруч із тегом посилання "Завантажити зараз". Але код всередині тегу сценарію нижче визначає, коли йому потрібно спливаюче вікно.
Спробуємо перевірити лише текст посилання в підказці для нашої демонстрації тут.
Спочатку ми знайдемо WebElement, який відповідає "Завантажити зараз". Потім за допомогою API взаємодії ми перейдемо до елемента (наведення курсора миші). Далі ми знайдемо WebElement, який відповідає посиланню всередині відображеної підказки, і перевіримо його відповідно до очікуваного тексту.
Ось код
імпорт org.openqa.selenium.interactions.Action;імпорт org.openqa.selenium.interactions.Actions;імпорт org.openqa.selenium.By;імпорт org.openqa.selenium.WebDriver;імпорт org.openqa.selenium.chrome.ChromeDriver;імпорт org.openqa.selenium. *;відкритий клас JqueryToolTip {public static void main (String [] args) {Рядок baseUrl = "http://demo.guru99.com/test/tooltip.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Драйвер WebDriver = новий ChromeDriver ();String ожидаєтьсяTooltip = "Що нового в 3.2";драйвер.get (baseUrl);WebElement download = driver.findElement (By.xpath (".//*[@ id = 'download_now']"));Конструктор дій = нові Дії (драйвер);builder.clickAndHold (). moveToElement (завантажити);builder.moveToElement (завантажити) .build (). perform ();WebElement toolTipElement = driver.findElement (By.xpath (".//*[@ class = 'box'] / div / a"));Рядок actualTooltip = toolTipElement.getText ();System.out.println ("Фактична назва підказки" + фактична підказка);якщо (actualTooltip.equals (очікуванийTooltip)) {System.out.println ("Тест пройдено");}driver.close ();}}
Пояснення коду
- Знайдіть елемент WebElement, який відповідає елементу "завантажити зараз", над яким ми будемо наводити курсор миші.
- За допомогою API взаємодії наведіть курсор миші на "Завантажити зараз".
- Припускаючи, що відображається підказка, знайдіть WebElement, який відповідає посиланню всередині підказки, тобто тегу "a".
- Перевірте текст підказки посилання, отриманий за допомогою getText (), щодо очікуваного значення, яке ми зберегли в "ожидаемому підказці"
Короткий зміст:
У цьому посібнику ви дізналися, як отримати доступ до підказок за допомогою веб-драйвера Selenium.
- Поради щодо інструментів реалізуються різними способами -
- Основна реалізація базується на атрибуті HTML "title". getAttribute (title) отримує значення підказки.
- Інші реалізації підказок інструментів, такі як JQuery, підказки CSS вимагають API взаємодії для створення ефекту наведення миші
- API розширених взаємодій користувачів
- moveToElement (елемент) класу Action використовується для наведення курсора миші на елемент.
- Метод Build () класу Action будує послідовність дій користувача в об'єкт Action.
- Клас Perform () класу Action виконує всю послідовність дій користувача одночасно.
- Для того, щоб перевірити підказку, ми повинні спочатку навести курсор миші на елемент, потім знайти елемент, який відповідає підказці, і отримати його текст або інші значення для перевірки щодо очікуваних значень.