Ствердити та підтвердити в Selenium IDE

⚡ Розумний підсумок

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

  • 🎬 Запис перший: Selenium IDE автоматично фіксує кліки, вхідні дані та твердження під час роботи з браузером.
  • 🧩 Селенська мова: Кожна команда має назву команди, необов'язкову ціль та необов'язкове значення — ніколи не більше двох параметрів.
  • 🛑 Стверджувати проти перевіряти: Assert зупиняє тест у разі невдачі; Verify записує невдачу в журнал і продовжує виконання наступного кроку.
  • 🔍 Три типи команд: Дії взаємодіють зі сторінкою, аксессори зчитують стан у змінні, твердження перевіряють умови.
  • 🐞 Допоміжні засоби для налагодження: Використовуйте "Виконати команду", "Початкова точка", "Точки зупинки" та "Крок" для перевірки або повторного виконання однієї команди за раз.
  • 🤖 Підсилення ШІ: Інструменти тестування штучного інтелекту автоматично генерують код Selenese, пропонують надійні локатори та конвертують скрипти IDE в Selenium Код WebDriver.

Як зламати (зламати) пароль?

Ми будемо використовувати 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увімкнути кнопку «Запис» (якщо вона не ввімкнена за замовчуванням).

Selenium IDE з базою URL кнопка «Установити» та «Запис» увімкнена

Крок 2) In Firefox, перейдіть до https://demo.guru99.com/test/newtours/. Firefox має потрапити на сторінку, подібну до тієї, що наведена нижче.

Mercury Домашня сторінка турів Firefox

Крок 3)

  • Клацніть правою кнопкою миші на будь-якому порожньому місці на сторінці, наприклад, на Mercury логотип Tours у верхньому лівому куті. Це відкриє Selenium Контекстне меню IDE. Чи не клацніть на будь-яких об’єктах або зображеннях з гіперпосиланнями.
  • Оберіть Показати доступні команди варіант.
  • Оберіть assertTitle exact: Welcome: Mercury ToursЦя команда перевіряє правильність заголовка сторінки.

Selenium Контекстне меню IDE з кнопкою «Показати доступні команди»

Selenium Додано редактор IDE, що відображає команду assertTitle.

Крок 4)

  • Перейдіть на вкладку ім'я користувача текстове поле Mercury Тури, введіть недійсне ім'я користувача invalidUNN.
  • Перейдіть на вкладку Пароль текстове поле, введіть недійсний пароль invalidPWD.

Введено недійсне ім'я користувача Mercury Форма турів

Введено недійсний пароль Mercury Форма турів

Крок 5) Натисніть Увійти . Firefox має потрапити на сторінку, показану нижче.

Mercury Сторінка помилки входу в Тури

Крок 6) TogglВимкніть кнопку запису, щоб зупинити запис. Ваш сценарій має бути схожим на наведений нижче.

Selenium Записаний IDE скрипт після зупинкиping диктофон

Крок 7) Тепер збережіть записаний тестовий скрипт. У Файл меню, виберіть Зберегти тестовий випадок, або натисніть Ctrl+S.

Опція «Зберегти тестовий випадок» у Selenium Меню IDE-файлу

Крок 8)

  • Виберіть папку призначення, а потім назвіть тестовий випадок Недійсний логін.
  • Натисніть Зберегти.

Зберегти діалогове вікно з назвою Selenium Тестовий випадок IDE Invalid_login

Крок 9) Зверніть увагу, що файл збережено у форматі HTML.

Збережений файл тестового випадку з розширенням HTML

Крок 10) Повернутися до Selenium IDE та натисніть кнопку відтворення кнопка для виконання всього скрипта. Selenium IDE точно відтворює кожну дію.

Selenium Кнопка відтворення IDE, що виконує записаний скрипт

Введення в Selenium Команди – Selenese

Selenese — це мова сценаріїв, яка керує Selenium IDE. Правила прості:

  • Кожна команда селенського алфавіту приймає до двох параметрів — мета і значення.
  • Параметри не завжди обов'язкові. Їх кількість залежить від команди.

Типи команд

Селенська мова групує команди у три категорії. Кожна з них має різну роль у скрипті.

Дії Команди, які безпосередньо взаємодіють з елементами сторінки. Приклад: click взаємодіє з елементом, на який ви натискаєте; type поміщає значення в текстове поле, а текстове поле відображає його у відповідь, забезпечуючи двосторонню взаємодію.
Аксесуари Команди, що зберігають значення у змінній. Приклад: storeTitle лише зчитує заголовок сторінки та зберігає його — нічого на сторінці не змінює.
Твердження Команди, що перевіряють умову. Selenese надає три типи тверджень: Assert зупиняє тест у разі невдачі, Перевірити реєструє помилку та продовжує роботу, і Зачекай на призупиняється, доки умова не стане істинною (тайм-аут за замовчуванням 30 секунд, налаштовується в розділі Параметри > Загальні).

Стверджувати проти Перевіряти в Selenium

Наведені нижче діаграми порівнюють поведінку команди Assert під час виконання з командою Verify, коли перевірка не вдається під час тестування.

Зупинка поведінки команди Assertping випробування на невдачу

Перевірте поведінку команди, продовжуючи тест після зареєстрованої помилки

Загальні команди

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/Кнопка запису має бути вимкнена.

Selenium Перемикач запису IDE у вимкненому стані

Крок 2) Клацніть на самому верхньому порожньому рядку в редакторі.

Вибір першого порожнього рядка в Selenium Редактор IDE

тип open у текстовому полі Команда та натисніть Enter.

Команда відкриття, введена в Selenium Поле команди IDE

Крок 3) Подолання Firefox до основи URL та активуйте Firebug. У редакторі IDE виберіть рядок під open команда та введіть assertTitleВикористовуйте пропозиції автозаповнення для точності.

Пропозиції автозаповнення для assertTitle в Selenium IDE

Крок 4) У Firebug розгорніть <head> тег, щоб розкрити <title>. Клацніть значення заголовка (Ласкаво просимо Mercury тури) і вставте його в Target поле в редакторі.

Копіювання заголовка сторінки з Firebug у цільове поле IDE

Крок 5) Клацніть третій порожній рядок у редакторі та введіть type у полі «Команда». У Firebug натисніть кнопку Інспектувати .

Введіть команду, яка додається Selenium Редактор IDE

Клацніть текстове поле «Ім’я користувача». Firebug автоматично покаже відповідний HTML-елемент.

Firebug перевіряє поле "Ім'я користувача" на Mercury тури

Крок 6) Текстове поле «Ім’я користувача» не має ідентифікатора, але має атрибут NAME. Скопіюйте значення NAME та вставте його в Target поле Selenium ІДЕ.

Копіювання атрибута NAME поля імені користувача

Все ще в Target поле, префікс userName з name= so Selenium IDE орієнтується на елемент, атрибут NAME якого userName.

Selenium Цільове поле IDE з локатором name=userName

тип invalidUN у полі «Значення». Тепер ваш скрипт має третю команду. Selenium IDE чутливе до регістру, тому вводьте значення та назви атрибутів точно так, як вони відображаються в застосунку.

Введіть команду, що таргетингує name=userName зі значенням invalidUN

Крок 7) Додайте четверту команду за допомогою typing type у полі «Команда». Використовуйте Firebug Інспектувати кнопку у текстовому полі Пароль.

Firebug перевіряє поле пароля

Вставте атрибут NAME (password) в Target поле, префікс з name=та встановіть значення на invalidPW.

Selenium Скрипт IDE після додавання команди введення пароля

Крок 8) Додайте п'яту команду через typing clickAndWait у полі «Команда». Використовуйте Firebug Інспектувати на кнопці «Увійти».

Firebug перевіряє кнопку входу

Вставте значення NAME (login) в Target поле з name= префікс.

Остаточний посібник Selenium IDE-скрипт з п'ятьма командами

Крок 9) Збережіть тестовий випадок, як і раніше.

Використання кнопки «Знайти».

Команда знайти кнопка в Selenium IDE підтверджує, що значення, введене в Target поле фактично відповідає елементу інтерфейсу користувача на сторінці.

Відкрийте Недійсний логін тестовий випадок з попереднього розділу та клацніть будь-яку команду з Target запис — наприклад, третя команда.

Кнопка «Знайти» поруч із Target поле в Selenium IDE

Натисніть знайтиТекстове поле «Ім’я користувача» на Mercury Сторінка турів ненадовго виділяється.

Поле «Ім’я користувача» виділено в Firefox після натискання кнопки «Знайти»

Найцікавіше підтверджує, що Selenium IDE правильно визначило локатор. Якщо виділено неправильний елемент (або його немає), локатор у скрипті потрібно виправити.

Виконати команду

Команда «Виконати команду» запускає один рядок скрипта, не запускаючи весь тестовий випадок. Клацніть лінію, яку ви хочете прокласти, і виберіть Дії > Виконати цю команду з меню або натисніть X на клавіатурі.

Крок 1) Переконайтеся, що браузер увімкнено Mercury Головна сторінка турів. Натисніть на лінію, яку ви хочете прокласти, наприклад, type | userName | invalidUN.

Введіть команду, вибрану для виконання, у Selenium IDE

Крок 2) Преса X на клавіатурі.

Крок 3) Текстове поле імені користувача на сторінці заповнюється invalidUN.

Поле імені користувача заповнюється після виконання команди

Виконання команд таким чином залежить від сторінки, яка Firefox зараз відображається. Виконання тієї ж команди на GoogleДомашня сторінка не вийде, оскільки немає поля з назвою userName там.

Початковий пункт

Початкова точка підказує Selenium IDE, з якого рядка розпочати виконання. Клавіша швидкого доступу — S.

Початкова точка встановлена ​​на Selenium Рядок скрипта IDE

У наведеному вище прикладі відтворення починається з третього рядка (type | password | invalidPW). Тестовий скрипт може мати лише одну початкову точку. Як і у випадку з командою «Виконати команду», початкова точка залежить від поточної відображеної сторінки та не виконується, якщо сторінка неправильна.

Точки зупинки

Точки зупинки повідомляють Selenium IDE для автоматичної паузи тесту на заданому рядку. Клавіша швидкого доступу — B.

Індикатор точки зупинки на Selenium Рядок скрипта IDE

Жовтим кольором позначено призупинений крок. Тестовий випадок може мати кілька точок зупинки.

Крок

Команда Крок Команда виконує наступний рядок після призупиненого тестового випадку. Використовуйте її разом із точками зупинки, щоб пройтися по скрипту по одній команді за раз.

Тест призупинено на clickAndWait перед натисканням на крок

Перш ніж натиснути кнопку «Крок». Тестовий випадок призупинено на лінії clickAndWait | login.

Перехід до наступної команди після натискання кнопки «Крок» до тесту

Після натискання кнопки «Крок». Команда clickAndWait | login команда виконується, а виконання призупиняється на наступній команді (verifyTitle | Sign-on: Mercury Tours). Наступний рядок призупиняється навіть без точки зупинки — саме в цьому і полягає призначення Step.

Важливі речі, на які слід звернути увагу під час використання інших форматів у вихідному вигляді

Застереження щодо форматів перегляду вихідного коду, відмінних від HTML

Selenium IDE 1.x надійно працює лише з форматом HTML — інші формати все ще є експериментальними. Не рекомендується створювати або редагувати тести у режимі перегляду вихідного коду, відмінному від HTML. Відомі проблеми, починаючи з версії 1.9.1:

  • Ви не можете використовувати відтворення або повернутися до табличного вигляду, не повернувшись до HTML.
  • Найбезпечніший спосіб додавання команд у вікні Source View – це їх запис.
  • Ручні редагування у вікні перегляду вихідного коду втрачаються під час переходу до іншого формату.
  • Ви можете зберегти тестовий випадок у вікні перегляду вихідного коду, але Selenium IDE може не вдатися його повторно відкрити.

Рекомендований спосіб конвертації тестів селенської мови в інші мови – це Файл > Експортувати тестовий випадок як… меню, а не вікно перегляду джерела.

Поширені запитання

Спадщина Firefox-тільки Selenium IDE 1.x більше не підтримується. Сучасна Selenium IDE — це розширення для браузера Chrome, Firefox, та Edge від selenium.dev, що підтримує запис та відтворення, а також експорт у код WebDriver.

Використовуйте Assert для жорстких передумов, коли тест не може продовжуватися (наприклад, спочатку має завантажитися права сторінка). Використовуйте Verify, коли пізніші перевірки все ще додають цінність, навіть якщо поточна не пройшла, наприклад, перевірка кількох полів у формі.

Firebug було виведено з експлуатації у Firefox 57. Використовуйте вбудовані інструменти розробника браузера (F12) або розширення, такі як SelectorsHub, ChroPath або Playwright Inspector, щоб отримати локатори XPath та CSS для Selenium скриптів.

Так. AI Тестові платформи відстежують сесії користувачів, генерують команди Selenese, пропонують надійні локатори та конвертують записані скрипти в Selenium Код WebDriver у Java, Pythonабо JavaСкрипт зі значно меншими ручними зусиллями.

Генеративний ШІ аналізує знімки DOM та пропонує локатори з меншою ймовірністю поломки, надаючи перевагу атрибутам тестування даних над крихким XPath. Самовідновлювальні агенти ШІ автоматично перезаписують локатори після змін інтерфейсу користувача, зберігаючи...ping Selenium Зелений колір скриптів IDE.

Підсумуйте цей пост за допомогою: