تخطَّ إلى المحتوى

لماذا Astur؟

يقدم Astur جيلاً جديداً من أتمتة اختبارات الجوال. بينما تعتمد الأدوات السابقة على تغليف خادم أتمتة خارجي (مثل Appium أو WebDriver) وتشغيل وكيل منفصل يتطلب منك التثبيت والإدارة المستمرة، يأتي Astur ليستغني عن هذه الطبقات الإضافية. فهو يتعامل مباشرة مع وكلاء أصليين للمنصات، يتولى بناءهم وإدارتهم بنفسه، مقدماً كل ذلك عبر واجهة سهلة الاستخدام بأسلوب Playwright. النتيجة؟ أداء أسرع، إعداد أبسط، واستقرار أعلى ضد التعطل.

مقارنة بين النموذج القديم وAstur

Section titled “مقارنة بين النموذج القديم وAstur”
أدوات Appium / WebDriver Astur
طريقة الاتصال خادم HTTP/WebDriver خارجي يتطلب تشغيلاً يدوياً وكلاء أصليون مدمجون يتولى Astur تشغيلهم نيابة عنك
الإعداد تثبيت خادم Appium، والوكلاء، وضبط الإعدادات المستمرة npm install -D @astur-mobile/test astur-mobile
محرك العناصر محددات عناصر تعتمد على الخادم ومنفصلة عن تأكيداتك محرك واحد مشترك بين الاختبارات وأداة Inspector
كتابة الاختبارات أداة فحص عامة تعتمد على WebDriver أداة فحص وتوليد كود مبنية على نفس بيئة التشغيل الخاصة باختباراتك
دورة الحياة إدارة المحاكيات، والوكلاء، والتوقيع الرقمي يدوياً يتولى Astur الإقلاع، والبناء، والتوقيع، والتعافي تلقائياً

ما الذي يجعل بنية Astur «ذكية»؟

Section titled “ما الذي يجعل بنية Astur «ذكية»؟”

بيئة تشغيل ومحرك محددات موحد — من البداية إلى النهاية. محددات العناصر التي تكتبها (مثل getByRole وgetByText وgetById) يتعامل معها نفس المحرك الذي تستخدمه أداة Inspector لاستخلاص المحددات من بنية التطبيق الحية. ما تراه أثناء كتابة الاختبار هو بالضبط ما يتم تنفيذه — فلا توجد طبقة مطابقة إضافية على الخادم قد تؤدي إلى اختلافات غير متوقعة.

وكلاء أصليون بدلاً من خادم خارجي. يدمج Astur وكيل UIAutomator بلغة Kotlin لنظام Android، ووكيل XCUITest بلغة Swift لنظام iOS. تعمل هذه الوكلاء مباشرة على الجهاز لتنفيذ عمليات البحث، والانتظار، والنقر، وإدخال النصوص، والتمرير، والتقاط صور لبنية التطبيق بأداء أصلي فائق. يقوم Astur ببناء وتشغيل هذه الوكلاء عبر أدوات المنصة في كل جلسة — وداعاً لخوادم Appium، والوكلاء المثبتين يدوياً، وجسور WebDriver.

بساطة Playwright في عالم الجوال. يعتمد Astur على واجهة @astur-mobile/test التي توفر لك التجهيزات (fixtures)، والمشاريع، ودوال expect، ومحددات عناصر تبدو مألوفة تماماً لمستخدمي Playwright. كما يمكن أتمتة عروض الويب (WebViews) عبر نفس بروتوكول Playwright/CDP، مما يتيح لك دمج اختبارات الواجهات الأصلية والويب في سيناريو واحد بسلاسة.

تنفيذ الإيماءات بأداء أصلي. جميع الإيماءات كالنقر، والنقر المزدوج، والضغط المطول، والتمرير، والسحب، ودالة scrollIntoView تتم معالجتها عبر الوكيل الأصلي — بما في ذلك ضبط التوقيت الدقيق للنقر المزدوج وفقاً لنظام التشغيل. توفر دالة locator.scrollIntoView() تجربة موحدة عبر المنصات، مخفيةً الفروقات التقنية بين شاشات iOS وبنية Android.

دورة حياة ذاتية التعافي — سر النجاح في بيئات التكامل المستمر (CI). غالباً ما تفشل اختبارات الجوال بسبب تراكم المحاكيات العالقة وجلسات البناء السابقة. يعالج Astur هذه المشكلة بجعل إدارة دورة الحياة أولوية قصوى:

  • إقلاع تلقائي لجهاز Android الافتراضي عند الحاجة (وداعاً لرسالة «الجهاز غير موجود»).
  • بناء وتوقيع وتشغيل تلقائي لوكيل XCUITest عبر Xcode، فلا حاجة لتثبيته يدوياً أبداً.
  • تنظيف الجلسات السابقة عند البدء — أي جلسة سابقة انهارت أو أُغلقت قسراً بـ kill -9 لن تترك خلفها عمليات xcodebuild أو محاكيات عالقة تؤثر على التشغيل التالي.
  • إزالة مخلفات البناء القديمة لضمان عدم تراكم ملفات DerivedData واستهلاك مساحة القرص.
  • إغلاق آمن عند المقاطعة — الضغط على Ctrl-C أو حتى الإغلاق القسري للطرفية (SIGHUP) ينهي جميع عمليات الوكيل فوراً، فلا تبقى أي أجهزة قيد التشغيل.
  • تشغيل متوازٍ آمن عبر نظام حجز يضمن عدم تداخل أكثر من عامل (worker) على نفس المحاكي.

اعتماد كامل على npm وإمكانية تدقيق عالية. يتم تثبيت كل شيء عبر npm. وتُرفق الحزم بإثباتات المصدر (provenance)، ويُدمج وكلاء المنصات مع كل حزمة بحيث لا يتطلب التثبيت العادي أي خطوات بناء إضافية (باستثناء وكيل iOS الذي يُبنى محلياً على جهاز Mac نظراً لاشتراطات Apple).

لماذا Astur هو الأسرع والأكثر استقراراً؟

Section titled “لماذا Astur هو الأسرع والأكثر استقراراً؟”

الاستغناء عن الخادم الخارجي يزيل عبء الاتصال الشبكي والحاجة للحفاظ على عملية إضافية قيد التشغيل. كما أن توحيد محرك الفحص والتأكيد يقضي على فئة كاملة من الأخطاء من نوع «أداة الفحص تظهر X لكن الاختبار يتعرف على Y». علاوة على ذلك، فإن دورة الحياة ذاتية التعافي تقضي على المسبب الرئيسي لعدم استقرار اختبارات الجوال في بيئات التكامل المستمر: التراكمات المتبقية من الأجهزة والوكلاء.

هذا المزيج الفريد — التنفيذ الأصلي، ومحرك المحددات الموحد، ودورة الحياة النظيفة — هو ما يجعل Astur نقلة نوعية وجيلاً جديداً في عالم الأتمتة، وليس مجرد غلاف آخر حول Appium.

التالي: اطلع على صفحة البنية لفهم نموذج التنفيذ بعمق، أو توجه إلى البدء السريع لتشغيل اختبارك الأول.