برنامه های کاربردی AI در اتوماسیون تست – زمینه ، نسخه ی نمایشی با UI -TARS LLM & Midscene (قسمت 1)

این سری از مقالات یک راهنمای واضح و عملی برای برنامه های AI در اتوماسیون تست پایان به پایان ارائه می دهد. من از هوش مصنوعی برای تأیید عملکرد پایان به محصول استفاده می کنم ، و اطمینان حاصل می کنم که مشخصات مورد نیاز را برآورده می کند.
1. مرور نقش آزمایش پایان به پایان
تأکید بر این که بار دیگر تأکید کنید بسیار مهم است: هدف اصلی آزمایش پایان به پایان ، تأیید این است که ویژگی های جدید و عملکرد رگرسیون با الزامات و طراحی محصول با شبیه سازی رفتار مشتریان مطابقت دارد.
آزمایش پایان به پایان یک روش آزمایش است که به طور گسترده در اعتبارسنجی رگرسیون استفاده می شود. این می تواند به صورت دستی انجام شود – مانند نوشتن یک لیست چک سلامت و اجرای تست ها به صورت دستی یا از طریق اتوماسیون با نوشتن اسکریپت های تست با استفاده از ابزارهایی مانند نمایشنامه نویس یا Appium.
سه جنبه اصلی آزمایش پایان به پایان در شکل فوق توضیح داده شده است:
- درک کنید که چگونه کاربران از این ویژگی بهره مند می شوند – مقداری که ویژگی را برای کاربران به ارمغان می آورد ، شناسایی کنید.
- موارد تست طراحی را از دید کاربر طراحی کنید – سناریوهای تست ایجاد کنید که با تعامل کاربر واقعی هماهنگ باشد.
- اجرای آزمون در حین توسعه – به طور مداوم موارد تست را در طول فرآیند توسعه اجرا کنید تا تأیید کنید که کد اجرا شده عملکرد مورد نیاز را برآورده می کند.
2. در عمل – اجرای موارد آزمون خود با یک عامل هوش مصنوعی
در اتوماسیون تست پایان به پایان ، رویکرد معمولی به شرح زیر است:
- عملکرد را تجزیه و تحلیل کنید – ویژگی و رفتار مورد انتظار آن را درک کنید.
- تجزیه و تحلیل و نوشتن موارد آزمون – سناریوهای تست را بر اساس تعامل و الزامات کاربر تعریف کنید.
- اسکریپت های اتوماسیون را بنویسید – اجرای موارد تست با استفاده از چارچوب های اتوماسیون.
هنگام نوشتن موارد تست خودکار ، ما معمولاً کلاسهای مانند شیء را برای نشان دادن درخت HTML ایجاد می کنیم و به اسکریپت آزمون اجازه می دهیم تا عناصر را به طور کارآمد در تعامل یا بازیابی قرار دهد.
حال ، بیایید ببینیم که چگونه یک عامل AI می تواند این روند را بهینه کند.
2.1 – یک آژانس هوش مصنوعی چندگانه می تواند فرایند آزمون را بهینه کند
ابتدا یک نسخه ی نمایشی را تماشا کنید – ببینید که چگونه عامل هوش مصنوعی از دیدگاه خود کار می کند.
(فیلم شتاب نمی یابد)
ویدئوی بالا نشان می دهد که چگونه عامل هوش مصنوعی روند را درک می کند – به طور خود به طور خود با تفسیر موارد آزمون ، ارزیابی وضعیت فعلی صفحه وب (تصویر) ، تصمیم گیری و تصمیم گیری و اجرای آزمون. این تصمیم گیری در تصمیم گیری چند مرحله ای است و انواع مختلفی از استدلال را برای دستیابی به هدف خود اعمال می کند.
این عامل AI مبتنی بر UI-TARS LLM (7b-sft) و میدزن (https://midscenejs.com/) است.
من مدل ها و ابزارها را در بخش بعدی معرفی می کنم
این مورد آزمایشی است که عامل AI خوانده است:
Scenario: Customer can search and open product detail page from a search result
Go to https://www.vinted.com
The country selection popup is visible
Select France as the country that I'm living
Accept all privacy preferences
Search 'Chanel', and press the Enter
Scroll down to the 1st product
Click the 2nd product from the 1st row in the product list
Assert Price is visible
برای اجرای این تست ، به سخت افزار زیر نیاز دارد:
- NVIDIA L40S – 1 X GPU ، حافظه GPU 48 گیگابایتی ، 7 X VCPU ، حافظه پردازنده 40 گیگابایتی
2.2 – چه مشکلی توسط این عامل هوش مصنوعی حل شد
با تأمل در مورد آنچه در بخش 1 ذکر کردیم ، آزمایش پایان به پایان می تواند از دو طریق انجام شود: با نوشتن اسکریپت های تست خودکار یا اجرای تست ها به صورت دستی.
با معرفی یک عامل هوش مصنوعی ، یک رویکرد جدید پدیدار می شود – به طور خلاصه موارد آزمون خود را بدون نوشتن اسکریپت های آزمایشی به عامل هوش مصنوعی ارائه می دهید. سپس عامل AI با انجام خودمختاری موارد آزمایشی ، اجرای دستی را جایگزین می کند.
به طور خاص ، مشکلات زیر را برطرف می کند:
- هزینه های آزمایش دستی را کاهش می دهد – نماینده هوش مصنوعی می تواند موارد آزمایشی را که توسط هر کسی نوشته شده است ، تفسیر کند و نیاز به نوشتن اسکریپت های آزمون را از بین ببرد و اجازه دهد در هر زمان آزمایش ها انجام شود.
- تلاش برای نگهداری اسکریپت را کاهش می دهد – عامل هوش مصنوعی به طور خودمختار عمل مرورگر بعدی را تعیین می کند و نیاز به تغییر آزمایشات برای تغییرات جزئی UI را کاهش می دهد.
- دسترسی و مشارکت را افزایش می دهد -جابجایی از مهندسان سنتی QA که اسکریپت های اتوماسیون را به یک مدل غیر متمرکز می نویسند که در آن توسعه دهندگان مشارکت می کنند ، و اکنون در مرحله ای که هر کسی به زبان انگلیسی مهارت داشته باشد و با محصول آشنا باشد می تواند موارد آزمایش نهایی را بنویسد.
2.3 – اجرای با نمایشنامه نویس
test("[UI-Tars - Business]a user can search then view a product", async ({ page, ai, aiAssert, aiWaitFor }) => {
await page.goto("https://www.vinted.com")
await aiWaitFor('The country selection popup is visible')
await ai("Select France as the country that I'm living")
await page.waitForURL((url: URL) => url.hostname.indexOf('vinted.fr') >= 0)
await ai("Accept all privacy preferences")
await ai("Click Search bar, then Search 'Chanel', and press the Enter")
await ai("Scroll down to the 1st product")
await ai("Click the 2nd product from the 1st row in the product list")
expect(page.url()).toContain("/items/")
await aiAssert("Price is visible")
})
3. مقدمه Ui-Tars LLM و Midscene
3.1 ui-tars
UI-TARS یک مولتیپای GUI با منبع باز و منبع باز است که در بالای QWEN-2.5-VL (2.5 VL) دوباره ساخته شده است. این مدل می تواند هر دو را پردازش کند متن وت تصاویر GUI به طور همزمان ، و انواع مدل های STF و DPO 2 را با تعداد زیادی از تصاویر GUI ارائه می دهد. UI-TAR به طور خاص برای تعامل با GUI طراحی شده است.
عملکرد خوبی دارد در:
- برنامه مرورگر
- کاربرد دسک تاپ و دسک تاپ
- برنامه تلفن همراه و موبایل
این پشتیبانی از 2 زبان پشتیبانی می کند:
جزئیات بیشتر – لطفاً آن را از مقاله بخوانید
3.2 میانی
Midscene یک دستگاه دولتی است ، یک عامل AI-Agent با چند فصلی با مدل های ارائه شده ایجاد می کند.
پشتیبانی می کند:
- UI-TARS (شاخه اصلی از Aiassert ، Aiquery و Aiwaitfor پشتیبانی نمی کند ، اما می توانید شعبه من را بررسی کنید)
- QWEN-2.5 VL (Tongyi Qianwen 2.5 ، من واقعاً این نام را دوست دارم …)
- GPT-4O
3.3 تفاوت با سایر راه حل ها چیست
در بازار ، ما چندین مورد از این ابزارها مانند Kaneai (از Lambdatest ، که منبع باز نیست) و Auto-PlayWright/Zero-Step داشتیم.
4 مکانیسم بین ui-tars و midscene
4.1 ارکسترها و مقایسه ها
توانایی اصلی آن برنامه ریزی ، استدلال و اجرای چندین مرحله به صورت خودمختار ، درست مانند یک انسان ، بر اساس ورودی بصری و دستورالعمل ها است – حاکی از آن تا زمانی که تعیین کند که کار کامل است.
این 3 توانایی کلیدی دارد:
- برنامه ریزی چند مرحله ای در سراسر سیستم عامل ها-با توجه به یک دستورالعمل ، می تواند چندین اقدامات را در مرورگرهای وب ، دسک تاپ یا برنامه های تلفن همراه برنامه ریزی کند.
- استفاده از ابزار برای اجرای – می تواند از ابزارهای خارجی برای انجام اقدامات برنامه ریزی شده استفاده کند.
- استدلال و سازگاری خودمختار – می تواند تعیین کند که آیا این کار در صورت لزوم کامل است یا اقدامات اضافی را انجام می دهد.
من محبوب ترین راه حل های موجود در بازار را تا پایان 2025-02 مقایسه کردم:
راه حل | آیا یک عامل هوش مصنوعی است | هزینه | ورودی اضافی به LLM | نحوه دریافت عنصر HTML | تصمیم گیری چند قدم و استدلال خودمختار | ادغام نمایشنامه نویس | پشتیبانی برنامه تلفن همراه | برنامه دسک تاپ |
---|---|---|---|---|---|---|---|---|
ui-tars (/gpt-4o) + midsene | بله | 1.8 $ / ساعت هنگام استفاده از ui-tars: 7b یا 0.007 $ / تست هنگام استفاده از OpenAI GPT-4O | تصویر GUI | پردازش تصاویر GUI | بله | بله | بله | بله |
Llama 3.2 + ابزارهای Binded + Langgraph | بله | 0.2 $ / تست | HTML | پردازش HTML DOM | هیچ | بله | هنوز | هیچ |
Zerostep / Auto-PlayWright | نوع | ناشناخته | HTML | پردازش HTML DOM | هیچ | بله | ناشناخته | هیچ |
StageHand (GPT-4O یا Clude 3.5) | بله | ناشناخته | تصاویر HTML و GUI | پردازش HTML DOM | هنوز | بله | هنوز | هیچ |
به طور خلاصه-به نظر می رسد یک راه حل UI-TARS (یا GPT-4O) با Midscene کاربردترین و ارزانترین رویکرد است.
4.2 تصمیمات و استدلال چند مرحله ای
بیایید نگاهی به یک مرحله واقعی بیندازیم – Search 'Chanel', and press the Enter
از مثال بالا
4.2.1 Midscene یک پیام سیستم به UI-TAR ارسال می کند
Midscene مرحله تست را به عنوان بخشی از پیام سیستم به LLM ، همراه با تصویر فعلی ارسال می کند.
4.2.2 UI-TAR از طریق و عمل باز می گردد
از آنجا که این “مرحله کاربر” به چندین اقدام مرورگر نیاز دارد ، مانند شناسایی نوار جستجو ، سپس روی نوار جستجو کلیک کنید ، سپس “کانال” را تایپ کنید و در پایان “Enter” را فشار دهید. بنابراین UI-TAR تصمیم 1 را برای “کلیک بر روی نوار جستجو” می گیرد.
4.2.3 UI-TAR استدلال را شروع کنید و اقدامات مرورگر بعدی را برای همان مرحله کاربر به طور تکراری برنامه ریزی کنید
Midscene در حال حاضر قبل از هر استدلال تصاویر را می گیرد ، بنابراین UI-TARS همیشه آخرین وضعیت موجود در مرورگر را می داند ، علاوه بر این ، UI-TARS در حال حاضر تمام تاریخ چت را هنگام استدلال به UI-TAR می فرستد.
4.2.4 UI-TAR به طور مستقل بررسی کنید که آیا مرحله کاربر حاصل شده است
5. خلاصه
-
با استفاده از UI-TARS و Midscene ، با تصمیم گیری چند مرحله ای و استدلال خودمختار ، می تواند تا حدی جایگزین برنامه نویسی تست دستی و تست دستی/اجرای در برابر وب سایت های مشترک تجارت الکترونیکی شود.
-
برای کمک به UI-TARS بهتر از محصول شما ، ما باید پارچه خود را در بالای Midscene بسازیم و اسناد استخراج شده را به عنوان منابع به UI-TAR منتقل کنیم.
-
ما می توانیم عوامل مختلف هوش مصنوعی را برای تجزیه و تحلیل به صورت موازی معرفی کنیم ، اما این بدان معنی نیست که ما به تعداد زیادی از عوامل هوش مصنوعی احتیاج داریم.
-
بزرگترین تنگنا این است که در مقایسه با آزمایش نمایشنامه نویس ، نسبتاً کند است. در نمونه LS40S (1 GPU ، حافظه GPU 48 گیگابایتی) ، یک پرس و جو LLM تنها 2-3 ثانیه طول می کشد. (برای UI-TARS: 7B) ، برای استفاده از LLM بهتر (مانند UI-TARS-72B ، سرمایه گذاری یک سرمایه گذاری خواهد بود بیت بالاتر)
(ui-tars:7b – استفاده از GPU هنگام اجرای آزمون مثال)
(ui-tars:72b – استفاده از GPU هنگام اجرای آزمون مثال)
6. کد
7. منابع
@software{Midscene.js,
author = {Zhou, Xiao and Yu, Tao},
title = {Midscene.js: Let AI be your browser operator.},
year = {2025},
publisher = {GitHub},
url = {https://github.com/web-infra-dev/midscene}
}
@article{qin2025ui,
title={UI-TARS: Pioneering Automated GUI Interaction with Native Agents},
author={Qin, Yujia and Ye, Yining and Fang, Junjie and Wang, Haoming and Liang, Shihao and Tian, Shizuo and Zhang, Junda and Li, Jiahao and Li, Yunxin and Huang, Shijue and others},
journal={arXiv preprint arXiv:2501.12326},
year={2025}
}