پرش به محتوای اصلی
ابزارهای هوش مصنوعی

e2e TesterArmy چیست؟ تست ایجنتی وب و موبایل

e2e از TesterArmy از ۱ اکتبر ۲۰۲۶ متن‌باز شد: تست E2E وب و موبایل با agent.act کنار assertion دقیق، کش ریپلی بدون توکن تکراری، مدل خودتان و لایسنس Apache-2.0.

۹ دقیقه مطالعه
اشتراک‌گذاری:
تصویر رسمی لانچ e2e از وبلاگ TesterArmy؛ معرفی فریم‌ورک متن‌باز تست ایجنتی
تصویر رسمی لانچ e2e از وبلاگ TesterArmy؛ معرفی فریم‌ورک متن‌باز تست ایجنتی
فهرست مطالب

e2e یک فریم‌ورک متن‌باز TypeScript از شرکت TesterArmy است که از حدود ۱ اکتبر ۲۰۲۶ به‌صورت عمومی معرفی شد. ایدهٔ ساده این است: در یک تست واحد، هم می‌توانید مثل Playwright با سلکتور و assertion دقیق کار کنید، هم جایی که مسیر UI شکننده است به ایجنت بگویید «این کار را انجام بده» — با دستورهایی مثل agent.act، agent.assert و agent.extract. همان تست می‌تواند روی وب، شبیه‌ساز iOS و شبیه‌ساز/امولاتور Android اجرا شود.

اگر فقط اسم «تست با هوش مصنوعی» را بشنوید، ممکن است فکر کنید همه‌چیز را مدل حدس می‌زند و هیچ‌وقت نمی‌دانید دقیقاً چه چیزی چک شده. اینجا روایت محصول برعکس است: ایجنت برای هدف‌های مبهم کمک می‌کند، ولی نتیجهٔ مهم را می‌توانید با assertion قطعی قفل کنید. در ادامه به زبان ساده می‌گوییم e2e چیست، با Playwright چه فرقی دارد، کش ریپلی چطور هزینهٔ مدل را کم می‌کند، مدل را از کجا می‌آورید، و برای شروع به چه چیزی نیاز دارید. اگر مسیرتان بیشتر «ایجنت داخل IDE» است تا تست UI، جدا دربارهٔ JetBrains Air نوشته‌ایم.

پاسخ کوتاه: e2e چیست؟

طبق وبلاگ رسمی و README، e2e یک رانر و SDK تست end-to-end است که روی npm با نام بستهٔ e2e منتشر می‌شود (نسخهٔ بررسی‌شده در زمان نگارش: ۰٫۱۷٫۰، لایسنس Apache-2.0). مرورگرها از مسیر Playwright می‌آیند؛ موبایل از موتور @e2e-dev/mobile و ابزار agent-device. شرکت می‌گوید هنوز به نسخهٔ ۱٫۰ نرسیده و API ممکن است بین انتشارهای جزئی عوض شود — یعنی برای تیم‌های حساس به پایداری، باید changelog را جدی بگیرید.

زمینه کوتاه: تست E2E و گام ایجنت یعنی چه؟

تست end-to-end (E2E) یعنی اپ را مثل کاربر واقعی باز می‌کنید و یک جریان کامل را طی می‌کنید: ورود، خرید، ارتقای پلن و غیره. در تست کلاسیک، تقریباً هر کلیک با سلکتور نوشته می‌شود؛ اگر دکمه عوض شود، تست می‌شکند. در تست کاملاً ایجنتی، مدل هدف را می‌فهمد ولی گاهی سخت است بگویید «دقیق چه چیزی تأیید شد».

e2e سعی می‌کند این دو را مخلوط کند: جایی که دقت لازم است از locator و expect استفاده می‌کنید؛ جایی که مسیر شکننده است، هدف را به زبان طبیعی به ایجنت می‌دهید. CTO شرکت، Oskar Kwasniewski، در پست لانچ نوشته که این ابزار از تجربهٔ روزانهٔ TesterArmy روی اپ‌های مشتریان ساخته شده و قرار است زیربنای متن‌باز همان پلتفرم بماند.

چه امکاناتی اعلام شده؟

  • گام‌های عامل کنار چک قطعی — agent.act برای انجام هدف، agent.assert برای شرط به زبان طبیعی، agent.extract برای خواندن داده از صفحه و استفادهٔ بعدی.

  • کش ریپلی — وقتی یک گام عامل با چک ثبت‌شده پاس می‌شود، اقداماتش ذخیره می‌شود و در اجرای بعدی بدون تماس با مدل دوباره پخش می‌شود؛ اگر UI آن‌قدر عوض شود که ریپلی شکست بخورد، دوباره ایجنت زنده وارد می‌شود.

  • یک API برای وب و موبایل — fixtureها، locatorها و assertionها روی هر دو سمت مشترک توصیف شده‌اند.

  • مدل و اشتراک خودتان — کلید API، Vercel AI Gateway، OpenRouter، مدل محلی، یا ورود با اشتراک ChatGPT / GitHub Copilot / SuperGrok؛ طبق وبلاگ، روی توکن‌ها markup اضافه نمی‌کنند.

  • مهارت و MCP برای کدیگ‌ایجنت‌ها — skill و سرور MCP تا Claude Code، Cursor یا Codex بتوانند اپ را بکاوند و تست با locator واقعی بنویسند.

  • ویزارد نصب — دستور npx e2e init کانفیگ، تست نمونه، وابستگی‌ها و در صورت تمایل ثبت MCP/skill را آماده می‌کند.

جدول سریع: e2e در برابر Playwright خالص

موضوع

e2e (TesterArmy)

Playwright معمولی

نقش اصلی

فریم‌ورک E2E با گام ایجنت + assertion دقیق در یک تست

اتوماسیون مرورگر و assertion قطعی بدون لایهٔ ایجنت داخلی

موتور وب

از طریق @e2e-dev/web روی Playwright (Chromium / Firefox / WebKit)

خود Playwright

موبایل

iOS/Android با @e2e-dev/mobile و agent-device در همان مدل تست

مسیر موبایل جدا / اکوسیستم‌های دیگر؛ این جدول فقط قیاس مفهومی است

هزینه مدل

فقط روی گام‌های عامل؛ بعد از کش ریپلی، اجرای بعدی بدون توکن (تا وقتی UI بشکند)

بدون مدل؛ هزینه عمدتاً CI و نگهداری سلکتور

وضعیت محصول

متن‌باز Apache-2.0، هنوز pre-1.0

بالغ و پایدار برای وب

مهاجرت

وبلاگ می‌گوید API آشناست و می‌توانید کم‌کم گام ایجنت اضافه کنید

نقطهٔ شروع رایج بسیاری از تیم‌ها

مدل، کلید و اسرار تست

گام‌های عامل به مدل نیاز دارند؛ تست‌های بدون گام عامل، طبق README، بدون مدل هم اجرا می‌شوند. شرکت تأکید می‌کند رمزها و credentialهای تست در متغیر محیطی بمانند و وارد کانتکست مدل نشوند — ایجنت می‌تواند رمز را در فرم تایپ کند بدون اینکه آن رمز در پرامپت ظاهر شود. این طراحی اعلامی محصول است؛ همچنان باید سیاست امنیتی تیم خودتان را رعایت کنید.

برای مشاهدهٔ مصرف، مسیر منطقی این است که بعد از چند اجرای واقعی، لاگ/صورتحساب ارائه‌دهندهٔ مدل را چک کنید — نه اینکه فقط روی عددهای تبلیغاتی حساب کنید. اگر بودجهٔ توکن محدود است، ابتدا جریان‌های پرتکرار را با assertion قطعی بنویسید و ایجنت را فقط روی بخش‌های ناپایدار بگذارید تا کش ریپلی بیشتر کار کند.

نصب و شروع کار

  1. Node.js را طبق داکس سریع‌شروع روی ۲۴٫۸ یا جدیدتر بگذارید (یا روی شاخهٔ ۲۲ حداقل ۲۲٫۲۲٫۳). روی ویندوز، داخل WSL کار کنید.

  2. در پوشهٔ اپ، دستور npx e2e init را بزنید (معادل pnpm/bun هم در داکس آمده). موتور وب یا موبایل و ارائه‌دهندهٔ مدل را انتخاب کنید؛ می‌توانید برای تست بدون AI گزینهٔ None را هم بگیرید.

  3. آدرس اپ یا فرمان استارت dev server را در e2e.config.ts تنظیم کنید، وابستگی‌ها را نصب کنید و با npx e2e run تست نمونه را اجرا کنید.

  4. اگر با Claude Code یا Cursor کار می‌کنید، skill رسمی را اضافه کنید (در پست لانچ: npx skills add tester-army/e2e) و برای دیباگ از گزارش شکست استفاده کنید.

برای موبایل، داکس می‌گوید قبل از کار جدی npx agent-device doctor را بزنید؛ روی مک معمولاً مسیر iOS و در غیر آن Android پیشنهاد می‌شود. اگر بیشتر به‌دنبال مدل کدنویسی React Native/Next هستید تا تست UI، مطلب Callstack Apex زاویهٔ دیگری است. و اگر ایجنت باید روی دسکتاپ واقعی کلیک کند (نه فقط مرورگر تست)، مسیر جدا مثل Cua Spaces است.

برای چه کسی مناسب است؟

  • تیم‌هایی که Playwright دارند و می‌خواهند فقط روی جریان‌های شکننده گام ایجنت اضافه کنند، نه اینکه کل سوئیت را از صفر ایجنتی کنند.

  • محصولاتی با وب + اپ موبایل که دوست دارند یک زبان تست مشترک داشته باشند.

  • کسانی که از قبل اشتراک ChatGPT یا Copilot یا کلید API دارند و نمی‌خواهند توکن جدا با markup بخرند (طبق ادعای شرکت).

  • تیم‌هایی که کدیگ‌ایجنت‌شان باید بتواند خودش تست بنویسد (skill + MCP).

محدودیت‌ها و احتیاط‌ها

  • وضعیت pre-1.0 است؛ انتظار تغییر API بین نسخه‌های جزئی معقول است.

  • دسکتاپ‌اپ‌های بومی (غیر از وب/iOS/Android عنوان‌شده) هنوز پوشش داده نشده‌اند؛ موتورها pluggable اعلام شده‌اند.

  • گام عامل در اجرای اول کندتر و پرهزینه‌تر از سلکتور است؛ صرفه‌جویی به کش ریپلی و میزان تغییر UI بستگی دارد — عدد ثابت صرفه‌جویی در منابع رسمی به‌عنوان بنچمارک مستقل نیامده.

  • CLI به‌صورت پیش‌فرض تلمتری ناشناس می‌فرستد (بدون محتوای تست/اپ/کلید)؛ برای خاموش کردن: npx e2e telemetry disable یا متغیر E2E_TELEMETRY_DISABLED=1.

  • این متن جایگزین سیاست QA یا امنیت سازمان شما نیست؛ قبل از اجرای ایجنت روی محیط‌های حساس، دامنهٔ دسترسی و اسرار را مشخص کنید.

جمع‌بندی

e2e از TesterArmy از ۱ اکتبر ۲۰۲۶ به‌صورت متن‌باز Apache-2.0 معرفی شده تا تست‌های E2E وب و موبایل بتوانند هدف ایجنت و چک قطعی را در یک فایل نگه دارند، و با کش ریپلی هزینهٔ مدل را روی اجراهای تکراری کم کنند. اگر Playwright برایتان آشناست و از شکنندگی سلکتور خسته شده‌اید، الان زمان یک آزمایش کنترل‌شده روی یک جریان مهم است — با خواندن quickstart رسمی و پذیرش اینکه محصول هنوز به ۱٫۰ نرسیده، نه فقط با تیتر «تست ایجنتی».

سوالات پرتکرار

e2e دقیقاً چیست؟

فریم‌ورک متن‌باز TypeScript برای تست end-to-end که گام‌های عامل را کنار locator و assertion دقیق می‌گذارد و وب، iOS و Android را پوشش می‌دهد.

با Playwright چه فرقی دارد؟

موتور وب روی Playwright سوار است، ولی لایهٔ agent.act/assert/extract و کش ریپلی و مسیر موبایل یکپارچه را اضافه می‌کند؛ می‌توانید کم‌کم مهاجرت کنید.

آیا باید مدل جدا بخرم؟

طبق اعلام شرکت می‌توانید از اشتراک یا کلید یا مدل محلی خودتان استفاده کنید و روی توکن markup اضافه نمی‌کنند؛ تست بدون گام عامل مدل لازم ندارد.

کش ریپلی یعنی چه؟

بعد از پاس شدن یک گام عامل با چک ثبت‌شده، اقدامات ذخیره می‌شود و اجرای بعدی بدون تماس مدل همان مسیر را پخش می‌کند تا وقتی UI آن‌قدر عوض شود که ریپلی بشکند.

رایگان و متن‌باز است؟

کد با لایسنس Apache-2.0 روی GitHub/npm منتشر شده؛ هزینهٔ اجرا عمدتاً زیرساخت CI و در صورت استفاده، توکن مدل شماست.

نسخهٔ پایدار ۱٫۰ شده؟

خیر. README صریحاً می‌گوید در مسیر ۱٫۰ است و API ممکن است بین انتشارهای جزئی تغییر کند. نسخهٔ npm بررسی‌شده در زمان نگارش ۰٫۱۷٫۰ بود.

تلمتری را چطور خاموش کنم؟

دستور npx e2e telemetry disable یا متغیر محیطی E2E_TELEMETRY_DISABLED=1؛ داکس می‌گوید محتوای تست و کلیدها ارسال نمی‌شوند.

برای کدیگ‌ایجنت چه پشتیبانی‌ای دارد؟

skill و سرور MCP تا ابزارهایی مثل Claude Code، Cursor یا Codex بتوانند UI را بکاوند، تست بنویسند و گزارش شکست را بخوانند.

منابع

برچسب‌ها:هوش مصنوعیهوش مصنوعی مولدبرنامه‌نویسیتوسعه وب
اشتراک‌گذاری:

مطالب مرتبط

عضویت در خبرنامه

آخرین اخبار هوش مصنوعی و فناوری را در ایمیل خود دریافت کنید.

پس از عضویت یک ایمیل تأیید برایتان ارسال می‌شود. هر زمان می‌توانید اشتراک خود را لغو کنید و ایمیل شما با شخص ثالثی به اشتراک گذاشته نمی‌شود.