implementation our first webdriver script selenium webdriver tutorial 10
У попередніх двох підручниках ми познайомили вас з базовою архітектурою та особливості WebDriver та інфраструктура, необхідна для початку роботи з Selenium WebDriver . Припускаючи, що ви всі могли налаштувати систему з усіма необхідними утилітами та пакетами, ми будемо рухатися далі із впровадженням нашого першого тестового сценарію WebDriver.
Тому, рухаючись вперед з наступним Підручник із селену WebDriver , ми б створювали сценарій WebDriver. Ми також розсіюємо світло на основні та загальновживані Команди WebDriver . Ми також дізнаємось про пошук стратегій елементів інтерфейсу та їх включення до тестових сценаріїв. Ми також детально вивчимо отримання команд.
Що ви дізнаєтесь:
- Створення сценарію
- Проходження коду
- Виконання тесту
- Розташування веб-елементів
- Типи локаторів та їх синтаксис
- Висновок
- Рекомендована література
Створення сценарію
Для створення скриптів ми використовували б проект “Learning_Selenium”, створений у попередньому навчальному посібнику, та “gmail.com” як тестовану програму (AUT).
Сценарій:
- Запустіть браузер і відкрийте 'Gmail.com'.
- Перевірте заголовок сторінки та роздрукуйте результат перевірки.
- Введіть ім’я користувача та пароль.
- Натисніть кнопку Увійти.
- Закрийте веб-браузер.
Крок 1: Створіть новий клас Java із назвою 'Gmail_Login' у рамках проекту 'Learning_Selenium'.
Крок 2: Скопіюйте та вставте наведений нижче код у класі 'Gmail_Login.java'.
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class Gmail_Login { /** * @param args */ public static void main(String() args) { // objects and variables instantiation WebDriver driver = new FirefoxDriver(); String appUrl = 'https://accounts.google.com'; // launch the firefox browser and open the application url driver.get(appUrl); // maximize the browser window driver.manage().window().maximize(); // declare and initialize the variable to store the expected title of the webpage. String expectedTitle = ' Sign in - Google Accounts '; // fetch the title of the web page and save it into a string variable String actualTitle = driver.getTitle(); // compare the expected title of the page with the actual title of the page and print the result if (expectedTitle.equals(actualTitle)) { System.out.println('Verification Successful - The correct title is displayed on the web page.'); } else { System.out.println('Verification Failed - An incorrect title is displayed on the web page.'); } // enter a valid username in the email textbox WebElement username = driver.findElement(By.id('Email')); username.clear(); username.sendKeys('TestSelenium'); // enter a valid password in the password textbox WebElement password = driver.findElement(By.id('Passwd')); password.clear(); password.sendKeys('password123'); // click on the Sign in button WebElement SignInButton = driver.findElement(By.id('signIn')); SignInButton.click(); // close the web browser driver.close(); System.out.println('Test script executed successfully.'); // terminate the program System.exit(0); } }
Вищезазначений код еквівалентний текстовому сценарію, представленому раніше.
Проходження коду
Імпортні заяви:
import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.By;
До власне сценаріїв нам потрібно імпортувати зазначені вище пакети:
імпорт org.openqa.selenium.WebDriver - Посилається на інтерфейс WebDriver, який необхідний для створення нового веб-браузера.
імпорт org.openqa.selenium.firefox.FirefoxDriver - Посилається на клас FirefoxDriver, який необхідний для створення екземпляра конкретного драйвера Firefox у екземплярі браузера, створеному за допомогою інтерфейсу WebDriver.
імпорт org.openqa.selenium.WebElement - Посилання на клас WebElement, який необхідний для створення нового веб-елемента.
імпорт org.openqa.selenium.By - Посилання на клас By, для якого викликається тип локатора.
У міру того, як і коли наш проект буде рости, очевидно і логічно, що нам, можливо, доведеться запровадити кілька інших пакетів для більш складних та чітких функціональних можливостей, таких як маніпуляції з Excel, підключення до бази даних, реєстрація, твердження тощо.
найкраще програмне забезпечення для видалення шкідливого та шпигунського програмного забезпечення
Об'єкт інстанціація
Драйвер WebDriver = новий FirefoxDriver ();
Ми створюємо посилальну змінну для інтерфейсу WebDriver та створюємо її за допомогою класу FirefoxDriver. Буде запущено профіль Firefox за замовчуванням, що означає, що жодні розширення та плагіни не завантажуватимуться з екземпляром Firefox, і він працює в безпечному режимі.
Запуск веб-браузера
driver.get (appUrl);
ДО отримати () метод викликається на екземплярі WebDriver для запуску нового екземпляра веб-браузера. Послідовність рядкових символів, передана як параметр в отримати () метод переспрямовує запущений екземпляр веб-браузера на URL-адресу програми.
Розгорнути вікно браузера
driver.manage (). window (). maximize ();
розгорнути () метод використовується для максимізації вікна браузера незабаром після того, як воно перенаправляється на URL-адресу програми.
Завантажте заголовок сторінки
driver.getTitle ();
getTitle () метод використовується для отримання заголовка поточної веб-сторінки. Таким чином, отриманий заголовок можна завантажити до рядкової змінної.
Порівняння очікуваних та фактичних значень:
if (expectedTitle.equals(actualTitle)) { System.out.println('Verification Successful - The correct title is displayed on the web page.'); } else { System.out.println('Verification Failed - An incorrect title is displayed on the web page.'); }
У наведеному вище коді використовуються умовні конструкції Java-конструкцій для порівняння фактичного значення та очікуваного значення. На основі отриманого результату буде виконано оператор друку.
Втілення WebElement
Ім'я користувача WebElement = driver.findElement (By.id (“Електронна пошта”));
У наведеному вище твердженні ми створюємо екземпляр посилання на WebElement за допомогою “Driver.findElement (By.id (“ Електронна пошта ”))”. Таким чином, ім’я користувача може використовуватися для посилання на текстове поле електронної пошти в інтерфейсі користувача кожного разу, коли ми хочемо виконати з ним якусь дію.
Команда Clear
username.clear ();
Метод / команда clear () використовується для очищення значень, наявних у текстовому полі, якщо такі є. Це також очищає значення заповнювача за замовчуванням.
Команда sendKeys
Топ mp3 завантаження музики для Android - -
username.sendKeys (“TestSelenium“);
sendKeys () метод / команда використовується для введення / введення вказаного значення (у дужках) у текстове поле. Зверніть увагу, що sendKeys () метод викликається для об'єкта WebElement, який був створений за допомогою властивості елемента, що відповідає елементу інтерфейсу користувача.
Вищевказаний блок коду вводить рядок “TestSelenium” усередині текстового поля Електронної пошти програми Gmail.
sendKeys - одна з найбільш популярних команд у сценаріях WebDriver.
Клацніть Команда
SignInButton.click ();
Подібно до sendKeys (), клацніть () - це ще одна надмірно використовувана команда для взаємодії з веб-елементами. Клацніть () команда / метод використовується для клацання на веб-елементі, присутньому на веб-сторінці.
Вищевказаний блок коду натискає кнопку 'Увійти', яка присутня в програмі Gmail.
Примітки:
- На відміну від методу sendKeys (), методи click () ніколи не можуть бути параметризовані.
- Іноді натискання веб-елемента може взагалі завантажити нову сторінку. Таким чином, щоб підтримувати такі випадки, метод click () кодується таким чином, щоб зачекати, поки сторінка завантажиться.
Закрийте веб-браузер
driver.close ();
Закрити () використовується для закриття поточного вікна браузера.
Завершення роботи програми Java
System.exit (0);
Метод Exit () примусово завершує програму Java. Таким чином, не забудьте закрити всі екземпляри браузера до завершення роботи програми Java.
Виконання тесту
Тестовий скрипт або просто Java-програму можна виконати наступними способами:
№1. У рядку меню Eclipse є значок для запуску тестового сценарію. Зверніться до наступного малюнка.
аніме телевізор все безкоштовно для вас
Зверніть увагу, що виконуватиметься лише вибраний клас.
# два. Клацніть правою кнопкою миші в будь-якому місці всередині класу в редакторі, виберіть опцію «Запустити як» і натисніть «Застосування Java».
№3. Ще одним ярликом для запуску тестового сценарію є - натисніть ctrl + F11.
В кінці циклу виконання виводиться оператор друку «Тестовий сценарій успішно виконаний». можна знайти в консолі.
Розташування веб-елементів
Веб-елементи у WebDriver можна знаходити та перевіряти так само, як це було в попередніх підручниках Selenium IDE. Селен IDE та Firebug можна використовувати для перевірки веб-елемента в графічному інтерфейсі. Для пошуку веб-елементів настійно рекомендується використовувати ID середовища Selenium. Після успішного пошуку веб-елемента скопіюйте та вставте цільове значення в код WebDriver. Типи локаторів та стратегії визначення місця розташування майже однакові, за винятком синтаксису та їх застосування.
У WebDriver веб-елементи розміщуються за допомогою динамічних шукачів (findElement (By.locatorType (“значення локатора”))).
Зразок коду:
driver.findElement (By.id (“Електронна пошта”));
Типи локаторів та їх синтаксис
Тип локатора | Синтаксис | Опис |
---|---|---|
cssSelector | driver.findElement (By.cssSelector ('Вибір CSS')) | Знайти за значенням селектор CSS |
ідентифікатор | driver.findElement (By.id (“ID_of_Element”)) | Знайти за значенням атрибут “id” |
className | driver.findElement (By.className (“Class_of_Element”)) | Знайти за значенням атрибут “клас” |
linkText | driver.findElement (By.linkText («Текст»)) | Знайдіть за значенням текст гіперпосилання |
частковийLinkText | driver.findElement (By.partialLinkText (“Частковий текст”)) | Знайдіть за значенням підтекст гіперпосилання |
ім'я | driver.findElement (Під ім'ям (“Ім'я_елемента”)) | Знайдіть за значенням Атрибут “name” |
xpath | driver.findElement (By.xpath (“Xpath”)) | Знайдіть за значенням xpath |
tagName | driver.findElement (By.tagName (“вхід”)) | Знайти за значенням назва його тегу |
Висновок
У цьому посібнику ми розробили сценарій автоматизації за допомогою WebDriver та Java. Ми також обговорили різні компоненти, які складають сценарій WebDriver.
Ось суть цього підручника Selenium WebDriver:
- До власне сценаріїв нам потрібно імпортувати кілька пакетів, щоб мати можливість створити сценарій WebDriver.
- імпорт openqa.selenium.By;
- імпорт openqa.selenium.WebDriver;
- імпорт openqa.selenium.WebElement;
- імпорт openqa.selenium.firefox.FirefoxDriver;
- ДО отримати () метод, який використовується для запуску нового екземпляра веб-браузера. Послідовність символів, передана як параметр у метод get (), перенаправляє запущений екземпляр веб-браузера на URL-адресу програми.
- розгорнути () метод використовується для максимізації вікна браузера.
- ясно () Метод використовується для очищення значення, наявного в текстовому полі, якщо воно є.
- sendKeys () метод використовується для введення вказаного значення в текстове поле.
- Клацніть () метод використовується для клацання на веб-елементі, присутньому на веб-сторінці.
- У WebDriver веб-елементи можуть знаходитись за допомогою динамічних шукачів.
- Нижче наведено доступні типи локаторів:
- ідентифікатор
- className
- ім'я
- xpath
- cssSelector
- linkText
- частковийLinkText
- tagName
Просуваючись далі, у наступному навчальному посібнику ми зосередимо увагу на структурі, яка допомагає тестуванню на автоматизацію, відому як TestNG. Ми б провели детальне вивчення різних видів анотацій, передбачених фреймворком.
Наступний підручник No11 : Перш ніж зануритися в фреймворки, ми побачимо подробиці про JUnit - інструмент модульного тестування з відкритим кодом. Більшість програмістів використовують JUnit, оскільки це легко і не вимагає особливих зусиль для тестування. Цей підручник дасть уявлення про JUnit та його використання у сценарії селену.
Зауваження для читачів: Поки наш наступний підручник із серії Selenium перебуває в режимі обробки, читачі можуть почати створювати власні базові сценарії WebDriver. Для отримання додаткових сценаріїв та концепцій ми маємо різні підручники з Selenium WebDriver, які з’являться у цій серії.
Повідомте нас у коментарях, якщо у вас виникли проблеми зі створенням або виконанням сценаріїв WebDriver.
Рекомендована література
- Вступ до Selenium WebDriver - Підручник з селену №8
- Підручник з огірка селену: інтеграція огірка Java Selenium WebDriver
- Повне налаштування та встановлення WebDriver за допомогою Eclipse - Підручник селену № 9
- Перевірте видимість веб-елементів, використовуючи різні типи команд WebDriver - Підручник з селену №14
- Ефективні сценарії сценаріїв та усунення несправностей селену - Підручник селену No27
- Як обробляти сповіщення / спливаючі вікна в Selenium WebDriver - Підручник з селену No16
- Налагодження сценаріїв селену за допомогою журналів (Підручник Log4j) - Підручник селену # 26
- Вступ до JUnit Framework та його використання у сценарії селену - Підручник з селену No11