Статьи

Тест бабака. Тестуємо сайт за допомогою Selenium IDE.

Пам'ятаєте фільм День бабака

Пам'ятаєте фільм "День бабака"? Там головний герой переживав один день постійно, змінювався лише він, а ось все навколо залишалося незмінним. Така ж ситуація іноді складається при розробці / супроводі сайту: одна і та ж функція то працює, то ні.

Для перевірки доводиться виконувати купу однотипних дій з разу в раз. А якщо тестується велика форма з кількома десятками полів, то тимчасові витрати стають відчутними.

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

У цій статті ми розповімо про рішення такого завдання силами менеджера / маркетолога.

Взагалі тестування (якщо заглянути в довідник) це перевірка відповідності сайту заявленим характеристикам і вимогам. Тестування буває різним:

  • Функціональне тестування - перевіряє відповідність реалізованих функцій вимогам;
  • Конфігураційне тестування - дозволяє перевірити, як додаток поводиться при різних дозволах екрану, в різних браузерах, на різних ОС і з різним програмним і апаратним забезпеченням;
  • Тестування безпеки - дозволяє переконатися, що дані зберігаються надійно, доступ до них блокований для сторонніх осіб;
  • Тестування навантаження - дозволяє виявити рівень критичних навантажень при роботі з ресурсами;
  • Тестування usability - перевіряється зручність користування продуктом.

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

Але будь-яка людина, повторюючи що-небудь рутинне, намагається це по можливості автоматизувати, тому варіант ручного тестування ми розглядати не будемо. Нас цікавить автоматизоване, і сьогодні ми розглянемо одного представника такої автоматизації, а саме, Selenium IDE, і перевіримо, як з його допомогою проводити тестування.

Selenium IDE це розширення для браузера Mozilla FireFox, тому установка досить проста. Після встановлення розширення в панелі з'явиться додатковий значок.

Тепер можна відкрити віконце Selenium IDE і подивитися, на що він здатний.

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

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

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

Тепер, коли включений режим запису, можна виконувати будь-які дії, і вони будуть транслюватися в команди. Наприклад, перейдемо на сторінку каталогу, заповнимо пару значень фільтра і застосуємо його. Після цього вікно команд буде виглядати так:

Хотілося б сказати: "Вітаємо, ось і ваш перший тест", але немає. Як завжди є підступ. Якщо ми спробуємо зараз запустити тест, то побачимо наступну картину:

Справа в тому, що в Selenium IDE є деякі проблеми при роботі з селекторами, визначальними шлях до елемента на сторінці, і вирішуються вони, як правило, переписуванням селектора. Ось і в даному випадку так вийшло, що на сайті, який ми використовуємо для тестування, деякі ідентифікатори не постійні для сторінки і можуть відрізнятися. А Selenium IDE використовує ідентифікатор якщо він є, що призводить до того, що при запуску тесту ідентифікатора може вже й не бути. Тому перепишемо селектор без використання ідентифікатора. Для цього достатньо натиснути на цікаву для нас команду і її дані відобразяться в полях під списком команд:

Праворуч від поля "Target" є кілька кнопок, за допомогою кнопки "Select" можна активувати автоматичний режим визначення шляху. У режимі автоматичного пошуку, якщо натиснути на який-небудь елемент на сторінці в поле "Target" відобразиться шлях до нього. А кнопка "Find" підсвітить елемент на сторінці, до якого веде шлях в поле "Target". Але так як автоматичний шлях нам не підходить, то підкоригуємо наявний шлях руками. І ось тепер: "Вітаємо, ось і ваш перший тест".

Це все звичайно добре, але давайте тепер напишемо щось більш корисне зі здоровим глуздом і перевірками. Наприклад, при роботі з 1С-Бітрікс часто зустрічається завдання "скинути кеш". Так давайте напишемо тест, який буде цим займатися. Для цього потрібно авторизуватися як адміністратор, перейти на сторінку кеша і запустити скидання.

Тут варто звернути увагу на те, що в якості початкового адреси ми відкриваємо сторінку з параметрами скидальними авторизацію на випадок, якщо до цього хто або вже був авторизований. А тепер як це працює: <video> </ video>

Як приклад оформимо замовлення і перевіримо, що оформлення пройшло успішно.

Як приклад оформимо замовлення і перевіримо, що оформлення пройшло успішно

Тепер немає необхідності виконувати одні і ті ж дії по кілька разів, досить запустити тест. У Selenium IDE є можливість запускати як тести окремо, так і пакети тестів, що дозволяє писати цілі групи тестів і періодично їх запускати для перевірки працездатності проекту, а це, в свою чергу, дозволяє вчасно дізнатися, де що-небудь відвалилося в процесі оновлення або доопрацювання.

Що ж у підсумку? В результаті у нас є неоднозначний інструмент.

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

З іншого боку, через технічні особливості верстки цей інструмент може працювати некоректно і потрібно "напилок".

На нашу думку, спробувати цей інструмент без сумніву варто. Потенційних плюсів у нього багато. Якщо сценарії тестування складні або тестувати потрібно навіть ночами - варто замовити написання подібних тестів ( www.intervolga.ru/support/monitoring/ ) Кваліфікованим програмістам.

Оцініть статтю:

Пам'ятаєте фільм "День бабака"?
Що ж у підсумку?

Новости

Как создать фото из видео
Кризис заставляет искать дополнительные источники дохода. Одним из таких источников может стать торговля на валютном рынке Форекс. Но чтобы не потерять свои деньги необходимо работать с надежным брокером.

Как оформить группу в вконтакте видео
Дано хотел свой магазин в вк, но не знал с чего начать его делать. Так как хотелось не банальный магазин с кучей ссылок и фото, а красиво оформленный. С меню, с аватаркой. После просмотра видео создал