Ми будемо використовувати веб-сайт Mercury Tours як наш веб-додаток, що перевіряється. Це онлайн-система бронювання польотів, яка містить усі елементи, необхідні для цього підручника. Його URL-адреса - http://demo.guru99.com/test/newtours/, і це буде нашою базовою URL-адресою.
Створіть сценарій шляхом запису
Давайте зараз створимо наш перший тестовий скрипт в Selenium IDE за допомогою найпоширенішого методу - шляхом запису. Потім ми виконаємо наш сценарій за допомогою функції відтворення.
Крок 1
- Запустіть Firefox та Selenium IDE.
- Введіть значення для нашої базової URL-адреси: http://demo.guru99.com/test/newtours/.
- Увімкніть кнопку Record (якщо вона ще не ввімкнена за замовчуванням).
Крок 2
У Firefox перейдіть на сторінку http://demo.guru99.com/test/newtours/. Firefox повинен перейти на сторінку, подібну до наведеної нижче. |
|
Крок 3
|
|
Крок 4
|
|
Крок 5
|
|
Крок 6
Вимкніть кнопку запису, щоб зупинити запис. Тепер ваш сценарій повинен виглядати так, як показано нижче. |
|
Крок 7
Тепер, коли ми закінчили роботу з нашим тестовим сценарієм, ми збережемо його у тестовому випадку. У меню Файл виберіть «Зберегти тест». Крім того, ви можете просто натиснути Ctrl + S. |
|
Крок 8
|
|
Крок 9.
Зверніть увагу, що файл було збережено як HTML. |
Крок 10.
Поверніться до Selenium IDE і натисніть кнопку Відтворення, щоб виконати весь сценарій. Селен IDE повинен мати можливість бездоганно копіювати все.
Вступ до команд селену - Селен
- Команди Селену можуть мати максимум два параметри: ціль і значення.
- Параметри не потрібні постійно. Це залежить від того, скільки буде потрібно команді.
3 типи команд
Дії |
Це команди, які безпосередньо взаємодіють з елементами сторінки. Приклад: команда "клацніть" - це дія, оскільки ви безпосередньо взаємодієте з елементом, на якому ви натискаєте. Команда "type" - це також дія, оскільки ви вставляєте значення в текстове поле, а текстове поле показує їх вам у відповідь. Існує двостороння взаємодія між вами та текстовим полем. |
Аксесуари |
Вони являють собою команди, що дозволяють зберігати значення у змінній. Приклад: команда "storeTitle" є засобом доступу, оскільки вона лише "зчитує" заголовок сторінки та зберігає її у змінній. Він не взаємодіє з жодним елементом на сторінці. |
Твердження |
Вони являють собою команди, які перевіряють, чи виконується певна умова. 3 типи тверджень
|
Затвердити проти Перевірити
Загальні команди
Команда | Кількість параметрів | Опис |
---|---|---|
відчинено | 0 - 2 |
Відкриває сторінку за допомогою URL-адреси. |
click / clickAndWait | 1 |
Клацання по вказаному елементу. |
type / typeKeys | 2 |
Вводить послідовність символів. |
verifyTitle / assertTitle | 1 |
Порівнює фактичний заголовок сторінки з очікуваним значенням. |
verifyTextPresent | 1 |
Перевіряє, чи на сторінці знайдено певний текст. |
verifyElementPresent | 1 |
Перевіряє наявність певного елемента. |
verifyTable | 2 |
Порівнює вміст таблиці з очікуваними значеннями. |
waitForPageToLoad | 1 |
Призупиняє виконання, поки сторінка не буде завантажена повністю. |
waitForElementPresent | 1 |
Призупиняє виконання, доки вказаний елемент не з’явиться. |
Створіть сценарій вручну за допомогою Firebug
Тепер ми відтворимо той самий тестовий приклад вручну, ввівши команди. Цього разу нам потрібно буде використовувати Firebug.
Крок 1
|
Крок 2: Клацніть на верхньому порожньому рядку в редакторі. |
Введіть "open" у текстовому полі Command і натисніть Enter. |
Крок 3
|
Крок 4
|
Крок 5
|
Клацніть на текстове поле Ім'я користувача. Зверніть увагу, що Firebug автоматично показує вам HTML-код для цього елемента. |
Крок 6
Зверніть увагу, що в текстовому полі Ім'я користувача немає ідентифікатора, але він має атрибут NAME. Тому ми будемо використовувати його ІМЯ як локатор. Скопіюйте значення NAME і вставте його в поле Target у IDEI Selenium. Досі в текстовому полі Цільова префікс "userName" з "name =", вказуючи, що Selenium IDE повинен націлюватись на елемент, атрибут NAME якого "userName". Введіть "invalidUN" у текстовому полі Значення Selenium IDE. Тепер ваш тестовий сценарій повинен виглядати як на малюнку нижче. Ми закінчили з третьою командою. Примітка: Замість invalidUN, ви можете ввести будь-який інший текстовий рядок. Але Selenium IDE чутливий до регістру, і ви вводите значення / атрибути точно так, як у програмі. |
Крок 7
|
Крок 8
|
Крок 9: Збережіть тестовий приклад так само, як і в попередньому розділі.
Використання кнопки пошуку
Кнопка "Знайти" в ID середовища Selenium використовується, щоб перевірити, чи те, що ми помістили в текстове поле Target, є справді правильним елементом інтерфейсу.
Давайте скористаємося тестом Invalid_login, який ми створили в попередніх розділах. Клацніть на будь-яку команду з цільовим записом, скажімо, третю команду.
Клацніть на кнопку Знайти. Зверніть увагу, що текстове поле Ім'я користувача на сторінці Mercury Tours стає виділеним на секунду.
Це вказує на те, що програма IDE Selenium змогла правильно виявити очікуваний елемент і отримати до нього доступ. Якщо кнопка "Знайти" виділила інший елемент або його взагалі не було, то у вашому сценарії має бути щось не так.
Виконати команду
Це дозволяє виконувати будь-яку окрему команду, не запускаючи весь тест . Просто натисніть на рядок, який ви хочете виконати, а потім натисніть "Дії> Виконати цю команду" в рядку меню або просто натисніть "X" на клавіатурі.
Крок 1. Переконайтеся, що ваш браузер знаходиться на домашній сторінці Mercury Tours. Клацніть на команду, яку ви хочете виконати. У цьому прикладі натисніть рядок "type | userName | invalidUN".
Крок 2. Натисніть "X" на клавіатурі.
Крок 3. Зверніть увагу, що текстове поле для імені користувача заповнюється текстом "invalidUN"
Виконання команд таким чином сильно залежить від сторінки, яку Firefox відображає в даний час . Це означає, що якщо ви спробуєте наведений вище приклад із домашньою сторінкою Google, яка відображається замість Mercury Tours, тоді ваш крок не вдасться, оскільки на домашній сторінці Google немає текстового поля з атрибутом "userName".
Початкова точка
Точка початку - це індикатор, який повідомляє Selenium IDE, з яких ліній розпочнеться виконання . Клавіша швидкого доступу - "S".
У наведеному вище прикладі відтворення розпочнеться з третього рядка (введіть | пароль | invalidPW). Ви можете мати лише одну початкову точку в одному тестовому сценарії.
Початкова точка подібна до команди "Виконати", оскільки вона залежить від поточної сторінки. Точка початку не вдасться, якщо ви опинитеся не на тій сторінці.
Точки зупинки
Точки зупинку - це показники, які вказують Selenium IDE, де автоматично зупинити тест. Клавіша швидкого доступу - "B".
Жовте виділення означає, що поточний крок очікує на розгляд. Це доводить, що Selenium IDE призупинила виконання на цьому кроці. Ви можете мати кілька точок зупинки в одному тестовому випадку.
Крок
Це дозволяє виконувати наступні команди по черзі після паузи тесту. Давайте скористаємося сценарієм у попередньому розділі "Точки зупинки".
Перш ніж натиснути "Крок". Тестовий випадок призупиняється у рядку "clickAndWait | login". |
|
Після натискання кнопки "Крок". Запущений рядок "clickAndWait | login" та призупинення до наступної команди (verifyTitle | Sign-on: Mercury Tours). Зверніть увагу, що наступний рядок призупинено, хоча там немає точки зупинки. Це головне призначення функції «Крок» - вона виконує наступні команди по черзі, щоб дати вам більше часу для перевірки результату після кожного кроку. |
Важливі речі, на які слід звернути увагу при використанні інших форматів у поданні джерела
Селен IDE добре працює лише з HTML - інші формати все ще перебувають у експериментальному режимі . Це НЕ рекомендується створювати і редагувати тести з використанням інших форматів в Source View , тому що є ще багато роботи , необхідно , щоб зробити її більш стабільною. Нижче наведені відомі помилки станом на версію 1.9.1.
- Ви не зможете виконати відтворення або повернутися до перегляду таблиці, якщо не повернетесь до HTML.
- Єдиний спосіб безпечного додавання команд у вихідний код - це їх запис.
- При зміні вихідного коду вручну весь його буде втрачено при переході на інший формат.
- Хоча ви можете зберегти свій тестовий приклад, перебуваючи у режимі перегляду джерел, Selenium IDE не зможе його відкрити.
Рекомендований спосіб конвертувати тести Selenese - використовувати опцію "Експортувати тест як ..." у меню Файл, а не через подання джерела.
Резюме
- Тестові сценарії можна створити або записавши, або ввівши команди та параметри вручну.
- При створенні сценаріїв вручну Firebug використовується для отримання локатора.
- Кнопка Знайти використовується для перевірки можливості команди отримати доступ до правильного елемента.
- Табличний вигляд відображає тестовий сценарій у табличній формі, тоді як Source View відображає його у форматі HTML.
- Зміна подання джерела на формат, який не є HTML, досі експериментальний.
- Не використовуйте Source View для створення тестів в інших форматах. Натомість використовуйте функції експорту.
- Параметри не потрібні постійно. Це залежить від команди.
- Існує три типи команд:
- Дії - безпосередньо взаємодіє з елементами сторінки
- Accessors - "зчитує" властивість елемента і зберігає його у змінній
- Твердження - порівнює фактичне значення з очікуваним
- Твердження мають три типи:
- Стверджувати - при відмові наступні кроки більше не виконуються
- Перевірка - при відмові наступні кроки все ще виконуються.
- WaitFor - проходить, якщо зазначена умова стає істинною протягом періоду очікування; інакше він зазнає невдачі
- Найпоширеніші команди:
- відчинено
- click / clickAndWait
- type / typeKeys
- verifyTitle / assertTitle
- verifyTextPresent
- verifyElementPresent
- verifyTable
- waitForPageToLoad
- waitForElementPresent