Login Sign Up
Advert
Your ad spot
Reserve this exclusive slot for the selected period.
Buy advertising →
Telegram community logo - QA Co-pilot
Added 06 Dec 2025

QA Co-pilot

@qa_copilot
Number of subscribers: 94
Photos: 279
Links: 46
Description:
QA Co-pilot 🚀 Ваш другий пілот у світі тестування. 👨‍💻 Для кого: Для тестувальників-практиків, які хочуть рости. 🎯 Про що: Делегуємо рутину нейромережам, прискорюємо роботу та звільняємо час на головне. ❌ Чого тут немає: Нудної теорії та води.
Source

QA Co-pilot | Copy XPath" — це зло. Генеруємо "безсмертні" локатори з AIПривіт, екіп...

Telegram community logo - QA Co-pilot QA Co-pilot @qa_copilot
32 Views/Reach 2025-12-10 09:15 Message №123
🔗 "Copy XPath" — це зло. Генеруємо "безсмертні" локатори з AIПривіт, екіпаж!Ви вирішили написати свій перший автотест (або просто шукаєте елемент у консолі). Ви тиснете Copy selector у Chrome і отримуєте: #app > div:nth-child(2) > main > div.container > form > buttonЦе працює... до першого оновлення сайту. Як тільки розробник загорне кнопку в ще один div — ваш локатор зламається, а тест впаде.Професіонали пишуть локатори, прив'язані до суті елемента, а не до його місця. Але вигадувати складні XPath/CSS буває ліньки.Нехай це робить ваш Co-pilot.Практичний кейс: У нас є кнопка "Купити", яка захована глибоко в DOM-дереві. Готовий промпт "Selector Architect":Виступи в ролі Automation QA Engineer.Ось HTML-код кнопки:`<button class="btn btn-primary btn-lg" id="x-123-random" onclick="...">Buy Now</button>`**Завдання:**Напиши мені 3 варіанти **надійних (robust)** локаторів для цього елемента (CSS або XPath), які НЕ зламаються, якщо зміниться верстка навколо або динамічний ID.Поясни, чому твої варіанти кращі за автозгенеровані. Що видасть AI: Варіант 1️⃣ (За текстом - XPath): //button[contains(text(), 'Buy Now')] Чому краще: Працює, де б кнопка не знаходилась, доки на ній написано "Buy Now".Варіант 2️⃣ (За атрибутами - CSS): button[class*='btn-primary'] Чому краще: Ігнорує динамічний ID (x-123-random), фокусується на стилі.Варіант 3️⃣ (Комбінований - XPath): //button[normalize-space()='Buy Now' and not(@disabled)] Чому краще: Знаходить тільки активну кнопку. Висновок: Замість того, щоб копіювати "сміття" з браузера, ви отримуєте елегантний код. Ваші тести стають стабільними, а ви витрачаєте менше часу на їх підтримку (maintenance).А ви пишете локатори самі чи довіряєте Chrome DevTools? 👇