اشکال‌زدایی افزونه‌های کروم با عوامل هوش مصنوعی

ابزارهای توسعه کروم برای عامل‌ها، عامل شما را قادر می‌سازد تا یک جلسه مرورگر را شروع کند و افزونه‌های کروم را با استفاده از یک سرور MCP نصب یا با آنها تعامل داشته باشد. این به عامل کدنویسی شما اجازه می‌دهد چرخه حیات افزونه را کنترل کند: نصب، بارگذاری مجدد و اجرای اقدامات.

به جای اینکه افزونه‌ی از حالت فشرده خارج شده را به صورت دستی بارگذاری کنید، هر بار که کد را تغییر می‌دهید روی دکمه‌ی بارگذاری مجدد در صفحه‌ی مدیریت افزونه‌ها کلیک کنید و افزونه را به صورت دستی برای آزمایش فعال کنید، به عامل هوش مصنوعی خود دستور دهید تا کل فرآیند را به صورت خودکار مدیریت کند. این کار شکاف بین تولید کد استاتیک و آزمایش افزونه به صورت زنده را پر می‌کند.

شما می‌توانید از ابزارهای افزونه برای انجام موارد زیر استفاده کنید:

  • نصب افزونه‌ها: یک افزونه کروم را که از حالت فشرده خارج شده، از یک مسیر دایرکتوری محلی نصب کنید.
  • فهرست افزونه‌ها: فهرستی از تمام افزونه‌های نصب‌شده‌ی کروم، شامل نام، شناسه، نسخه و وضعیت فعال بودن آن‌ها را بازیابی کنید.
  • بارگذاری مجدد افزونه‌ها: یک افزونه کرومِ از حالت فشرده خارج شده را با استفاده از شناسه‌اش بارگذاری مجدد کنید تا تغییرات کد فوراً اعمال شوند.
  • فعال کردن اقدامات: اقدام پیش‌فرض یک افزونه را بر اساس شناسه آن فعال می‌کند، مانند باز کردن یک منو یا اجرای یک اقدام اسکریپت پس‌زمینه (به chrome.action در مستندات API مراجعه کنید).
    • حذف نصب افزونه‌ها: یک افزونه کروم را با استفاده از شناسه‌اش از مرورگر حذف کنید.

پیش‌نیازها

قبل از استفاده از ابزارهای افزونه، مطمئن شوید که موارد زیر را دارید:

  • پرچم آزمایشی: دسته‌ی افزونه‌ها (Extensions) به طور پیش‌فرض در DevTools for Agents فعال نیست. شما باید سرور MCP را با پرچم --categoryExtensions پیکربندی کنید.
  • افزونه‌های باز نشده: ابزارهایی مانند install_extension به یک مسیر مطلق به پوشه افزونه باز نشده نیاز دارند، که آنها را برای توسعه محلی ایده‌آل می‌کند.

موارد استفاده از ابزارهای افزونه‌های کروم

به نماینده خود دستور دهید تا چرخه حیات افزونه شما را در حین توسعه و رفع اشکالات مدیریت کند.

نکته: مراحل اجرای عامل، نمونه‌هایی از رفتارهای بالقوه هستند. عامل شما ممکن است متفاوت عمل کند.

تکرار و بارگذاری مجدد سریع یک افزونه

بارگذاری مجدد دستی یک افزونه پس از هر تغییر فایل، توسعه را کند می‌کند. به نماینده خود دستور دهید که یک اصلاح کد اعمال کند و بلافاصله افزونه را بارگذاری مجدد کند تا رفتار جدید را بدون دخالت دستی تأیید کند.

مثال:

شما می‌توانید از یک رویکرد کلی استفاده کنید:

Verify the extension has access to the active tab.

یا می‌توانید جزئیات بیشتری را شرح دهید:

Update the manifest.json to include the "activeTab" permission. Then, reload the extension with ID 'abc123xyz' and trigger its default action to ensure it works.

اجرای نمونه‌ای از عامل: عامل شما فایل manifest.json را در سیستم فایل شما ویرایش می‌کند. سپس ابزار reload_extension را با استفاده از شناسه ارائه شده فراخوانی می‌کند. در نهایت، ابزار trigger_extension_action را برای فعال کردن افزونه فراخوانی می‌کند و تأیید می‌کند که هیچ خطای مجوزی در کنسول ایجاد نمی‌شود.

عملکرد پیش‌فرض یک افزونه را در صفحه هدف آزمایش کنید

شما اغلب نیاز دارید که نحوه تعامل یک اسکریپت محتوا یا افزونه با یک وب‌سایت خاص را آزمایش کنید. این فرآیند را با دستور دادن به عامل خود برای پیمایش به سایت، نصب افزونه و فعال کردن آن، خودکار کنید.

مثال:

شما می‌توانید از یک رویکرد کلی استفاده کنید:

Test my extension on example.com and verify it works correctly.

یا می‌توانید جزئیات بیشتری را شرح دهید:

Navigate to example.com, install the unpacked extension located at '/Users/dev/my-extension', and trigger the extension action. Check the console logs to verify the content script executed correctly.

اجرای نمونه‌ای از عامل: عامل شما با استفاده از navigate_page به آدرس اینترنتی هدف هدایت می‌شود. سپس از install_extension با مسیر مطلق ارائه شده استفاده می‌کند. پس از بارگذاری افزونه، trigger_extension_action برای شبیه‌سازی کلیک کاربر اجرا می‌کند. در نهایت، از list_console_messages برای تأیید اجرای اسکریپت محتوا و تولید خروجی مورد انتظار استفاده می‌کند.

افزونه‌های نصب‌شده را تأیید و پاکسازی کنید

در طول تست خودکار، ممکن است لازم باشد تأیید کنید که آیا یک افزونه به درستی با نسخه مناسب بارگذاری شده است یا خیر، یا آن را حذف کنید تا از وضعیت پاک برای تست بعدی اطمینان حاصل شود.

مثال:

Uninstall 'My Test Extension' from the browser.

اجرای نمونه‌ای از عامل: عامل شما از ابزار list_extensions برای بازیابی لیست افزونه‌های نصب شده و فراداده‌های آنها استفاده می‌کند. خروجی را تجزیه می‌کند تا شناسه مرتبط با "افزونه آزمایشی من" را شناسایی کند. سپس از ابزار uninstall_extension با آن شناسه برای حذف ایمن آن از مرورگر استفاده می‌کند.

یک افزونه جدید ایجاد کنید و آن را آزمایش کنید

راه‌اندازی یک افزونه جدید کروم از ابتدا معمولاً نیازمند ایجاد فایل‌های تکراری و بارگذاری دستی دایرکتوری باز شده در مرورگر برای آزمایش آن است. با دستور دادن به عامل خود برای تولید کد اولیه، بارگذاری افزونه و تأیید عملکرد اساسی آن، از ابتدا تا انتها، در یک مرحله، از این تنظیمات دستی صرف نظر کنید.

مثال:

Build a Chrome extension that turns the page background gray when I click its icon. Save the files to '/tmp/gray-bg-ext', navigate to example.com, load the extension, and verify that it works.

نمونه اجرای عامل: عامل شما یک Manifest V3 manifest.json پایه و یک سرویس ورکر پس‌زمینه ایجاد می‌کند که به رویداد chrome.action.onClicked گوش می‌دهد. سپس به صفحه آزمایشی می‌رود، install_extension فراخوانی می‌کند و از trigger_extension_action برای شبیه‌سازی کلیک کاربر استفاده می‌کند. در نهایت، DOM را بررسی می‌کند یا از صفحه عکس می‌گیرد تا خاکستری شدن پس‌زمینه را تأیید کند و ثابت کند که الگوی تکراری (boilerplate) کار می‌کند.