Codeبرنامج تعليمي حول إطار عمل أتمتة اختبار واجهة المستخدم

⚡ ملخص ذكي

Codeاختبار واجهة المستخدم (CUIT) هو ميزة اختبار مؤتمتة في Visual Studio، تُستخدم لاختبار التطبيق من خلال واجهة المستخدم الخاصة به. ستتعرف هنا على ماهية CUIT، وميزاته، والتقنيات المدعومة، وكيفية إنشاء الاختبارات، وأفضل الممارسات.

  • 🖥️ ما هو : Codeيقوم اختبار واجهة المستخدم (UI) بتشغيل تطبيق من خلال واجهة المستخدم الخاصة به.
  • 🎬 تسجيل: سجل إجراءات واجهة المستخدم في Visual Studio لإنشاء رمز الاختبار.
  • 🧰 التقنيات: يدعم CUIT الويب، وWPF، Windows النماذج، وتقنيات واجهة المستخدم الأخرى.
  • ؟؟؟؟ Vs Selenium/QTP: اعجاب Selenium و QTP، يقوم برنامج CUIT بأتمتة اختبار واجهة المستخدم الوظيفية.
  • 🤖 مساعدة الذكاء الاصطناعي: تساعد أدوات الذكاء الاصطناعي مثل GitHub Copilot في إنشاء وصيانة كود اختبار واجهة المستخدم.

Codeاختبار واجهة المستخدم (CUIT)

أتمتة البرمجيات النموذجية الاختبار يتطلب أدوات التشغيل الآلي مثل Selenium و QTP. Coded UI مشابه لهذه الأدوات ويمكن أن يكون مفيدًا بشكل خاص للاختبارات الوظيفية.

Codeيستخدم اختبار واجهة المستخدم (CUIT) بيئة تطوير Visual Studio لكتابة البرامج النصية، حيث يمكن إجراء التسجيل باستخدام البصرية ستوديو.

ما هي تفاصيل Codeاختبار واجهة المستخدم؟

Codeاختبار واجهة المستخدم (CUIT) هو اختبار آلي يُشغّل التطبيقات من خلال واجهة المستخدم الخاصة به. ومن هنا جاء الاسم. Codeاختبار واجهة المستخدم (CUIT). يتضمن هذا الاختبار الاختبار الوظيفي من عناصر التحكم في واجهة المستخدم. فهو يتحقق من وظائف التطبيق بأكمله، بما في ذلك واجهة المستخدم. يتم استخدامه أيضًا لأتمتة الاختبار اليدوي الموجود.

Codeاختبار واجهة المستخدم

اختبار واجهة المستخدم Architecture

Codeميزات اختبار واجهة المستخدم

Codeتتضمن ميزات واجهة المستخدم الرسومية ما يلي:

  • الاختبار الوظيفي
  • إنشاء التعليمات البرمجية في VB/C#
  • متكاملة مع قصة ALM
  • قم بالبناء والنشر والاختبار في المختبر أو كجزء من البناء
  • المحلية، والتشغيل عن بعد، وجمع البيانات
  • التوسعة الغنية
  • تسجيل مدرك للنوايا وتشغيل مرن

Codeالتقنيات المدعومة لاختبار واجهة المستخدم (CUIT)

باستخدام واجهة المستخدم المشفرة، يمكن اختبار التطبيق الذي يحتوي على واجهة مستخدم (UI) بسهولة. يمكن أن يكون التطبيق قائمًا على النافذة أو قائمًا على الويب.

Codeيدعم d UI تقنيات مثل

  • تطبيقات سطح المكتب القائمة على النوافذ
  • خدمات الويب (SOAP، ASPX، وما إلى ذلك)
  • تطبيقات هاتف النافذة
  • وبف (Windows العرض Foundation)
  • تطبيقات الويب (HTML، Silverlight، HTML5)

لماذا نستخدم واجهة المستخدم المشفرة لأتمتة الاختبار

سبب تفضيل واجهة المستخدم المشفرة لأتمتة الاختبار

  • يمكن للمطورين ومختبري البرامج التعاون بشكل فعال باستخدام نفس الأدوات/اللغة.
  • وهو يدعم كلا من الويب وكذلك Windows المشاريع.
  • تُعد آلية تحديد العناصر ميزة رائعة في Codeواجهة المستخدم الرسومية. كما أنها تدعم المزامنة.
  • يدعم محرك التشغيل ميزات مثل "WaitForControlExist" و"WaitForReadyLevel" وما إلى ذلك.
  • بمساعدة "وكلاء الاختبار"، يمكن تشغيل اختبارات الأتمتة على الأجهزة البعيدة
  • يمكن لفرق الأتمتة تطوير اختبارات متطورة، باستخدام واجهة مستخدم مشفرة مع إطار عمل متعدد الطبقات
  • يمكن لمختبري البرامج التقاط الاستثناءات وتسجيل النتيجة بفعالية باستخدام log4net.dll
  • Codeأداة واجهة المستخدم الرسومية تدعم البرمجة الوصفية. فهو يسمح لمختبري البرامج بأتمتة السيناريوهات بناءً على خصائص الكائن
  • وهو يدعم عناصر تحكم AJAX.

كيف تنشأ Codeاختبارات واجهة المستخدم (CUIT)

لإنشاء اختبارات واجهة مستخدم مشفرة، يمكنك القيام بذلك بالطرق التالية.

  • التوليد من تسجيل إجراء موجود (التحويل من تسجيل الاختبار اليدوي)
  • إنشاء اختبار واجهة مستخدم مشفر جديد من البداية
  • كتابة الكود من الصفر

محتويات أ Codeاختبار واجهة المستخدم

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

قم بتقديم وصف المنتج قابل للتعديل
UIMap.Designer.cs قسم الإعلان خصائص أساليب فئة UIMap لا
UIMap.cs فئة UIMap (جزئي) نعم
CodedUITest1.cs Codeخصائص وطرق فئة UITest1 نعم
UIMap.uitest خريطة XML لواجهة المستخدم للاختبار. يتم تحريره فقط من خلال محرر UI Map لا
  1. UIMap.Designer.cs : يحتوي المصمم على عرض التعليمات البرمجية لـ UIMap. يتم إنشاؤه عندما يسجل المختبر بعض تفاعلات واجهة المستخدم أو عند إضافة بعض الكائنات يدويًا إلى UIMap.
  2. UIMap.cs:يتم تخزين أي تعديل أو تخصيص يتم إجراؤه على UIMap في هذا الملف. في البداية، سيكون هذا الملف فارغًا ويمكن ملؤه لاحقًا. إذا تم إجراء تعديلات مباشرة على ملف UIMap.designer.cs، فتأكد من عدم تسجيله وإلا فسيتم فقد جميع التغييرات.
  • CodedUITest1.cs: يحتوي هذا الملف على فئة اختبار واجهة المستخدم المشفرة وطرق الاختبار واستدعاء التأكيد واستدعاء الطريقة. يتم استدعاء كافة التأكيدات والأساليب بشكل افتراضي من هذا الملف.
  • UIMap.uitest:إنه تمثيل XML لفئة UIMap. يتضمن النوافذ وعناصر التحكم والخصائص والطرق والإجراءات والتأكيدات. يتم تحريره فقط من خلال محرر UI Map

التالي في هذا Codeسنتعلم في هذا الدرس التعليمي كيفية تنفيذ واجهة المستخدم الرسومية. Codeاختبار أتمتة واجهة المستخدم.

كيفية تنفيذ Codeاختبار واجهة المستخدم

Codeيوفر d UI طريقتين مختلفتين لإجراء اختبار لتطبيقك.

  1. Codeتسجيل وتشغيل واجهة المستخدم أو
  2. Codeبرمجة واجهة المستخدم يدويًا

عليك اتباع الخطوة التالية لتنفيذ Codeاختبار واجهة المستخدم،

  1. إنشاء Codeمشروع اختبار واجهة المستخدم الرسومية
  2. أضف ملف اختبار واجهة المستخدم المشفر
  3. سجل سلسلة من الإجراءات
  4. التحقق من القيم الموجودة في حقول واجهة المستخدم مثل مربعات النص
  5. عرض رمز الاختبار الذي تم إنشاؤه
  6. إضافة المزيد من الإجراءات والتأكيدات
  7. تعديل تفاصيل أنشطة الاختبار والتأكيدات
  8. قم بإجراء الاختبار

ممارسات لـ Codeاختبار واجهة المستخدم (CUIT)

فيما يلي بعض أفضل الممارسات لـ Codeإطار عمل أتمتة اختبار واجهة المستخدم:

  • استخدم Codeاستخدم أداة إنشاء اختبارات أتمتة واجهة المستخدم كلما أمكن ذلك
  • حاول عدم تعديل ملف UIMap.designer.cs بشكل مباشر. وإلا، فسيتم استبدال التغييرات التي أجريتها على الملف
  • قم بإنشاء الاختبار الخاص بك كسلسلة من الطرق المسجلة
  • يجب أن تعمل كل طريقة مسجلة على صفحة أو نموذج أو مربع حوار واحد. كما يجب إنشاء طريقة اختبار جديدة لكل نموذج أو صفحة أو مربع حوار جديد
  • عندما تقوم بإنشاء أسلوب، بدلاً من الاسم الافتراضي، استخدم اسم أسلوب ذي معنى. يساعد الاسم ذو المعنى في تحديد الغرض من الطريقة
  • إذا أمكن، قم بقصر كل طريقة مسجلة على أقل من 10 إجراءات. يسهل هذا الأسلوب استبدال الطريقة إذا تغيرت واجهة المستخدم.
  • لإنشاء تأكيد، استخدم Codeأداة إنشاء اختبارات واجهة المستخدم الرسومية (dUI). تقوم هذه الأداة تلقائيًا بإضافة دالة تأكيد إلى ملف UIMap.Designer.cs.
  • أعد تسجيل طرق الاختبار/طرق التأكيد، إذا تغيرت واجهات المستخدم أو أعادت تسجيل الأقسام المتأثرة لطريقة اختبار موجودة.
  • إذا كنت تقوم بالبرمجة مباشرةً باستخدام واجهة برمجة التطبيقات (API)، فاستخدم الأساليب والخصائص الموجودة في الفئات التي تم إنشاؤها في ملف UIMap.Designer.cs. ستجعل هذه الفصول عملك أكثر موثوقية وأسهل، وستساعدك على أن تكون أكثر إنتاجية.

مقارنة بين Codeاختبار واجهة المستخدم مقابل Selenium Vs QTP

فيما يلي جدول مقارنة لـ Codeواجهة المستخدم مقابل Selenium Vs QTP:

  • Selenium لا يدعم أي WPF كذلك Windows التطبيقات
  • Visual Studio Codeتدعم dUI اختبار تطبيق Window store بالإضافة إلى اختبار تطبيق Window Phone. لا توجد أدوات أخرى تدعم هذا.
  • يدعم الاختبار الكامل تطبيق Window ولكنه يتطلب تثبيت مكون إضافي.

Codeاختبار واجهة المستخدم مقابل Selenium Vs QTP

مقارنة بين Codeاختبار واجهة المستخدم مقابل Selenium Vs QTP

الأسئلة الشائعة

Codeاختبار واجهة المستخدم هو اختبار آلي يُشغّل تطبيقًا من خلال واجهة المستخدم الخاصة به. يسجل Visual Studio إجراءات واجهة المستخدم ويُنشئ نصوص اختبار بلغة C# أو VB.NET.

يدعم نظام CUIT تطبيقات الويب، Windows العرض Foundation (WPF)، Windows النماذج، وتقنيات واجهة المستخدم الأخرى عبر واجهات سطح المكتب والمتصفح.

في Visual Studio، أضف Codeقم بإنشاء مشروع اختبار واجهة المستخدم، ثم سجل إجراءات واجهة المستخدم باستخدام Codeيمكنك استخدام أداة إنشاء اختبارات واجهة المستخدم أو كتابتها يدويًا. يقوم المسجل بإنشاء خريطة واجهة المستخدم وطرق الاختبار.

جميعها الثلاثة تقوم بأتمتة اختبار واجهة المستخدم الوظيفية. Selenium يستهدف متصفحات الويب، QTP يدعم العديد من التقنيات، و Codeتم دمج واجهة المستخدم الرسومية مع Visual Studio لـ .NET.

A Codeيتضمن اختبار واجهة المستخدم d الملفات التالية: UIMap.Designer.cs و UIMap.cs Codeملف dUITest1.cs وملف UIMap.uitest. يخزن ملف UIMap تعريفات عناصر واجهة المستخدم، بينما يحتوي ملف الاختبار على طرق الاختبار.

مساعدو الذكاء الاصطناعي مثل GitHub Copilot يكملون تلقائيًا طرق الاختبار، ويولدون تأكيدات، ويقترحون محددات لـ Codeواجهة المستخدم أو Selenium نصوص الاختبار.

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

Codeتم إيقاف استخدام d UI Test في Visual Studio 2019 ولم يتم تضمينه في Visual Studio 2022. Microsoft يوصي ببدائل مثل Selenium or Appium للمشاريع الجديدة.

تلخيص هذه التدوينة بـ: