𝗣𝗹𝗮𝘆𝘄𝗿𝗶𝗴𝗵𝘁 𝗕𝗲𝘀𝘁 𝗣𝗿𝗮𝗰𝘁𝗶𝗰𝗲𝘀: 𝟭𝟬 𝗥𝘂𝗹𝗲𝘀 𝗔𝗜 𝗔𝗴𝗲𝗻𝘁𝘀 𝗚𝗲𝘁 𝗪𝗿𝗼𝗻𝗴

AI ایجنٹس ایک منٹ میں 50 Playwright ٹیسٹ لکھ سکتے ہیں۔

یہ رفتار ایک جال ہے۔

وہ ٹیسٹ اکثر بلاوجہ فیل ہو جاتے ہیں۔ AI ایجنٹس ٹریننگ ڈیٹا سے پرانے پیٹرنز کاپی کرتے ہیں۔ انہیں معلوم نہیں ہوتا کہ آپ کے ٹیسٹ گزشتہ رات فیل ہوئے تھے۔ وہ پرانی عادات استعمال کرتے ہیں۔

اپنے ٹیسٹ کو مستحکم رکھنے کے لیے ان 10 اصولوں پر عمل کریں۔

  1. رول پر مبنی لوکیٹرز (role-based locators) استعمال کریں getByRole، getByLabel یا getByText استعمال کریں۔ یہ اس سے مطابقت رکھتے ہیں جو ایک انسان دیکھتا ہے۔ AI کی غلطی: ایجنٹس CSS یا XPath استعمال کرتے ہیں۔ جب آپ ایک بھی کلاس کا نام تبدیل کرتے ہیں تو یہ ٹوٹ جاتے ہیں۔

  2. ویب فرسٹ اسرشنز (web-first assertions) استعمال کریں expect(locator).toBeVisible() استعمال کریں۔ یہ پیج کے لیے خود بخود انتظار (auto-wait) کرتا ہے۔ AI کی غلطی: ایجنٹس await page.waitForTimeout(3000) شامل کر دیتے ہیں۔ ہارڈ ویٹس (Hard waits) ٹیسٹ کو غیر مستحکم (flaky) بنا دیتے ہیں۔

  3. ٹیسٹ کو الگ تھلگ (isolated) رکھیں ہر ٹیسٹ کو صاف ستھرے طریقے سے شروع ہونا چاہیے۔ اسٹیٹ (state) سیٹ کرنے کے لیے hooks استعمال کریں۔ AI کی غلطی: ایجنٹس ٹیسٹوں کو ایک دوسرے کے ساتھ جوڑ دیتے ہیں۔ اگر پہلا ٹیسٹ فیل ہو جائے تو پوری فائل خراب ہو جاتی ہے۔

  4. API کے ذریعے ڈیٹا سیڈ (seed) کریں اپنے بیک اینڈ پر براہ راست ڈیٹا بھیجنے کے لیے request fixture استعمال کریں۔ AI کی غلطی: ایجنٹس ایک صارف بنانے کے لیے دس UI اسکرینز پر کلک کرتے ہیں۔ اس سے ٹیسٹ سست اور کمزور ہو جاتے ہیں۔

  5. ٹیسٹ آئی ڈیز (test IDs) کے مقابلے میں رولز (roles) کو ترجیح دیں پہلے getByRole استعمال کریں۔ data-testid کو صرف متبادل (fallback) کے طور پر استعمال کریں۔ AI کی غلطی: ایجنٹس ہر چیز پر data-testid لگا دیتے ہیں۔ اس سے وہ بگ (bug) نظر نہیں آتے جہاں اسکرین ریڈرز کے لیے بٹن کا کوئی لیبل نہیں ہوتا۔

  6. ری ٹرائی (retry) پر ریکارڈ کرنے کے لیے ٹریسز (traces) سیٹ کریں اپنی کنفیگریشن میں trace کو 'on-first-retry' پر سیٹ کریں۔ AI کی غلطی: ایجنٹس ٹریسنگ کو بند رکھتے ہیں یا ہر رن کے لیے آن رکھتے ہیں۔ ایک میں ثبوت کی کمی ہوتی ہے، جبکہ دوسرا ہر چیز کو سست کر دیتا ہے۔

  7. پیرالل (parallel) میں چلائیں ٹیسٹوں کو مختلف مشینوں پر تقسیم کرنے کے لیے parallel mode اور sharding استعمال کریں۔ AI کی غلطی: ایجنٹس ایسے ٹیسٹ لکھتے ہیں جو ایک ہی صارف (user) کو شیئر کرتے ہیں۔ یہ ٹیسٹ پیرالل چلتے ہوئے ایک دوسرے کے ساتھ ٹکراتے ہیں۔

  8. if اسٹیٹمنٹس اور try بلاکس کو ختم کریں ایک ٹیسٹ کو ایک ہی راستے پر چلنا چاہیے۔ اگر وہاں ایک بٹن ہونا چاہیے، تو اس کی تصدیق (assert) کریں۔ AI کی غلطی: ایجنٹس غلطیوں سے بچنے کے لیے کلکس کو if اسٹیٹمنٹس میں لپیٹ دیتے ہیں۔ یہ اصل بگ کو چھپا دیتا ہے۔

  9. طرزِ عمل (behavior) کا ٹیسٹ کریں، اندرونی کام (internals) کا نہیں اسکرین پر نظر آنے والے نتیجے کو چیک کریں۔ AI کی غلطی: ایجنٹس CSS کلاسز یا اسٹیٹ ویری ایبلز پر اسرٹ (assert) کرتے ہیں۔ یہ ہر کوڈ ریفیکٹر (refactor) کے دوران ٹوٹ جاتے ہیں۔

  10. براؤزر کوریج کے لیے پروجیکٹس (projects) استعمال کریں Chromium، Firefox، اور WebKit کو ٹیسٹ کرنے کے لیے projects array استعمال کریں۔ AI کی غلطی: ایجنٹس ایک ہی براؤزر کو ہارڈ کوڈ کر دیتے ہیں۔ آپ وہ بگ مس کر دیتے ہیں جو صرف Safari میں ہوتے ہیں۔

AI ایک تیز رفتار پہلا ڈرافٹ لکھتا ہے۔ اس میں دانائی کی کمی ہوتی ہے۔

ایک ایسا گرین ٹیسٹ سویٹ (test suite) جو کچھ بھی ثابت نہ کرے، خطرناک ہے۔ یہ جھوٹا اعتماد پیدا کرتا ہے۔

AI کو ڈرافٹ لکھنے دیں۔ ان قواعد کو لاگو کرنے کے لیے انسان کا استعمال کریں۔ ایجنٹ رفتار فراہم کرتا ہے۔ انسان استحکام فراہم کرتا ہے۔

ماخذ: https://dev.to/aiwithanton/playwright-best-practices-10-rules-ai-agents-get-wrong-2026-5cii

اختیاری لرننگ کمیونٹی: https://t.me/GyaanSetuAi