Selenium Підручник IDE

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

Selenium IDE — це інструмент запису та відтворення Selenium люкс, створений для прототипівping тести, а не підтримку великих пакетів, а його панелі охоплюють запис, редагування, виконання та перевірку кожної команди Selenese.

  • 🔘 Мета: IDE записує дії браузера як команди Selenese та відтворює їх без будь-якого програмування.
  • ☑️ Сфера застосування: Ставтеся до цього як до прототипуping інструмент, а потім експортуйте скрипт для підтримки фреймворку.
  • Рядок меню: Дескриптори файлів створюють, відкривають, зберігають та експортують; Редагування вставляє нові команди та коментарі.
  • 🧪 варіанти: Діалогове вікно «Параметри» встановлює час очікування за замовчуванням, базовий URL поведінка та порядок побудови локатора.
  • 🛠️ Редактор: У табличному режимі вводяться команди, цілі та значення; у режимі вихідного коду відображається той самий скрипт, що й у розмітці.
  • 📊 Панелі зворотного зв'язку: В області журналу відображаються повідомлення про налагодження, інформацію, попередження та помилки, а в області довідок пояснюється вибрана команда.
  • ???? Сьогодні: Поточне IDE — це Chrome, Firefox та розширення Edge, яке зберігає проекти як один файл .side.

Selenium Підручник з IDE, що охоплює його панелі, меню та панель інструментів

Що таке Selenium IDE?

Selenium IDE (Інтегроване середовище розробки) є найпростішим інструментом у Selenium Люкс. Це Firefox доповнення, яке дуже швидко створює тести завдяки функції запису та відтворення. Ця функція подібна до функції QTPЙого легко встановити та легко вивчити.

⚠️ Примітка щодо версій: Firefox Доповнення, зображене в цій статті, було припинено. Інструмент продовжує працювати як додаток Chrome, Firefox і край Розширення браузера який зберігає запис і відтворення, але змінює порядок інтерфейсу та зберігає проект як єдиний файл .side файл. Кожен оригінальний екран і налаштування нижче зберігаються в опублікованому вигляді.

Через свою простоту, Selenium IDE слід використовувати лише як прототипping інструмент, а не комплексне рішення для розробниківping та підтримка складних тестових наборів.

Хоча використовувати можна буде Selenium IDE без попередніх знань у програмуванні, ви повинні бути знайомі принаймні з HTML, JavaScript, та DOM (модель об'єктів документа), щоб використовувати цей інструмент на повну потужність. Знання JavaСкрипт знадобиться, коли ми дійдемо до розділу про команду селенської мови «runScript».

Selenium IDE підтримує режим автозаповнення при створенні тестів. Ця функція служить двом цілям:

  • Це допомагає тестеру швидше вводити команди.
  • Він забороняє користувачеві вводити недійсні команди.

Selenium Особливості IDE

На екрані з підписами нижче позначено кожен регіон, згаданий у решті цієї статті.

Selenium Вікно IDE з рядком меню, база URL панель інструментів, панель тестових випадків, редактор і панель журналу з позначками

рядок меню

Він розташований у найвищій частині IDE. Найчастіше використовуються такі меню: «Файл», «Редагувати» та «Параметри».

меню Файл

  • Він містить параметри для створення, відкриття, збереження та закриття тестів.
  • Тести зберігаються у форматі HTML.
  • Найкорисніша опція — «Експорт», оскільки вона дозволяє перетворити ваш Selenium Тестові випадки IDE у формати файлів, на яких можна працювати Selenium Дистанційне керування та веб-драйвер
  • «Експортувати тестовий випадок як…» експортуватиме лише поточний відкритий тестовий випадок.
  • «Експортувати набір тестів як…» експортує всі тестові випадки у відкритому наборі тестів.

У розгорнутому меню «Файл» нижче обидва записи експорту відображаються поруч.

Selenium Меню «Файл IDE» розгорнуто, з’являються пункти «Експортувати тестовий випадок як» та «Експортувати набір тестів як»

  • Щодо Selenium IDE версії 1.9.1, тестові випадки можна експортувати лише в такі формати:
    • .cs (вихідний код C#)
    • .java (Java вихідний код)
    • .py (Python вихідний код)
    • .rb (вихідний код Ruby)

Експорт перезаписує кожен рядок селенської мови як оператор вибраною мовою, як це відбувається з HTML-до-Java порівняння показує.

Тестовий випадок HTML на Selenese, показаний поруч із еквівалентним експортованим файлом Java вихідні

Примітка: Selenium Пульт дистанційного керування було видалено в Selenium 3, тому експортований RC-скрипт більше не працює. Поточна IDE замість цього експортує код WebDriver.

Редагувати меню

  • Він містить такі звичайні параметри, як Скасувати, Повторити, Вирізати, Копіювати, Вставити, Видалити та Вибрати все.
  • Дві найважливіші опції – це «Вставити нову команду» та «Вставити новий коментар».

Selenium Меню редагування IDE з виділеними пунктами «Вставити нову команду» та «Вставити новий коментар»

Щойно вставлену команду чи коментар буде розміщено поверх поточного вибраного рядка.

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

  • Команди позначені чорним кольором.
  • Коментарі позначені фіолетовим кольором.

Різниця в кольорі дозволяє легко розрізнити вставлений коментар у довгому тексті.

Рядки редактора, що показують чорну команду селенської мови поруч із фіолетовим рядком коментаря

Меню параметрів

Він забезпечує інтерфейс для налаштування різних параметрів Selenium ІДЕ.

Ми зосередимося на параметрах «Параметри» та «Формат буфера обміну».

Підменю «Формат буфера обміну» зі списком усіх доступних форматів фрагментів коду

Формат буфера обміну

  • Формат буфера обміну дозволяє копіювати команду Selenese з редактора та вставляти її як фрагмент коду.
  • Формат коду відповідає параметру, який ви вибрали тут у списку Формат буфера обміну.
  • HTML є вибором за умовчанням.

Наприклад, коли ви обираєте Java/JUnit 4/WebDriver як формат буфера обміну, кожна команда Selenese, яку ви копіюєте з Selenium Редактор IDE буде вставлено як Java код. Дивіться ілюстрацію нижче.

Команда Selenese, скопійована з редактора та вставлена ​​як Java Оператор WebDriver

Selenium Діалогове вікно параметрів IDE

Ви можете запустити Selenium Діалогове вікно «Параметри IDE», натиснувши «Параметри» > «Параметри…» на панелі меню. Хоча доступних налаштувань багато, ми зосередимося на кількох важливих.

Selenium Діалогове вікно параметрів IDE з тайм-аутом, розширеннями, базою URL та налаштування запису з позначкою

  • Значення часу очікування за замовчуванням. Це стосується часу, який Selenium має чекати, поки певний елемент з'явиться або стане доступним, перш ніж генеруватиме помилку. Значення тайм-ауту за замовчуванням становить 30000 мс.
  • Selenium Розширення IDE. Тут ви вказуєте розширення, які хочете використовувати для розширення Selenium Можливості IDE. Ви можете відвідати addons.mozilla.org і використовуйте "Selenium” як ключове слово для пошуку певних розширень.
  • Пам'ятайте базу URL. Залиште це прапорцем, якщо хочете Selenium IDE для запам'ятовування бази URL щоразу, коли ви його запускаєте. Якщо ви знімете позначку, Selenium IDE завжди запускатиметься з порожнім значенням для Base. URL.
  • Автозапуск запису. Якщо ви перевірите це, Selenium IDE негайно запише дії вашого браузера після запуску.
  • Конструктори локаторів. Тут ви вказуєте порядок, у якому локатори генеруються під час запису. Локатори є способи сказати Selenium IDE, на який елемент інтерфейсу користувача повинна діяти команда Selenese. У налаштуваннях нижче, коли ви клацаєте елемент з атрибутом ID, ідентифікатор цього елемента буде використано як локатор, оскільки «id» є першим у списку. Якщо цей елемент не має атрибута ID, Selenium Далі шукатиме атрибут «name», оскільки він є другим у списку. Список можна продовжувати, поки не буде знайдено відповідний.

Перетягування запису вгору або вниз у цьому списку змінює атрибут, до якого першим звертатиметься диктофон.

Список конструкторів локаторів, що показує порядок пріоритетів, який використовується під час створення локатора реєстратором

База URL бар

Кожна відносна адреса у скрипті розв'язується з цим полем.

База URL бар Selenium IDE, що містить адресу тестованої програми

  • Він має спадне меню, яке запам’ятовує всі попередні значення для легкого доступу.
  • Селенська команда «відкрити» переведе вас до URL які ви вказали в Базі URL.
  • У цій серії посібників ми будемо використовувати demo.guru99.com/test/newtours/ як наша база URLЦе сайт для Mercury Tours, демонстраційний веб-застосунок, який використовується тут для веб-тестування. Ми використовуватимемо цей застосунок, оскільки він містить повний набір елементів, необхідних для наступних тем.
  • Основа URL дуже корисний для доступу до відносних URLс. Припустимо, що ваша база URL встановлено на Mercury Адреса туру вказана вище. Коли ви виконуєте команду «open» з цільовим значенням «signup», Selenium IDE спрямує браузер на сторінку реєстрації. Дивіться ілюстрацію нижче.

команда відкриття з відносною цільовою реєстрацією, що відповідає налаштованій базі URL

Панель інструментів

Панель інструментів містить елементи керування записом і відтворенням. Кожна кнопка та її функції перелічені нижче.

Повзунок швидкості відтворення Швидкість відтворення. Це контролює швидкість виконання вашого тестового скрипта.
Кнопка запису Запис. Це розпочинає/закінчує ваш сеанс запису. Кожна дія браузера вводиться як команда Selenese в редакторі.
Кнопка відтворення всього набору тестів Відтворити весь набір тестів. Це послідовно відтворить усі тестові випадки, перелічені в області тестових випадків.
Кнопка відтворення поточного тестового випадку Відтворити поточний тестовий випадок. Це відтворить лише поточний вибраний тестовий випадок на панелі тестових випадків.
Кнопка паузи та відновлення Пауза/Відновлення. Це призупинить або відновить відтворення.
Кнопка кроку Крок. Ця кнопка дозволить вам покроково перейти до кожної команди у вашому тестовому скрипті.
Кнопка «Застосувати правила зведення» Застосувати правила зведення. Це розширена функціональність. Вона дозволяє групувати команди Selenese разом і виконувати їх як одну дію.

Панель тестових випадків

Панель тестових випадків зі списком відкритих тестових випадків з кольоровим кодуванням пройдених та не пройдених результатів, а також зведенням результатів виконання

  • In Selenium IDE, ви можете відкрити більше одного тестового випадку одночасно.
  • На панелі тестових випадків показано список відкритих тестових випадків.
  • Коли ви відкриваєте набір тестів, панель тестових випадків автоматично відображає всі тестові випадки, що містяться в ньому.
  • Тестовий випадок, виділений жирним шрифтом, є поточним вибраним тестовим випадком.
  • Після відтворення кожен тестовий випадок позначається кольором, що вказує на його успішне проходження чи неуспішне.
  • Зелений колір означає «Здано».
  • Червоний колір означає «Не вдалося».
  • У нижній частині наведено підсумок кількості тестів, які були запущені та невдалі.

редактор

Ви можете уявити редактор як місце, де відбуваються всі дії. Він доступний у двох режимах: Таблиця та Джерело.

Вид таблиці

  • Більшість часу ви працюватимете далі Selenium IDE з використанням табличного подання.
  • Тут ви створюєте та змінюєте команди Selenese.
  • Після відтворення кожен крок позначається кольором.

Редактор у табличному режимі з кольоровим кодуванням виконаних кроків після відтворення

  • Щоб створити кроки, введіть назву команди в текстовому полі «Команда».
  • Він відображає випадаючий список команд, які відповідають запису, який ви зараз вводите.ping.
  • Target це будь-який параметр (наприклад, ім’я користувача, пароль) для команди, а значення – це вхідне значення (наприклад, tom, 123pass) для тих Targets.

Командування Target та поля «Значення» Selenium Редактор таблиць IDE

Перегляд джерела

  • Він відображає кроки у форматі HTML (за замовчуванням).
  • Це також дозволяє редагувати ваш сценарій так само, як у перегляді таблиці.

Редактор у вікні перегляду вихідного коду показує той самий тестовий випадок, що й таблиця HTML Selenese

Панель журналу

Панель журналу відображає повідомлення під час виконання. Вона надає оновлення в режимі реального часу щодо того, що Selenium IDE робить.

Журнали поділяються на чотири типи:

  • Debug – За замовчуванням повідомлення налагодження не відображаються на панелі журналу. Вони з’являються лише після їх фільтрації. Вони надають технічну інформацію про те, що Selenium IDE робить це за лаштунками. Він може відображати такі повідомлення, як певний модуль завантажився, певна функція викликана або зовнішня JavaФайл сценарію завантажено як розширення.
  • Інформація – Там написано, яка команда Selenium IDE зараз виконується.
  • Попереджати – Це попереджувальні повідомлення, які з’являються в особливих ситуаціях.
  • помилка – Це повідомлення про помилки, що генеруються, коли Selenium IDE не може виконати команду, або якщо виконується умова, визначена параметром Команда «перевірити» або «ствердити» не зустрічається.

Розкривний список області журналу зі списком типів повідомлень про налагодження, інформацію, попередження та помилки

Журнали можна фільтрувати за типом. Наприклад, якщо вибрати опцію «Помилка» з випадаючого списку, в області журналів відображатимуться лише повідомлення про помилки.

Панель журналу відфільтровано на помилку, тому видимими залишаються лише повідомлення про невдалі команди

Довідкова панель

Панель довідників показує стислий опис поточної вибраної команди Selenese в редакторі. Вона також показує опис локатора та значення, які будуть використані для цієї команди.

Панель довідок з описом вибраної команди Selenese з її аргументами цілі та значення

Панель елементів інтерфейсу користувача

Елемент інтерфейсу користувача призначений для просунутих Selenium користувачів. Це використовує JavaНотація об'єктів скрипту (JSON) для визначення карти елементівpings. Документацію та ресурси можна знайти в опції «Документація елементів інтерфейсу користувача» в меню Довідка Selenium ІДЕ.

Меню довідки Selenium IDE із записом документації елементів інтерфейсу користувача

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

Панель елементів інтерфейсу користувача, що містить карту елементів JSON для тестованої програми

Панель згортання

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

Зведення можна використовувати повторно, тобто їх можна використовувати кілька разів у тестовому випадку. Оскільки зведення – це групи команд, об’єднані в одну, вони значною мірою скорочують ваш тестовий скрипт.

Кілька кроків Selenese об'єднані в одну команду зведення в редакторі

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

Зведена панель, що показує JavaВизначення скрипта, що лежить в основі правила зведення повторного використання

Панелі зведення та елементів інтерфейсу користувача не мають аналогів у поточному розширенні; тепер цю роль виконують команди керування потоком та експорт коду.

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

Один файл із розширенням .side містить весь проєкт — кожен тест, кожен набір і базу. URLЦе замінює стару модель одного HTML-файлу на тестовий випадок і спрощує перенесення проекту в систему контролю версій.

Так. Відтворення всередині розширення використовує браузер, у якому його встановлено, але команда командного рядка виконує збережений проект в інших браузерах та вписується в конвеєр збірки, чого не може зробити вбудований програвач.

Поточна IDE містить команди керування потоком, включаючи if, else if, else, while, times, do, repeat if та for each. Це охоплює розгалуження та loo.ping у записаному сценарії без JavaОбхідні шляхи сценаріїв для старої функції зведення, необхідні для цього.

Рекордер зберігає кілька локаторів-кандидатів для кожного елемента. Під час відтворення альтернативи пробуються, доки одна з них не буде успішною, тому зміна ідентифікатора не обов'язково перериває крок. Постійні невдачі все одно означають, що список локаторів потребує редагування вручну.

Клацання правою кнопкою миші на тесті або наборі пропонує код WebDriver для C# NUnit, C# xUnit, Java JUnit, JavaСкрипт Мокка, Python пітест та Ruby RSpec. Додатковий перемикач додає коментарі tracповертаючи кожен згенерований рядок до його записаного кроку.

Машинне навчання застосовується переважно до найслабшої частини записаних тестів: локаторів. Самовідновлювальні механізми ранжують кілька кандидатів-селекторів і замінюють їх робочими, коли змінюється розмітка, а подібні моделі кластеризують повторювані збої, щоб відокремити реальні дефекти від шуму синхронізації.

Він добре підходить для проходження очищення. Експортований код — це один довгий лінійний метод, і Copilot рефакторує його в об'єкти сторінки, перетягує жорстко закодовані дані у фікстури та замінює фіксовані паузи явними очікуваннями. Revпереглянути локатори, які він зберігає.

Щойно тестам знадобиться спільне налаштування, файли даних, звітність або повторне використання в різних пакетах. IDE чудово підходить для швидкого тестування сценарію; закодований Selenium Саме фреймворк забезпечує підтримку сотень цих сценаріїв.

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