اگر هنوز ساعتها وقت خود را صرف بهروزرسانی سلکتورهای CSS میگذارید که با هر تغییر کوچک در کد میشکنند، باید بدانید عصر اسکریپتهای شکننده به پایان رسیده است. تست کردن یک رابط وب معمولاً مستلزم نوشتن اسکریپتهای حساس و نگهداری سلکتورهایی است که با هر بهروزرسانی جزئی از کار میافتند. Argus که در ۱۸ اوت ۲۰۲۶ عرضه شد، یک عامل تست بصری UI با دسترسی به سورسکد است که این بار اضافی دستی را حذف میکند. این ابزار به کاربران اجازه میدهد تستها را به زبان انگلیسی ساده توصیف کنند و اجازه دهد یک عامل هوش مصنوعی آن را دقیقاً مانند یک انسان اجرا کند.

چرخش به سمت تستهای عاملمحور
بسیاری از ابزارهای تست خودکار از یک منطق صلب «بازپخش» (Replay) پیروی میکنند که منجر به تستهای ناپایدار (Flaky) و هزینههای نگهداری بالا میشود. Argus این پارادایم را به سمت استدلال عاملمحور (Agentic Reasoning) تغییر میدهد، جایی که سیستم در لحظه با صفحه تطبیق مییابد. این سیستم یک اسکریپت ثابت را بازپخش نمیکند؛ بلکه درباره صفحه استدلال میکند و رفتار خود را بر اساس آنچه میبیند تغییر میدهد.
این رویکرد بهویژه برای توسعهدهندگانی که روی localhost یا اپلیکیشنهای شبکه خصوصی کار میکنند و نیاز به اعتبارسنجی سریع بدون «مراسمات راهاندازی» فریمورکهای سنتی دارند، بسیار مفید است. از آنجایی که Argus بر پایه Playwright ساخته شده، مستقیماً در استکهای مدرن جای میگیرد و میتواند در عرض چند دقیقه تست را آغاز کند.

خط لوله چند-عاملی (Multi-Agent Pipeline)
به نقل از مستندات این پروژه در گیتهاب، Argus برای تضمین پایداری و قابلیت اطمینان، بهجای تکیه بر یک فراخوان ساده از مدل، از یک خط لولهی تخصصی شامل ۵ عامل (Agent) استفاده میکند که هر کدام وظیفهای مشخص دارند. این رویکرد با روند کلی مدیریت عاملها همسو است که در آن کنترل و نسخهبندی عاملهای هوش مصنوعی از کنسولهای ابری به محیطهای توسعه مانند Git منتقل میشود تا قابلیت بازتولید و نظارت بر آنها افزایش یابد.
- اعتبارسنج (Validator): URL هدف و توصیفات تست را بررسی میکند تا اطمینان حاصل شود که پیش از شروع اجرا، موارد واقعاً قابل تست هستند.
- درککننده (Comprehender): توصیفات تست را میخواند و آنها را به موارد تست مجزا، متمایز و عملی تبدیل میکند.
- کاوشگر (Explorer): ابتدا اپلیکیشن را میگردد (Crawl میکند) تا نقشهای از صفحات و اکشنهای خاص موجود در هر صفحه استخراج کند.
- استراتژیست (Strategist): نقشه استخراج شده و موارد تست را به یک برنامه اجرایی عینی و گامبهگام تبدیل میکند.
- مجری (Executor): برنامه را در یک مرورگر واقعی اجرا میکند؛ یعنی پیمایش میکند، تایپ میکند، کلیک میکند و در حین پیشروی، نتایج را تایید میکند.

اجرای لحظهای و ارائه شواهد
در این سیستم هیچ اتفاقی در یک جعبه سیاه رخ نمیدهد. کاربران میتوانند این فرآیند را بهصورت زنده تماشا کنند، زیرا هر عامل استدلالهای خود را بهصورت جریانی (Stream) مستقیماً به رابط کاربری میفرستد؛ مثلاً عباراتی مانند «در حال پیمایش به /companies» یا «تایید میکنم که Airbnb در صفحه هست». این قابلیت به توسعهدهندگان اجازه میدهد تا نحوه نقشهبرداری از اپلیکیشن و ساخته شدن برنامه اجرایی را در لحظه مشاهده کنند.
برای مثال، یک کاربر میتواند Argus را به سایتی مانند Y Combinator متصل کرده و توصیفی دقیق از هدف خود ارائه دهد. یک تست جامع میتواند شامل موارد زیر باشد:
- پیمایش از صفحه اصلی به دایرکتوری استارتاپها.
- جستوجوی یک شرکت شناخته شده مانند «Airbnb» و تایید نمایش آن در نتایج.
- فیلتر کردن بر اساس یک دوره خاص، مانند «Winter 2024»، برای اطمینان از بهروزرسانی لیست.
- باز کردن پروفایل یک شرکت برای تایید اینکه نام، توضیحات تکخطی، دوره (Batch) و لینک وبسایت بهدرستی رندر شدهاند.
- تست حفظ وضعیت جستوجو/فیلتر هنگام بازگشت به دایرکتوری.
- تغییر اندازه Viewport به عرض ۳۷۵ پیکسل برای تایید اینکه منوی ناوبری به منوی موبایل تبدیل میشود و لیست بدون تداخل المانها، قابل اسکرول باقی میماند.
در نهایت، Argus یک گزارش ساختاریافته شامل خط زمانی (Timeline)، اسکرینشاتهایی از هر مرحله و یک گزارش موفقیت/شکست به همراه استدلالهای پشت هر نتیجه ارائه میدهد.


معماری فنی و طراحی اول-محلی
از نظر فنی، این سیستم بر پایه Playwright ساخته شده و از SQLite برای ذخیرهسازی محلی استفاده میکند. طراحی آن «اول-محلی» (Local-first) است، به این معنی که اسکرینشاتها و دادهها هرگز از دستگاه کاربر خارج نمیشوند. هیچ سیستم تلهمتری (Telemetry) در آن وجود ندارد و برای حفظ امنیت، سیستم هرگونه اعتبارنامه (Credentials) یا پارامترهای حساس در URLهای هدف را رد میکند.
الزامات سیستم و راهاندازی
برای اجرای محلی این ابزار، کاربران به Python 3.11+، ابزار uv و Node.js نسخه 20.19+ یا 22.12+ نیاز دارند. برای اجرای واقعی، یک کلید API از Gemini الزامی است و سیستم بهصورت پیشفرض از مدل gemini-2.5-flash استفاده میکند.
متغیرهای کلیدی پیکربندی عبارتند از:
ARGUS_DATA_DIR: دایرکتوری مربوط به SQLite و اسکرینشاتها.ARGUS_HEADLESS: کنترل حالت مرورگر Playwright (مقدار پیشفرض true است).ARGUS_RUN_TIMEOUT: که بهصورت پیشفرض روی ۳۰۰ ثانیه تنظیم شده است.

استقرار و لایسنس
این چرخش به سمت تستهای UI عاملمحور به این معنی است که نقش «مهندس تست» از نوشتن کد به «تعریف هدف» تغییر میکند. با حذف وابستگی به سلکتورهای ثابت، Argus بدهی فنی مرتبط با تغییرات رابط کاربری را کاهش میدهد. اثر مرتبه دوم این تغییر، ایجاد یک حلقه بازخورد سریعتر برای توسعهدهندگان فرانتاند است که اکنون میتوانند باگهایی را پیدا کنند که حتی برای آنها تست خاصی ننوشته بودند.
برای تیمها، لایسنسینگ در قالب Argus Source-Available License 1.0 (ASAL-1.0) طبقهبندی شده است:
- افراد و تیمهای کوچک (کمتر از ۱۰۰ عضو): استفاده، تغییر و میزبانی شخصی برای مقاصد تجاری و غیرتجاری رایگان است.
- سازمانهای بزرگ (۱۰۰ عضو و بیشتر): نیاز به لایسنس تجاری از طریق [email protected] دارند.
نکته قابل توجه این است که تمام نسخهها پس از سه سال بهطور خودکار به لایسنس MIT تبدیل میشوند تا دسترسی متنباز بلندمدت تضمین شود.
برای شروع، میتوانید از طریق Docker (docker compose up --build) آن را میزبانی کنید، بهصورت محلی از طریق Uvicorn اجرا کنید یا برای دور زدن فرآیند نصب، از پلتفرم میزبانیشده در argustest.com استفاده کنید.
گام بعدی شما
- اگر پروژه بزرگی با تغییرات مداوم UI دارید، Argus را از طریق Docker نصب کنید تا زمان نگهداری تستها را بسنجید.
- برای شروع سریع بدون نصب، از پلتفرم میزبانیشده در argustest.com استفاده کنید.
- توصیفات تست خود را از حالت «کلیک کن روی X» به حالت «هدف من این است که X را تایید کنم» تغییر دهید تا قدرت استدلال عاملها را ببینید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو