Свіжа випічка від TestCafe - 14.2 release



Друзі, нарешті настав той момент, коли наша команда закінчила роботу над довгоочікуваним релізом TestCafe v.14.2, і ми з великою радістю можемо поділитися з вами результатами наших праць. У новій версії ми постаралися зробити максимальний упор на візуальний рекордер тестів, повністю переробивши його концепцію, зробивши його простіше і інтуїтивно зрозуміліше.

Тепер він містить у собі повний набір інструментів для всього циклу створення тестів. Крім цього, ми доклали зусилля до вдосконалення функціонального ядра TestCafe, це дозволило додати довгоочікувану підтримку cross-domain айфреймов і можливість завантаження файлів на сервер. Якщо Вам цікаво ближче познайомитися з нашим чудовим продуктом і його нововведеннями, прошу під кат — в затишний куточок функціонального тестування від TestCafe…

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

А зараз давайте перейдемо безпосередньо до нововведень, які чекають на Вас після установки нової версії.

TestCafe можна умовно поділити на три основні частини — візуальний рекордер, панель управління ядро. За цим принципом я, для зручності, поделю всі основні нововведення на відповідні категорії:

Візуальний рекордер
Гордість нашої команди, завдяки йому користувач може записувати тести безпосередньо на своєму сайті, не замислюючись над його структурою і принципами роботи. Рекордер просто перехоплює всі дії на сторінці і формує на їх основі «стьопи», з яких в подальшому буде складатися тест. Все що потрібно тестеру — це «накликати» перевіряється сценарій. У більшості випадків навіть не доведеться відкривати отриманий код тесту, так як тепер рекордер надає всі необхідні візуальні інструменти для редагування.

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



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



  • Playback. Ще одним приємним нововведенням є можливість «програти» записані стьопи не виходячи з режиму запису. Це дозволяє відтворити стьопи після їх редагування, щоб переконатися в тому, що внесені зміни не вплинули на цілісність тесту, виправити помилки при невдачі та продовжити запис.



  • Додавання assertion. Один з найбільш прикрих недоліків минулій версії полягав у відсутності можливості візуального додавання assertion. Користувачеві доводилося записувати тест рекордером, а потім вручну додавати перевірки безпосередньо в код. Тепер така можливість з'явилася: Ви можете додавати assertion використовуючи графічний інтерфейс, вбудований візард допоможе вибрати елемент для перевірки та його параметри. Це дозволяє створювати готові тести, не залишаючи графічної оболонки TestCafe.



  • Покращений механізм очікування готовності сторінки. Однією з зручних особливостей нашого фреймворку є те, що він бере на себе обов'язки по очікуванню готовності сторінки для виконання наступного стьопа. Це позбавляє від необхідності додавання безлічі потенційно небезпечних wait, TestCafe сам чекає закінчення всіх XHR запитів, postback, завантажень ресурсів і т. п. Крім цього в новій версії рекордер генерує «розумні» селектори для елементів степов, що дозволяють в більшості випадків не городити механізми очікування закінчення js анімації, це буде відбуватися автоматично.


Ядро
Закінчивши з рекордером, ми плавно переходимо до серця TestCafe — проксі-ядра. Воно служить прошарком між досліджуваним сайтом і бізнес-логікою фреймворку, надаючи API для перехоплення всіх користувальницьких дій (в режимі запису тесту) та їх подальшої імітації (в режимі відтворення тесту). Даний модуль винесено нами в окремий підпроект, який дозволяє отримати повний контроль над сайтом, проксируя і обробляючи всі його ресурси. Проблеми, з якими ми зіткнулися при розробці цього модуля, також заслуговують окремої статті, яку ми постараємося опублікувати найближчим часом. Отже, що ж нового ми маємо в новій версії?

  • Підтримка cross-domain айфреймов. Тепер TestCafe використовує два внутрішніх проксі сервера на двох різних портах, за допомогою них cross-domain айфреймы і їх контент проксируются через cross-domain проксі-сервер, що дозволяє найбільш точно імітувати поведінку досліджуваної сторінки. Ви можете тестувати вміст cross-domain айфреймов також, як і будь-які інші елементи.

  • File uploading. У новій версії рекордер автоматично перехоплює завантаження файлів в браузер і зберігає їх в тестову папку, генеруючи при цьому відповідний степ-тесту. Це дозволить тестувати роботу з локальними файлами на Вашому сайті, без зайвих дій, просто і прозоро.

  • Підтримка contenteditable елементів. Додана підтримка роботи з contenteditable-елементами, що дозволяє тестувати набирають популярність оперативне-редактори.

  • Оптимізація. Велику увагу ми приділили оптимізації процесу обробки ресурсів сайту. Для цього було переписано безліч коду, а деякі сторонні модулі були замінені на власні, в слідстві чого нам вдалося добитися прискорення проходження тестів.

  • Падіння на js помилки. Тепер тест вважається пройденим, якщо у користувача скриптах сталося виняток, інформацію про якому можна буде подивитися в звіті. Це дозволить Вам відловлювати приховані помилки, які можуть до певного часу ніяк себе не проявляти.

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

  • Проекти. Ми переробили принцип зберігання і представлення тестів. Якщо раніше всі тести просто зберігалися в папці, то тепер ми пропонуємо користувачам працювати з проектами: створювати їх, швидко і зручно перемикатися між ними.



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



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

TestCafe team.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.