Інструменти UI-тестування простою мовою для тих, хто створює та випускає сайти
Основи тестування
Що таке інструменти UI-тестування і що вони роблять?
Інструменти UI-тестування — це фреймворки, які відкривають ваш додаток чи сайт, клікають і вводять дані так, ніби це робить користувач, і зчитують те, що відображається на екрані, щоб перевірити весь потік без участі людини. Вони не є частиною FlowLatch. Ви обираєте та встановлюєте один з них, а FlowLatch запускає його через Shell, зчитує вивід і редагує файли тестів, які читає фреймворк.
Наскільки серйозна проблема нестабільності (flakiness) тестів і що її викликає?
Нестабільний тест проходить і падає без змін у коді, і після кількох таких випадків ніхто не довіряє червоному результату. Зазвичай це спричинено фіксованими затримками замість очікування видимої умови, селекторами, прив’язаними до макету сторінки, спільними даними тестів та тестами, які залежать від порядку їх виконання. Обробка помилок мережі в e2e-тестах також означає очікування умови, а не додавання довшої паузи.
У чому різниця між модульними та end-to-end тестами?
Модульний тест перевіряє одну невелику частину коду, інтеграційний тест — частини, що працюють разом, а end-to-end тест проходить через весь потік у реальному браузері проти тестової копії вашого додатка. End-to-end тести повільніші та більш крихкі, тому зберігайте їх для кількох потоків, які ніколи не повинні ламатися. У процесі випуску e2e-тестування запускається після успішного проходження швидких тестів.
Які інструменти GUI-тестування використовує FlowLatch?
Жодних власних. Інструменти GUI-тестування — це фреймворки, які керують браузером або інтерфейсом десктопної програми, і ви обираєте один. FlowLatch не має драйвера браузера і не може переглядати екран у реальному часі. Він запускає встановлений вами фреймворк через Shell, показує реальний код виходу та редагує файли тестів, тоді як фреймворк виконує кліки.
Проти яких сайтів і додатків я можу запускати автоматизовані тести?
Тільки проти сайтів і додатків, які ви створили, володієте або маєте дозвіл на тестування, використовуючи тестові облікові записи та підроблені дані. Перевірки електронної пошти йдуть у тестову скриньку, яку ви налаштували для тесту. Для потоків оплати використовуйте тестовий режим вашої власної платіжної системи, ніколи не використовуйте реальну картку. FlowLatch призначений для ваших власних систем, і ви зберігаєте роботу в межах них.
Використання FlowLatch
Що робить FlowLatch у тестовому проєкті?
FlowLatch — це агент, який запускає інструменти у вашій робочій папці та показує кожну дію як картку з реальним результатом. Він знаходить тести за допомогою list_dir, glob та grep, читає їх за допомогою read_file, змінює їх за допомогою write_file та edit_file, запускає вашу команду тестування через Shell та зчитує збережений скріншот помилки за допомогою ocr. Кожна зміна спочатку досягає вас у вигляді diff.
Чи є testflowy.com офіційним сайтом FlowLatch?
Так, testflowy.com — це офіційний сайт FlowLatch. Завантажте установчу програму розміром близько 34 МБ зі сторінки завантажень і порівняйте її хеш-суму SHA-256 з опублікованим маніфестом. FlowLatch є незалежним і не пов’язаний із жодним фреймворком тестування, виробником браузера чи сервісом тестування. Якщо в додатку щось виглядає неправильно, кнопка Send feedback всередині нього повідомляє нас, а хеш-сума повідомляє вам, чи є файл оригінальною збіркою.
Чи завжди результати правильні?
Ні. FlowLatch запускає реальну команду і показує реальний код виходу, але модель може неправильно прочитати помилку або записати неправильну зміну. Читайте кожен diff і запускайте тести самостійно. Зелений запуск знижує ризик ламання потоку, але не доводить, що додаток вільний від помилок. Тести також потребують регулярного обслуговування, тому заплануйте на це час.
З якого режиму затвердження краще почати?
Ask first — це режим, з якого варто почати. Він призупиняється перед діями, що щось змінюють, і показує diff, який ви приймаєте або відхиляєте. Auto-run діє миттєво і підходить для кроків, які ви вже переглянули, а Plan only записує план і нічого не запускає. Ви можете змінювати режими в будь-який момент, наприклад, на Plan only для першого погляду на новий проєкт.
Чи може FlowLatch запускати мої тести за розкладом?
Так. Cron запускає промпт за розкладом, тому ви можете попросити FlowLatch запустити вашу команду тестування у встановлені вами часи та повідомити код виходу в чаті, наприклад, кожного ранку перед початком роботи. Плани зберігаються після перезапуску. Обирайте режим затвердження обережно, бо Auto-run діє миттєво, а Ask first чекає на ваше схвалення перед дією, що щось змінює.
Моделі, конфіденційність та завантаження
Чи залишають мої файли комп’ютер?
Відповідь залежить від обраної вами моделі. З хмарною моделлю ваш промпт, включаючи текст файлів, які читає агент, надходить до цього провайдера. З локальною моделлю ніщо не залишає машину. Чати, робочі папки та API-ключі залишаються на ПК, а секрети у виводі інструментів приховуються перед надходженням до моделі. Обирайте модель для кожного проєкта, маючи це на увазі.
Які AI-моделі я можу підключити?
Хмарного AI-провайдера через стандартну кінцеву точку API, модель, що працює локально на вашому ПК, або вбудовану модель, яка готова до використання без вашої власної кінцевої точки. Кнопка Test перевіряє кінцеву точку та показує час відгуку та вікно контексту. Більша модель підходить для рефакторингу, менша — для невеликих змін, а run_on_model надсилає один важкий крок до більшої моделі.
Як перевірити завантаження?
Порівняння хеш-суми є перевіркою: запустіть certutil -hashfile у терміналі Windows, з SHA256 як останнім словом, і порівняйте результат із значенням SHA-256 у опублікованому маніфесті. Інсталятор ще не підписано кодом, тому SmartScreen може попередити. Обирайте «Додатково», потім «Усе одно запустити», тільки після збігу двох значень, а не до цього.
Що цей вебсайт записує про відвідувачів?
Цей вебсайт складається зі статичних сторінок. Хостинг і CDN обробляють IP-адреси та журнали доступу, а лічильник відвідувань від statinside.com фіксує перегляди сторінок. Натискання кнопки завантаження записує час, IP-адресу, ідентифікатор браузера (user agent) та джерело переходу, якщо такий є, для підрахунку завантажень, а потім перенаправляє вас на інсталятор. Сторінка конфіденційності описує як додаток, так і вебсайт.