Home
Login

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

Apache-2.0TypeScript 3.0kmagnitudedevmagnitude Last Updated: 2025-06-30

Magnitude - إطار عمل لاختبار تطبيقات الويب القائم على الذكاء الاصطناعي

نظرة عامة على المشروع

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

الميزات الأساسية

🎯 الوظائف الرئيسية

  • ✍️ إنشاء حالات اختبار باللغة الطبيعية - قم بإنشاء حالات اختبار بسهولة باستخدام اللغة الطبيعية
  • 🧠 وكيل استدلال قوي - تخطيط وتعديل عمليات الاختبار بذكاء
  • 👁️ وكيل رؤية سريع - تنفيذ عمليات الاختبار بشكل موثوق
  • 📄 حفظ خطط الاختبار - احفظ الخطط لتنفيذ العمليات بنفس الطريقة
  • 🛠 معالجة المشكلات الذكية - يتدخل وكيل الاستدلال لمعالجة المشكلات عند ظهورها
  • 🏃♂️ نشر مرن - يمكن تشغيل الاختبارات محليًا أو في مسارات CI/CD

بداية سريعة

1. تثبيت مشغل الاختبار

npm install --save-dev magnitude-test

2. تهيئة المشروع

npx magnitude init

سيؤدي هذا إلى إنشاء دليل اختبار أساسي tests/magnitude، يتضمن:

  • magnitude.config.ts - ملف تكوين اختبار Magnitude
  • example.mag.ts - ملف اختبار نموذجي

3. تكوين عميل LLM

يتطلب Magnitude إعداد عميلين LLM:

المخطط (Planner)

  • النموذج الموصى به: Gemini 2.5 Pro
  • طريقة التكوين:
    • استخدم Gemini من خلال Google AI Studio أو Vertex AI
    • قم بإنشاء مفتاح API في Google AI Studio وقم بتصديره كـ GOOGLE_API_KEY
    • دعم موفري بدائل: ANTHROPIC_API_KEY / OPENAI_API_KEY

المنفذ (Executor)

  • النموذج المستخدم: Moondream
  • طريقة التكوين:
    • سجل في Moondream وقم بإنشاء مفتاح API
    • قم بتعيين متغير البيئة MOONDREAM_API_KEY
    • يوفر 5000 طلب مجاني يوميًا (حوالي مئات حالات الاختبار)
    • مفتوح المصدر بالكامل ويدعم الاستضافة الذاتية

تشغيل الاختبارات

أمر التشغيل الأساسي

npx magnitude

سيؤدي هذا إلى تشغيل جميع ملفات اختبار Magnitude التي تم العثور عليها باستخدام نمط *.mag.ts.

الاختبارات المتوازية

npx magnitude -w <workers>

مثال على حالة الاختبار

بناء الجملة الأساسي

import { test } from 'magnitude-test';

test('can add and complete todos', { url: 'https://magnitodo.com' })
  .step('create 3 todos')
  .data('Take out the trash, Buy groceries, Build more test cases with Magnitude')
  .check('should see all 3 todos')
  .step('mark each todo complete')
  .check('says 0 items left')

مثال على سيناريو معقد

import { test } from 'magnitude-test';

test('can log in and create company')
  .step('Log in to the app')
  .data({ username: 'test-user@magnitude.run', password: 'test' })
  .check('Can see dashboard')
  .step('Create a new company')
  .data('Make up the first 2 values and use defaults for the rest')
  .check('Company added successfully');

المفاهيم الأساسية

وصف اللغة الطبيعية

  • الخطوات (Steps): تصف الإجراءات التي يجب اتخاذها
  • التحققات (Checks): تأكيدات باللغة الطبيعية
  • البيانات (Data): بيانات الاختبار، تدعم أي أزواج قيمة-مفتاح

فلسفة التصميم

كتابة حالات الاختبار تشبه وصف كيفية اختبار عملية معينة لزميل:

  • ما هي الخطوات التي يحتاجون إلى اتخاذها
  • ما الذي يجب عليهم التحقق منه
  • ما هي بيانات الاختبار التي يجب استخدامها

تكامل CI/CD

يمكن تشغيل اختبارات Magnitude في أي بيئة CI قادرة على تشغيل اختبارات Playwright، ما عليك سوى تضمين بيانات اعتماد عميل LLM.

دعم GitHub Actions

يوفر المشروع تعليمات مفصلة حول تشغيل حالات الاختبار على GitHub Actions.

البنية التقنية

تصميم النموذج المزدوج

يستخدم Magnitude بنية نموذج تخطيط/تنفيذ منفصلة:

  • نموذج التخطيط: يضع استراتيجيات اختبار فعالة
  • نموذج التنفيذ: ينفذ الاختبارات بسرعة وموثوقية

الاختلافات عن الحلول الأخرى

مقارنة بواجهات برمجة تطبيقات استخدام الكمبيوتر الخاصة بـ OpenAI أو Anthropic:

  • سرعة أكبر: مُحسَّن خصيصًا لحالات الاختبار
  • موثوقية أعلى: بنية وكيل مصممة خصيصًا
  • تكلفة أقل: تحسين فعالية التكلفة لسيناريوهات الاختبار
  • مشغل اختبار أصلي: أدوات تصميم وتشغيل اختبار مصممة خصيصًا

ملخص

يمثل Magnitude ابتكارًا مهمًا في مجال أتمتة الاختبار، من خلال الجمع بين تقنيات الذكاء الاصطناعي ومزايا أطر الاختبار التقليدية، فإنه يوفر حلاً قويًا ومرنًا وسهل الاستخدام لاختبار تطبيقات الويب. إن الجمع بين وصف الاختبار باللغة الطبيعية ووكيل رؤية الذكاء الاصطناعي يجعل كتابة حالات الاختبار وصيانتها أسهل من أي وقت مضى.

Star History Chart