Ствердити та підтвердити в Selenium IDE
⚡ Розумний підсумок
Selenium IDE зі скриптами та командами дозволяє тестувальникам записувати, редагувати та відтворювати дії браузера за допомогою Selenese — легкої команди IDE. У цій статті розглядається запис скрипта, написання Selenese вручну, вибір між Assert та Verify, а також налагодження за допомогою точок зупинки.

Ми будемо використовувати Mercury Вебсайт Tours як наш тестовий веб-застосунок. Це система онлайн-бронювання авіаквитків, яка містить усі елементи, необхідні для цього посібника. Її основа URL is https://demo.guru99.com/test/newtours/.
Давайте тепер створимо наш перший тестовий сценарій у Selenium IDE, використовуючи найпоширеніший метод — шляхом запису. Після цього ми виконаємо скрипт, використовуючи функцію відтворення.
Примітка: У цьому посібнику використовується класичний Firefox-тільки Selenium IDE 1.x з Firebug для впровадження основ Selenese. Firebug було припинено підтримку у Firefox 57, і сучасний Selenium IDE тепер є Chrome / Firefox / Розширення для браузера Edge з іншим інтерфейсом користувача. Концепції, типи команд та функції налагодження Selenese, описані нижче, все ще застосовуються безпосередньо до нового IDE.
Створіть сценарій шляхом запису
Крок 1)
- Запуск Firefox та Selenium ІДЕ.
- Введіть значення для нашої бази URL:
https://demo.guru99.com/test/newtours/. - Togglувімкнути кнопку «Запис» (якщо вона не ввімкнена за замовчуванням).
Крок 2) In Firefox, перейдіть до https://demo.guru99.com/test/newtours/. Firefox має потрапити на сторінку, подібну до тієї, що наведена нижче.
Крок 3)
- Клацніть правою кнопкою миші на будь-якому порожньому місці на сторінці, наприклад, на Mercury логотип Tours у верхньому лівому куті. Це відкриє Selenium Контекстне меню IDE. Чи не клацніть на будь-яких об’єктах або зображеннях з гіперпосиланнями.
- Оберіть Показати доступні команди варіант.
- Оберіть
assertTitle exact: Welcome: Mercury ToursЦя команда перевіряє правильність заголовка сторінки.
Крок 4)
- Перейдіть на вкладку ім'я користувача текстове поле Mercury Тури, введіть недійсне ім'я користувача
invalidUNN. - Перейдіть на вкладку Пароль текстове поле, введіть недійсний пароль
invalidPWD.
Крок 5) Натисніть Увійти . Firefox має потрапити на сторінку, показану нижче.
Крок 6) TogglВимкніть кнопку запису, щоб зупинити запис. Ваш сценарій має бути схожим на наведений нижче.
Крок 7) Тепер збережіть записаний тестовий скрипт. У Файл меню, виберіть Зберегти тестовий випадок, або натисніть Ctrl+S.
Крок 8)
- Виберіть папку призначення, а потім назвіть тестовий випадок Недійсний логін.
- Натисніть Зберегти.
Крок 9) Зверніть увагу, що файл збережено у форматі HTML.
Крок 10) Повернутися до Selenium IDE та натисніть кнопку відтворення кнопка для виконання всього скрипта. Selenium IDE точно відтворює кожну дію.
Введення в Selenium Команди – Selenese
Selenese — це мова сценаріїв, яка керує Selenium IDE. Правила прості:
- Кожна команда селенського алфавіту приймає до двох параметрів — мета і значення.
- Параметри не завжди обов'язкові. Їх кількість залежить від команди.
Типи команд
Селенська мова групує команди у три категорії. Кожна з них має різну роль у скрипті.
| Дії | Команди, які безпосередньо взаємодіють з елементами сторінки. Приклад: click взаємодіє з елементом, на який ви натискаєте; type поміщає значення в текстове поле, а текстове поле відображає його у відповідь, забезпечуючи двосторонню взаємодію. |
| Аксесуари | Команди, що зберігають значення у змінній. Приклад: storeTitle лише зчитує заголовок сторінки та зберігає його — нічого на сторінці не змінює. |
| Твердження | Команди, що перевіряють умову. Selenese надає три типи тверджень: Assert зупиняє тест у разі невдачі, Перевірити реєструє помилку та продовжує роботу, і Зачекай на призупиняється, доки умова не стане істинною (тайм-аут за замовчуванням 30 секунд, налаштовується в розділі Параметри > Загальні). |
Стверджувати проти Перевіряти в Selenium
Наведені нижче діаграми порівнюють поведінку команди Assert під час виконання з командою Verify, коли перевірка не вдається під час тестування.
Загальні команди
| Command | Кількість параметрів | Опис |
|---|---|---|
| відкрити | 0-2 | Відкриває сторінку за допомогою URL. |
| клік / клікІчекай | 1 | Клацає на вказаному елементі. |
| тип / typeKeys | 2 | Вводить послідовність символів. |
| verifyTitle / assertTitle | 1 | Порівнює фактичний заголовок сторінки з очікуваним значенням. |
| verifyTextPresent | 1 | Перевіряє, чи знайдено заданий текст на сторінці. |
| verifyElementPresent | 1 | Перевіряє наявність певного елемента. |
| verifyTable | 2 | Порівнює вміст таблиці з очікуваними значеннями. |
| waitForPageToLoad | 1 | Призупиняє виконання, доки не завершиться завантаження сторінки. |
| waitForElementPresent | 1 | Призупиняє виконання, доки не з'явиться вказаний елемент. |
Створіть сценарій вручну за допомогою Firebug
Давайте тепер відтворимо той самий тестовий випадок вручну, використовуючи typing команди. У цьому покроковому посібнику використовується Firebug для перевірки локаторів елементів. (У сучасному Selenium IDE, використовуйте вбудовані інструменти розробника браузера замість Firebug.)
Крок 1) відкритий Firefox та Selenium IDE. Введіть базу URL https://demo.guru99.com/test/newtours/Кнопка запису має бути вимкнена.
Крок 2) Клацніть на самому верхньому порожньому рядку в редакторі.
тип open у текстовому полі Команда та натисніть Enter.
Крок 3) Подолання Firefox до основи URL та активуйте Firebug. У редакторі IDE виберіть рядок під open команда та введіть assertTitleВикористовуйте пропозиції автозаповнення для точності.
Крок 4) У Firebug розгорніть <head> тег, щоб розкрити <title>. Клацніть значення заголовка (Ласкаво просимо Mercury тури) і вставте його в Target поле в редакторі.
Крок 5) Клацніть третій порожній рядок у редакторі та введіть type у полі «Команда». У Firebug натисніть кнопку Інспектувати .
Клацніть текстове поле «Ім’я користувача». Firebug автоматично покаже відповідний HTML-елемент.
Крок 6) Текстове поле «Ім’я користувача» не має ідентифікатора, але має атрибут NAME. Скопіюйте значення NAME та вставте його в Target поле Selenium ІДЕ.
Все ще в Target поле, префікс userName з name= so Selenium IDE орієнтується на елемент, атрибут NAME якого userName.
тип invalidUN у полі «Значення». Тепер ваш скрипт має третю команду. Selenium IDE чутливе до регістру, тому вводьте значення та назви атрибутів точно так, як вони відображаються в застосунку.
Крок 7) Додайте четверту команду за допомогою typing type у полі «Команда». Використовуйте Firebug Інспектувати кнопку у текстовому полі Пароль.
Вставте атрибут NAME (password) в Target поле, префікс з name=та встановіть значення на invalidPW.
Крок 8) Додайте п'яту команду через typing clickAndWait у полі «Команда». Використовуйте Firebug Інспектувати на кнопці «Увійти».
Вставте значення NAME (login) в Target поле з name= префікс.
Крок 9) Збережіть тестовий випадок, як і раніше.
Використання кнопки «Знайти».
Команда знайти кнопка в Selenium IDE підтверджує, що значення, введене в Target поле фактично відповідає елементу інтерфейсу користувача на сторінці.
Відкрийте Недійсний логін тестовий випадок з попереднього розділу та клацніть будь-яку команду з Target запис — наприклад, третя команда.
Натисніть знайтиТекстове поле «Ім’я користувача» на Mercury Сторінка турів ненадовго виділяється.
Найцікавіше підтверджує, що Selenium IDE правильно визначило локатор. Якщо виділено неправильний елемент (або його немає), локатор у скрипті потрібно виправити.
Виконати команду
Команда «Виконати команду» запускає один рядок скрипта, не запускаючи весь тестовий випадок. Клацніть лінію, яку ви хочете прокласти, і виберіть Дії > Виконати цю команду з меню або натисніть X на клавіатурі.
Крок 1) Переконайтеся, що браузер увімкнено Mercury Головна сторінка турів. Натисніть на лінію, яку ви хочете прокласти, наприклад, type | userName | invalidUN.
Крок 2) Преса X на клавіатурі.
Крок 3) Текстове поле імені користувача на сторінці заповнюється invalidUN.
Виконання команд таким чином залежить від сторінки, яка Firefox зараз відображається. Виконання тієї ж команди на GoogleДомашня сторінка не вийде, оскільки немає поля з назвою userName там.
Початковий пункт
Початкова точка підказує Selenium IDE, з якого рядка розпочати виконання. Клавіша швидкого доступу — S.
У наведеному вище прикладі відтворення починається з третього рядка (type | password | invalidPW). Тестовий скрипт може мати лише одну початкову точку. Як і у випадку з командою «Виконати команду», початкова точка залежить від поточної відображеної сторінки та не виконується, якщо сторінка неправильна.
Точки зупинки
Точки зупинки повідомляють Selenium IDE для автоматичної паузи тесту на заданому рядку. Клавіша швидкого доступу — B.
Жовтим кольором позначено призупинений крок. Тестовий випадок може мати кілька точок зупинки.
Крок
Команда Крок Команда виконує наступний рядок після призупиненого тестового випадку. Використовуйте її разом із точками зупинки, щоб пройтися по скрипту по одній команді за раз.
Перш ніж натиснути кнопку «Крок». Тестовий випадок призупинено на лінії clickAndWait | login. |
|
Після натискання кнопки «Крок». Команда clickAndWait | login команда виконується, а виконання призупиняється на наступній команді (verifyTitle | Sign-on: Mercury Tours). Наступний рядок призупиняється навіть без точки зупинки — саме в цьому і полягає призначення Step. |
Важливі речі, на які слід звернути увагу під час використання інших форматів у вихідному вигляді
Selenium IDE 1.x надійно працює лише з форматом HTML — інші формати все ще є експериментальними. Не рекомендується створювати або редагувати тести у режимі перегляду вихідного коду, відмінному від HTML. Відомі проблеми, починаючи з версії 1.9.1:
- Ви не можете використовувати відтворення або повернутися до табличного вигляду, не повернувшись до HTML.
- Найбезпечніший спосіб додавання команд у вікні Source View – це їх запис.
- Ручні редагування у вікні перегляду вихідного коду втрачаються під час переходу до іншого формату.
- Ви можете зберегти тестовий випадок у вікні перегляду вихідного коду, але Selenium IDE може не вдатися його повторно відкрити.
Рекомендований спосіб конвертації тестів селенської мови в інші мови – це Файл > Експортувати тестовий випадок як… меню, а не вікно перегляду джерела.

.png)
.png)
.png)














.png)










.png)
.png)






