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




За кермом людина. Qiksy підказує.
Кожен інструмент із серії «ШІ сам протестує ваш застосунок» наштовхується на одні й ті самі підводні камені. Qiksy обходить усі три, залишаючи вас за кермом і допомагаючи на кожному кроці.
Проблема авторизації зникає
SSO, MFA та капчі вбивають автономних агентів. Ви вже увійшли та на потрібному екрані, а Qiksy просто допомагає далі.
Миттєво працює на будь-якому сайті
Це оверлей, а не інтеграція. Відкрийте на будь-якому вебзастосунку, чи то внутрішній інструмент, staging чи prod, і він працює. Без SDK, без пайплайну.
Чесно, а не за помахом чарівної палички
«ШІ не пропустить жодного бага» це обіцянка, яка ламається на першому ж промаху. «Нагадає про крайні випадки й упіймає порушення, поки ви тестуєте» це обіцянка, яку ми дотримуємо.
П’ять кроків, кожен в один клік.
Це весь робочий процес, від відкриття сторінки до передачі виправлення розробнику або ШІ-агенту.
Виявлення
Qiksy сканує кожну форму й показує, що зрозумів про кожне поле: мітку, тип, обмеження. Прозорість, якій можна довіряти.
Заповнення
Один клік підставляє зв’язний сценарій: валідна персона, крайні значення (макс. довжини, unicode), невалідні (зламані формати, XSS-проба) або очищення. Не сміття з faker.
Перехоплення
Поки ви клікаєте, порушення надходять потоком: помилки консолі, невдалі запити з тілом відповіді сервера та проблеми WCAG AA / верстки.
Копіювання
Будь-яка знахідка копіюється як готовий до вставки баг-репорт, із селектором, кроками відтворення, скриншотом і оточенням.
Передача
Експортуйте всю сесію для ШІ-агента або згенеруйте готовий для клієнта звіт-проходження. Цикл виправлень замикається сам.
Повноцінна QA-кабіна в бічній панелі.
Усе безкоштовно і все ввімкнено з першої хвилини: запис сесії, звіти та міст до вашого агента.
Розумне заповнення форм
Зв’язні з персоною дані, тобто збіжні email, підтвердження паролів і коректні варіанти країн, у нативних полях, кастомних ARIA-віджетах (Radix/shadcn date picker, комбобокси) і навіть у завантажувачах файлів: нейтральна картинка чи документ під те, що поле приймає.
Живі знахідки
Помилки консолі, JS-винятки, необроблені rejection і невдалі мережеві запити, перехоплені з document_start, без дублів, з фільтром за важливістю.
Аудит сторінки: WCAG AA
Елементи без міток, кнопки без доступних імен, провали контрасту, биті зображення, дубльовані id, відсутній lang, додатний tabindex. А через міст агента (1.6): вбудований рушій <b>axe-core</b>, прохід клавіатурного маршруту із зазначенням того, до чого Tab не дістається взагалі, і перевірка, що тости справді озвучуються скрінрідеру.
Спостерігач за відправкою
Співвідносить спробу відправки з невдалими запитами, нативною валідацією, aria-invalid і тостами помилок, повідомляючи реальний текст, а не просто «invalid».
Рекордер сесій
Таймлайн через переходи: кожен візит сторінки з його знахідками, мережевим логом і превʼю-скриншотом. Експорт бага, HAR або звіту.
Ролі та RBAC
Збережіть авторизацію origin як іменовану роль, разом з cookies (вкл. HttpOnly), localStorage і sessionStorage, і відновіть її, щоб тестувати admin vs. member vs. anon.
Читає стилі, а не лише структуру
Обчислені колір, шрифт, відступи та CSS-змінні в області видимості, тому «ця кнопка малюється #3B82F6 у 15px» стає перевірним фактом, а не примруженням на скриншот.
Арсенал крайніх значень
Правий клік по будь-якому полю дає шкідливі рядки BLNS, хибні імена, граничні числа, ін’єкційні проби й тестові картки Stripe, з урахуванням типу поля.
Сховище тестових даних
Іменовані персони для кожного сайту: застосовуйте, редагуйте як JSON, експортуйте та імпортуйте, щоб ділитися з командою. Збережіть поточні значення форми в один клік.
Злі файли для полів завантаження
Прикладіть файл на 0 байт, на 12 МБ, PNG з іменем .pdf, ім’я на 255 символів або SVG зі скриптом: ідея підступних значень, застосована до контролу, який ламається найчастіше.
Підсвічування та інспекція
Клікніть по будь-якій знахідці, щоб затемнити сторінку й обвести елемент. Виберіть будь-який елемент і отримайте його селектор, ARIA-роль, доступне ім’я та стилі.
Заповнює будь-який віджет
Не лише поля вводу. Керує ARIA-комбобоксами, date picker, перемикачами, слайдерами, сегментними контролами й rich-text редакторами як справжній користувач, зокрема React-контрольованими полями й полями в Shadow DOM, усередині модалок, вкладок і акордеонів.
Ловить не лише зламане, а й повільне
Вёрстка стрибає під час завантаження, кнопка думає секунду, інтерфейс підвисає під час відкриття меню, і все це за власними вимірами браузера, із зазначенням зміщеного елемента та скрипта, що заблокував потік. Пороги Core Web Vitals, тож знахідка збігатиметься з Lighthouse.
Один файл для тікета
Сесія перетворюється на самодостатній HTML-звіт: кроки зі скриншотами, знахідки із селекторами, невдалі запити разом із тілом помилки від сервера. Передайте критерії приймання та свій вердикт щодо кожного, і звіт почнеться з них. Ні акаунта, ні посилання, ні завантаження: доклали до тікета або видалили.
Показати, а не переказати
Попросіть агента провести сценарієм замість звіту. Він бере ту вкладку, на яку ви вже дивитесь, іде кроками у вашій залогіненій сесії й затемнює сторінку, обводячи кожен елемент із підписом «крок 3 з 6». Розбір, який клієнт бачить на власні очі, а не скриншоти, яким треба повірити.
Перевірте помилку, якої сервер не віддасть
Хай запит відповість так, як потрібно вам: 500, порожній список, відповідь без обовʼязкового поля, тридцять секунд тиші, обрив звʼязку. Шляхи помилок не перевіряє ніхто, бо робочий бекенд відмовляється ламатися на прохання, а «підмінити перший виклик і пропустити повтор» це єдиний спосіб довести, що ретрай працює. Один рядок, не треба обирати теку, переживає перезавантаження. Агент може поставити правило й прибрати його сам.
Ваша мова, а не лише англійська
Панель говорить сімома мовами (English, Deutsch, Español, Polski, Português, Русский, Українська) і бере вашу з браузера під час першого запуску; перемикач у попапі перебиває вибір, якщо машина однією мовою, а команда працює іншою. Знахідки та звіти про помилки навмисно лишаються англійськими: їх вставляють у трекер, який читає розробник з іншої країни.
Доказ, а не лише знахідки
Уся сторінка однією картинкою, хоч якою довгою, зі стрілками, рамками й написами, вписаними просто у файл. Або запис екрана в MP4, що відкривається будь-де, з вашим голосом. Нічого не зберігається: живе, поки на екрані.
Форма, яку ви заповнюєте двадцять разів на тиждень
Заповніть її руками один раз, з увімкненим записом. Далі одне натискання: ті самі значення, той самий маршрут, ті самі кроки майстра, і зупинка скрізь, де людині все одно довелося б подивитися.








Запишіть так, як працюєте
Натисніть «Запис» і заповнюйте форму як завжди: руками, кнопкою ⚡ Fill або і так, і так. Натисніть «Стоп», дайте ім’я. Змінювати свої звички не треба.
Повтор одним натисканням
Значення повертаються в ті самі поля, а «Далі» кроку натискається саме. Якщо трапиться поле, якого на сторінці більше немає, прогін зупиняється, і вердикт НАЗИВАЄ це поле: зелене «готово» над наполовину порожньою формою гірше за чесну невдачу.
Іде тим маршрутом, яким ішли ви
Потік рідко вміщається в одну сторінку: наступний крок майстра, передавання на вхід, сторінка оплати на чужому домені. Повтор іде тим самим маршрутом у тій самій вкладці і на кожній межі сторінок чекає вашого «Продовжити»: сторінка щойно завантажилася, і друкувати на ній без дозволу не можна.
Той самий потік, інші дані
{ } відкриває дані прогону простим списком полів: змініть пошту, дату, назву компанії; 🎲 заповнить їх свіжими правдоподібними значеннями. Одного запису вистачає на регресійний прохід, а полю завантаження можна дати свій файл.
Паролів у ньому немає
Паролі та номери карток записуються як поля, але ніколи як значення, бо сценарій це файл, який можна вивантажити й надіслати. Повтор зупиняється на такому полі й просить набрати його вас, а в імпортованого сценарію всі адреси, що ведуть із його власного сайту, знімаються до першого запуску.
Звіт і є робота. Решта це спосіб до нього дійти.
Ніхто не тримає вісім знахідок у голові до кінця дня, тому їх і не записують: вони йдуть у чат скриншотами та половиною фрази. Тут документ наповнюється тієї миті, коли помічено: рядок своїми словами, вирізаний шматок сторінки, дефект із тим, що сталося і що мало статися. Наприкінці одне натискання, і виходить самостійна HTML-сторінка, яку друкують у PDF.








Коштує один рух, а не вечір
Думка приходить, поки ви клацаєте по застосунку, і коштує одного поля та Enter. Вісім думок це вісім натискань. У цьому вся різниця між звітом, написаним по ходу, і зібраним з пам’яті ввечері.
Картинка це доказ, а не оздоба
Без неї документ не збереться. Сторінка тверджень про застосунок, що не показує жодного з них, і є саме тим, що цей інструмент заміняє. А ім’я знімка не видається двічі, тож під знахідкою не може опинитися знімок іншого моменту.
Нічого не вкарбовано намертво
Стрілки, текст і обрізка зберігаються ДАНИМИ поруч із чистою картинкою: посуньте стрілку завтра, і всі звіти, що називають цей знімок, зміняться разом із нею. Документ перезбирається зі своїх блоків, тож виправити одне слово не означає зібрати все наново.
Він нікуди не подівся за годину
Готові звіти лишаються в розширенні під іменем, тож їх можна відкрити, надрукувати, зберегти або взяти за основу наступного. А коли в браузері закінчується місце, він про це каже й зберігає вашу роботу, а не викидає її мовчки.
Дві руки, один звіт
І ось цього немає більше ні в чого на цій сторінці. Той самий чернетковий звіт доступний вашому агентові через міст: qa_draft читає рядки, qa_draft_add додає, qa_draft_edit переписує, qa_draft_build перетворює на документ. Ви знімаєте зламаний підсумок, агент пише під ним знахідку. Або він збирає докази, поки ви тестуєте далі, а ви наприкінці правите формулювання. Не два звіти, які потім зводити, а один стос і дві руки.
Один виклик замість дев’яноста п’яти
Та сама форма на 94 поля, заповнена двічі, і обидві сторони говорять через MCP, так, як агент справді керує браузером. Qiksy витрачає один виклик. Playwright MCP витрачає дев’яносто п’ять.
Тут нічого не сповільнено й не пришвидшено. Обидва драйвери це справжні MCP-сервери, і обидва працюють з тим самим браузером і тією самою вкладкою: qiksy-mcp своїм локальним WebSocket і @playwright/mcp, під’єднаний через CDP, що для нього щедрі умови, бо сам по собі він спершу піднімає чистий порожній браузер. Сторінка засікає себе сама, від першого натискання до надсилання, а стенд лежить у репозиторії, тож можна прогнати самому.
І чесна частина, бо ви однаково переміряєте самі. Проти наперед написаного playwright-скрипта ми програємо: це код у вашому ж тест-процесі, без агента й без протоколу, і він заповнює цю форму приблизно за 0,4 с. Саме таке порівняння стояло тут до сьогодні, і воно було хибним: бібліотека не міст. З Playwright MCP, який агент тримає в руках насправді, цифри вище це медіана трьох прогонів. І ще одне, чого ми не ховаємо: у Playwright MCP є пакетне дієслово browser_fill_form, і з ним та сама форма йде приблизно за 0,7 с у два виклики, але список із дев’яноста чотирьох полів та їхніх типів агент мусить зібрати сам. Наш бере простий словник підпис → значення і розбирається далі сам, а виклик лишається один, хоч десять полів у формі, хоч двісті.
Швидкість це менша половина. Більша в тому, у чиєму браузері це відбувається.
Ваш агент і так уміє відкрити посилання: це один рядок шела, і потрапить воно в той браузер, де ви залогінені. Чого він не вміє, так це подивитися, що саме відкрилося: чи завантажилася сторінка, чи вас не розлогінило, що написано в помилці. Playwright дивитися вміє, але лише всередині браузера, який запустив сам, із чистим профілем, де ви ніколи не входили. Між цими двома половинами всі й обирають.
| Чим відкрито сторінку | Чий браузер | Агент бачить сторінку | Агент діє в ній |
|---|---|---|---|
open <url>, звичайний шел | Ваш, ви вже увійшли | Ні | Ні |
| CDP / Playwright | Свій, чистий профіль | Так | Так |
| Qiksy | Ваш, ви вже увійшли | Так | Так |
Qiksy це єдиний рядок, де стоїть і те, і те. Він не піднімає браузер і не забирає вікно: працює всередині вже відкритої вкладки, тому сесія, яку він читає, справжня: ваші ролі, ваші права, стенд за SSO, акаунт клієнта, який у чистому профілі просто не відтворити.
Одна панель. Кожна QA-дія.
Форми, знахідки, аудити, ролі, покриття й повна історія сесії в одній кабіні, керованій з клавіатури. Темна чи світла, темізується під будь-який акцент; золота блискавка завжди залишається фірмовим знаком.


























Передайте весь QA-контекст своєму кодинг-агенту.
Вендор-нейтральний MCP-сервер дозволяє Claude Code, Cursor, Cline, Windsurf, Zed або VS Code читати живий стан QA прямо з браузера: знахідки з CSS-селекторами, виявлені форми, невдалі запити з тілами відповідей, записані кроки відтворення. Скажіть «виправ те, що Qiksy знайшов на цій сторінці», і в агента вже є все. Він також може керувати власними поверхнями Qiksy, тобто відкрити панель, запустити аудит, витягти чек-лист покриття, згенерувати звіт, а з увімкненим Agent control ще й тим застосунком, що ви тестуєте. За замовчуванням вимкнено: ви залишаєтеся за кермом, доки не вирішите інакше.
npx qiksy-mcp📦 Published on npm · npmjs.com/package/qiksy-mcp →Усе, що агент уміє в браузері, який у вас уже відкритий.
Без другого браузера, без повторного входу, без втраченої сесії. Читання безкоштовне й без дозволів; дії це один перемикач, який ви вмикаєте самі.
Він бачить
Безкоштовно · без згоди- Сторінку як деревоКожен контрол, лендмарк і заголовок з роллю, іменем і станом, плюс стабільне посилання, щоб діяти.
- Справжню геометріюКожен бокс у CSS-пікселях. Саме так він і каже «обрізано», «налазить», «ціль натискання 28px», без жодного скриншота.
- Стилі й токени дизайнуОбчислений стиль і з якого токена прийшов колір.
--accent, а не простоrgb(37,99,235). - Що насправді зламалосяПомилки консолі та JS, невдалі запити з тілом помилки сервера, швидкість і зсуви верстки.
- Сховище застосункуlocalStorage і sessionStorage: фіча-флаги, кеш стану, токен сесії.
- Доступність по-справжньомуПовний рушій axe-core прямо в живій сторінці плюс клавіатурний маршрут, пройдений Tab за Tab.
- Картинка всієї сторінкиЗгори донизу, хоч якою довгою вона буде: прокручує, знімає екран за екраном і склеює. Паролі й поля картки закриваються заздалегідь.
- Таблиця, а не сторінкаНазвати рядки й колонки, наприклад кожен товар із ціною або кожне поле з тим, що в ньому зараз, і це одна відповідь замість дюжини читань.
- Що станеться даліСпостерігає кілька секунд, тож спливашка, що з'явилася і зникла, запит за таймером чи оголошення для читача екрана не губляться. Кожна підписка спливає сама.
- Пошук усередині знімкаКожне слово сторінки записане невидимо поверх власних пікселів, тож у картинці працює Ctrl+F. Це не розпізнавання: текст і не губився.
Він діє
Agent control- Заповнює будь-яку формуЦілий крок майстра одним викликом: ви віддаєте значення JSON-ом, він сам зіставляє їх з полями.
- Будь-який вид віджетаAnt, MUI, Radix, react-select, downshift: випадні списки, календарі, каскадери, дерева, теги і час, у кожного своє дієслово.
- Клікає, друкує і відповідає дифомЩо з’явилося, що змінилося, що відкрив клік, тому йому не треба гадати, чи спрацювало.
- Входить через Microsoft, Google, OktaЦе ваш браузер: ви зазвичай уже увійшли, а вкладка, яку відкриває провайдер, сама приєднується до сесії.
- Кілька логінів одразуСвоя банка куків на кожну вкладку, один браузер, без другого профілю: адмін, учасник і анонім поруч.
- Завантажує справжні файлиЗа шляхом на вашій машині: усі вкладення кроку за раз, і байти не потрапляють у контекст агента.
- Переходить і чекаєІде на маршрут і чекає, поки сторінка вгамується, перш ніж діяти далі. Тільки всередині вкладок, які ви під’єднали.
Він показує і пам’ятає
Для вас, а не для лога- Виводить вкладку вам на очіПіднімає вікно й обводить елемент, про який говорить, тому проходження стається там, куди ви дивитеся.
- Запам’ятовує довгу формуЗберігає потік рецептом за іменами полів і переграє його наступної сесії: виклик на крок замість розвідки.
- Віддає готовий артефактОдин самодостатній HTML-звіт: спершу ваші критерії приймання, під кожним докази.
- Доказ, який можна додатиУся сторінка однією картинкою, з вписаними в неї стрілками й написами, або запис екрана в MP4, що відкривається будь-де, з вашим голосом.
- Запис, який читають, а не дивлятьсяВідео приходить зі списком моментів: натискання за іменами, запити, що впали, з відповіддю сервера, що почув би читач екрана. Клацаєш момент, і відео стрибає туди.
Жодних скриншотів. У нього вимірювання, а не картинка, тож «а чи виглядає це правильно» це питання до ваших очей. Жодного довільного JavaScript, і це правило Chrome Web Store, через яке кожна команда називає елемент, а не програму. Усе інше відбувається в браузері, у якому ви вже залогінені.




| Інструмент | Що повертає |
|---|---|
qa_tabs | Кожна вкладка, яку Qiksy може читати, включно з ізольованими multi-login сесіями, щоб агент міг порівняти, що бачать admin, member і anon. |
qa_status | URL + лічильники помилок / попереджень / форм + ім’я ізольованого логіна. Опційно tabId. |
qa_findings | Знахідки з селекторами & деталями; фільтр за severity (all / error / warning). |
qa_export | Повний бандл qa-export/v1: знахідки, невдалі запити + тіла, структура форм, кроки відтворення, оточення та карта навігації (маршрути з назвами, за якими агент переходить за іменем). |
qa_open_panel | Команда. Відкрити/закрити панель Qiksy й перейти на вкладку (findings / tour / history …). |
qa_run_audit | Команда. Запустити аудит a11y/верстки за поточним DOM і повернути знахідки. |
qa_axe | Команда. Прогін вбудованого рушія axe-core (той, що під капотом Lighthouse) по живому DOM: сотні правил WCAG A/AA, кожне порушення з impact, тегами WCAG і селекторами винуватців. Повністю локально, зі сторінки нічого не йде. |
qa_focus_walk | Agent control. Прохід сторінкою Tab за Tab, тобто РЕАЛЬНИЙ клавіатурний маршрут: до чого з клавіатури не дістатися, підозри на пастки фокуса та стрибки фокуса проти розкладки. |
qa_tour | Команда. Чек-лист дослідницького тестування, матеріал покриття для написання тест-кейсів. |
qa_report | Команда. Згенерувати самодостатній HTML-звіт про сесію й повернути його. |
qa_spotlight | Команда. Затемнити + обвести елемент за селектором, щоб ви бачили, про що говорить агент. |
qa_focus_tab | Команда. Виводить вкладку перед вами, роблячи активною і піднімаючи вікно, щоб показ ішов там, куди ви дивитесь. Лише застосунок під тестом та його логіни; це для «покажи мені», а не для зручності агента. |
qa_tabs дає кожному ім’я isolatedSession + tabId, а qa_export по кожній вкладці порівнює, що бачать admin, member і anon. Агент усередині кожного логіна ще й діє: той самий tabId іде в qa_fill_json і qa_click, тож він працює від імені цього користувача без другого браузера й повторного входу. Повний список інструментів лежить у README qiksy-mcp.- У попапі розширення відкрийте MCP bridge, увімкніть його On, натисніть Generate для токена, виберіть порт (за замовчуванням 7333) і Save.
- Зареєструйте сервер у редакторі з тим самим токеном і портом. Токен передається через змінну оточення
QIKSY_MCP_TOKEN.
Сервер це один npx-пакет. Кожен редактор використовує одну й ту саму команду, відрізняються лише файл, де вона живе, і пара ключів. Виберіть свій нижче й вставте.
alarms будять сплячий service worker для перепідключення. Жодних змін маніфесту чи CSP для ws://127.0.0.1 не потрібно.# run in your project
claude mcp add --transport stdio qiksy \
--env QIKSY_MCP_TOKEN=YOUR_TOKEN \
-- npx qiksy-mcp --port 7333{ "mcpServers": { "qiksy": {
"command": "npx",
"args": ["qiksy-mcp", "--port", "7333"],
"env": { "QIKSY_MCP_TOKEN": "YOUR_TOKEN" }
} } }{ "context_servers": { "qiksy": {
"source": "custom",
"command": "npx",
"args": ["qiksy-mcp", "--port", "7333"],
"env": { "QIKSY_MCP_TOKEN": "YOUR_TOKEN" }
} } }{ "servers": { "qiksy": {
"type": "stdio",
"command": "npx",
"args": ["qiksy-mcp", "--port", "7333"],
"env": { "QIKSY_MCP_TOKEN": "YOUR_TOKEN" }
} } }Підключається до вашого агента однією вставкою
Міст говорить на MCP, тож будь-який здатний агент (Claude Code, Cursor, Cline, Windsurf, Zed, VS Code) читає живий стан QA, а з увімкненим Agent control діє всередині сесії, у яку ви вже залогінені.
Full documentation
Install, the panel, isolated logins, the MCP bridge and all twenty-two tools, agent control, troubleshooting.
Read the docs →Довідник інструментів
Усі двадцять два інструменти із параметрами та відповідями, три гейти й налаштування для кожного редактора.
Read on npm →Бриф для агента
Повний промпт: як починати прогін, єдине правило, що тримає багатосторінкові сценарії, і чого агентові не можна вдавати, що він уміє.
Read on npm →You are setting up the Qiksy manual-QA Chrome extension so you can drive the
human's REAL, logged-in browser: over Qiksy's MCP bridge, and (optionally) over
Playwright/CDP for direct clicks. Go ONE STEP AT A TIME. After each step, ask the
human to confirm what they see before continuing. Whenever you send them to a panel
or popup, FIRST DRAW AN ASCII DIAGRAM of it with the exact control marked "← click".
USE GOOGLE CHROME. Qiksy is a Chrome extension, not Firefox, Safari or Edge. Do
everything in Google Chrome (a Chromium build works, but tell the human to use
Chrome unless they know otherwise).
TWO FACTS THAT MAKE OR BREAK IT, state them up front:
1. The Chrome window must stay OPEN and LOGGED IN to the app under test for the
whole session. The bridge and Playwright both attach to that live window; close
it and the session is gone.
2. To load an UNPACKED (dev) build, the human must be LOGGED IN first, because a fresh/
incognito profile has no session. Log in, THEN load, and keep that window.
STEP 1 · extension
Install Qiksy from the Chrome Web Store, or chrome://extensions → Load unpacked →
the dist folder. Confirm the round Q bubble shows bottom-right on any page.
STEP 2 · the token (DRAW THIS)
Open the toolbar popup and find "Agent bridge · MCP":
+-- Qiksy popup --------------------+
| Assistant overlay [ On ] |
| Agent bridge · MCP [ On ] | <- turn ON, accept the consent
| Port [ 7333 ] Token [________] |
| [ Generate ] [ Copy ] | <- Generate, then Copy (it saves itself)
+-----------------------------------+
Have them Generate -> Copy (the popup saves it automatically), and paste the token to you.
STEP 3 · run the bridge (keep it running in a terminal)
QIKSY_MCP_TOKEN=<paste the token> npx qiksy-mcp --port 7333
STEP 4 · connect you (MCP)
Add the qiksy server to the agent config (Claude Code: claude mcp add --transport
stdio qiksy --env QIKSY_MCP_TOKEN=<token> -- npx qiksy-mcp --port 7333; or the
.mcp.json block from the site). Restart the agent, then call qa_tabs, which should list
the human's tabs. If it says "not connected", the popup bridge is off or the token/
port differ.
STEP 5 · drop the manual into the project
Run "npx qiksy-mcp init" in the project root. It writes the full agent guide to
.claude/qiksy-bridge.md and adds a short block to CLAUDE.md / AGENTS.md, so every
future session starts knowing what the bridge can do.
STEP 6 · Playwright over CDP (optional, and only for two things)
Qiksy drives the browser itself: clicks, whole forms, calendars, uploads, several
logins. The only gaps are SCREENSHOTS and arbitrary JavaScript. If the task needs one
of those, launch Chrome with --remote-debugging-port=9222 (or reuse the open window),
keep it OPEN and LOGGED IN, and point Playwright MCP at http://localhost:9222.
THEN: qa_tabs -> qa_export (forms with MEANING + live findings) -> drive with
qa_fill_json (a whole step per call) and qa_click by name (needs Pro + "Agent control"
on in the panel). A control that refuses is a ladder, not a wall: qa_probe, raw:true,
qa_pick_*, a CSS selector, and never a second browser driver, which would open an empty
browser without these logins. You cannot undo: a click on a real Delete deletes for
real. If a tool says pro-required or consent-required, name the switch the human must
flip, and stop.You have Qiksy over MCP: a manual-QA extension attached to a REAL Chrome window
with the human's logins already in place. It IS the browser for this session: do not
switch to Playwright, Puppeteer, Selenium or CDP because a control looked unfamiliar
or refused once. Another driver opens a DIFFERENT, EMPTY browser, and none of these
logins are in it, so the run stops being the test that was asked for. Exactly ONE
thing is absent here: arbitrary JavaScript (no eval, a Web Store rule, which is why
every verb names an element, never a program). Screenshots ARE here now
(qa_screenshot), with one condition: the browser photographs the window's ACTIVE tab,
so a background tab cannot be photographed and Qiksy refuses rather than handing over
a page nobody asked about. Need eval? Say so, and let the human decide.
Start with:
qa_tabs · which tabs are in the agent session, which are isolated logins
(every tool takes tabId)
qa_snapshot · the page as an accessibility tree with stable refs; fields_only on a
heavy app, geometry:true for every box in CSS pixels
qa_export · forms with MEANING (kind: "email" / "card-number" / "first-name"),
findings, failed requests WITH the server's error body, repro steps
and a NAVIGATION map (labelled routes, current:true on the open page)
Don't scrape the DOM yourself, because qa_export already knows what each field is and where
the app can go. Pick a route from navigation[] and go by href instead of probe-clicking.
A FORM IS ONE CALL PER STEP, never one per field (needs Pro + "Agent control"):
qa_fill_json { fields: { "Full name": "Ada Lovelace", "Country": "Ukraine",
"Start date": "06/11/2024", "I agree": true },
advance: "Next" }
It resolves the labels itself, drives custom dropdowns, calendars, cascaders, trees,
tags and time pickers, and presses Next ONLY if every entry landed. Keys that matched
nothing come back with the page's real field names, so your next call fixes itself.
WHEN A CONTROL REFUSES, the ladder, in order. Don't change tool, change rung:
qa_probe { name } what this widget is and which verb drives it
raw: true write the value straight into its own text input
qa_pick_date / _time / _range / _path (cascader, tree) / _tags
a CSS selector every verb takes one; a portalled popup with no roles
(Ant) is MEANT to be driven that way
qa_click { name } then read the "widget" verdict in the reply and act on it
qa_focus_tab custom popovers only render in the FOREGROUND tab
AFTER ANYTHING THAT NAVIGATES call qa_wait_ready, and press the advance control by
NAME, not by a ref you took before filling: any new snapshot renumbers refs, so an old
one succeeds on the WRONG control. This is the most common way a run goes wrong.
Several logins at once:
qa_open_isolated { url, sessions: ["admin","member"] } → one cookie jar per tab
qa_close_tab { tabIds: [...] } → clean up
SSO works with Microsoft, Google and Okta: it is their own browser, and a tab the provider
opens joins the session automatically. A captcha or a 2FA prompt is theirs: stop and say so.
Saw a long form? qa_recipe_save { name }, and the next run replays it a call per step.
Finish with qa_report { path, spec: { title, story, checks:[{id,text,status,evidence}] } }
It is a self-contained HTML file led by YOUR verdicts next to Qiksy's evidence.
You cannot undo. A click on a real Delete button deletes for real. If a tool says
pro-required / consent-required, that is a switch the human must flip: say which
one and stop.Просунуті інструменти для реальної клієнтської роботи.
Окрім повсякденної панелі, Qiksy несе важчі інструменти для запису, звітів, RBAC і передачі розробнику, щоб сесія тестування стала тим, що можна виставити в рахунок, а розробник міг одразу застосувати.
Готові для клієнта звіти
Один клік перетворює сесію на самодостатнє проходження: підсвічені скриншоти, пронумеровані кроки відтворення, плитки покриття й дефектів. Артефакт, який ви віддаєте клієнту; бекенд не потрібен.
Рекордер сесій і HAR
Таймлайн через переходи з превʼю-скриншотами й мережевим логом по кожному кроку. Експортуйте повний відтворюваний баг або HAR без заголовків, вичищати там нічого.
Ролі та мульти-логін
Зберігайте авторизацію як іменовані ролі, потім запускайте admin, member і anonymous в окремих вкладках одного браузера. Тестуйте RBAC за хвилини, не входячи й не виходячи.
Bug Capsule
Спакуйте баг в одну відтворювану сторінку зі скриншотом елемента, хвостом консолі, невдалими запитами, селектором і оточенням, щоб розробник відтворив його з першого разу.
Режим слідування
Просто користуйтеся застосунком. Qiksy стежить за кліками й відмічає помилки, мертві кліки, rage-кліки та повільні відповіді, кожен прив’язаний до конкретної дії як готовий до вставки баг.
Передача агенту
Згодуйте сирий бандл qa-export/v1 своєму кодинг-агенту: Claude Code, Cursor або будь-який MCP-клієнт читає ваші знахідки, структуру форм і невдалі запити прямо з браузера й виправляє їх.
Усе це безкоштовне, і міст разом із цим: заповнення, знахідки, аудити, Tour, мультилогін, запис сесії, баг-капсули, клієнтський звіт і MCP-зв’язок, яким ваш агент читає цей браузер і веде його. Ні ціни, ні пробного терміну, ні ключа, ні акаунта, і ні одного запиту до наших серверів.
У парі з MultiLogin Tabs.
Ролі та мульти-логін Qiksy запускають кілька акаунтів усередині однієї сесії тестування, на тому самому рушії ізоляції, що й MultiLogin Tabs. Коли потрібно, щоб кожна вкладка в браузері тримала свій акаунт увесь день, беріть повне розширення.
MultiLogin Tabs Розширення-компаньйон
Запускайте кілька акаунтів на одному сайті в одному вікні браузера, без інкогніто й без окремих профілів. Призначте кожній вкладці іменовану сесію, і вона отримає своє повністю ізольоване оточення.

Тестуйте швидше. Звіти пишіть розумніше.
Встановіть Qiksy, відкрийте застосунок, який тестуєте, і натисніть Fill. Далі Qiksy бере все на себе.
Встановити в Chrome, безкоштовноManifest V3 · ваші дані залишаються локально · без телеметрії
Усе безкоштовно, міст у тому числі. Якщо зекономило вам пів дня: купіть мені кави