كيفية إنشاء مجموعة اختبار وحالة اختبار في SoapUI

⚡ ملخص ذكي

خلق SoapUI يُمكّنك كلٌّ من المشروع ومجموعة الاختبارات وحالات الاختبار من إجراء اختبارات منظمة لخدمات الويب باستخدام بروتوكول SOAP. يشرح هذا الدليل أساسيات بروتوكول SOAP، واستيراد ملفات WSDL، وتنفيذ الطلبات، وإعداد التأكيدات، وتحليل سجلات الاستجابة لإجراء اختبارات وظيفية واختبارات انحدار موثوقة.

  • 🧠 صابون Foundation: SOAP هو بروتوكول قائم على XML، مستقل عن النظام الأساسي، يتم نقله عبر HTTP لتبادل الرسائل بين الأنظمة المتباينة.
  • 📁 إنشاء المشروع: استورد ملف WSDL إلى ملف جديد SoapUI مشروع SOAP لإنشاء طلبات نموذجية تلقائياً لكل عملية.
  • 🗂️ إعداد مجموعة الاختبارات: انقر بزر الماوس الأيمن على جذر المشروع لإضافة مجموعة اختبار تجمع حالات الاختبار ذات الصلة لتنفيذ منظم.
  • 🧪 خطوات حالة الاختبار: أضف خطوات طلب SOAP، واختر العملية المستهدفة، وقم بتكوين التأكيدات القياسية مثل توافق المخطط وفحوصات أخطاء SOAP.
  • 📊 فحص الاستجابة: استخدم علامة التبويب RAW ولوحة السجل (SoapUI (سجل، سجل HTTP، سجل الأخطاء، سجل الذاكرة) للتحقق من صحة رموز حالة HTTP واستكشاف أخطاء الطلبات وإصلاحها.

كيفية إنشاء مجموعة اختبار وحالة اختبار في SoapUI

فهم بروتوكول SOAP

قبل إنشاء ملف SoapUI في حالة الاختبار، من المفيد مراجعة أساسيات بروتوكول SOAP. إن الفهم الواضح لكيفية انتقال طلبات واستجابات SOAP بين الأنظمة يُسهّل استخدامها. SoapUI لاختبارها بفعالية.

SOAP تعني بروتوكول الوصول إلى كائن بسيطفيما يلي الخصائص الأساسية لبروتوكول SOAP:

  • هو بروتوكول قائم على لغة XML يستخدم للتواصل بين نظامين مختلفين.
  • هو نظام مستقل عن المنصة واللغة. نظام تم تطويره باستخدام Java يمكنه التواصل مع برنامج تم تطويره باستخدام .NET.
  • يتم نقل طلبات واستجابات SOAP عبر بروتوكول HTTP.

تعرّف على تنسيق رسالة SOAP

رسالة SOAP هي مستند XML عادي يحتوي على العناصر التالية. يمكن أن تكون الرسالة إما طلبًا أو استجابة.

تنسيق رسالة الصابون
تنسيق رسالة SOAP

بعد وضع أساسيات SOAP، تتمثل الخطوة التالية في بناء SoapUI هيكل المشروع، ومجموعات الاختبار، وحالات الاختبار اللازمة للتحقق من صحة خدمة ويب معينة. يستخدم الشرح التالي... SoapUI مثال على مشروع لإنشاء مشروع SOAP جديد.

إنشاء مشروع SOAP في SoapUI

يحتوي مشروع SOAP على تعريف WSDL المستورد بالإضافة إلى جميع طلبات العينة التي تم إنشاؤها لكل عملية.

الخطوة 1 : بحسب نوع المشروع، استورد بروتوكول SOAP أو REST. في هذا المثال، أنشئ مشروع SOAP جديد.

إنشاء مشروع SOAP جديد

الخطوة 2 : استخدم طلب SOAP التالي URL: http://www.dneonline.com/calculator.asmx?wsdl

  1. أدخل اسم المشروع.
  2. أدخل مسار طلب WSDL (في هذه الحالة، http://www.dneonline.com/calculator.asmx?wsdl).
  3. انقر OK.

أدخل اسم مشروع SOAP ومسار WSDL

ملاحظة:

  • أنشئ نموذج طلب لجميع العمليات: يُنشئ طلبًا نموذجيًا لكل عملية في ملف WSDL. يتم تفعيله افتراضيًا عند إدخال عنوان WSDL؛ ويمكن إلغاء تحديده إذا لم يكن مطلوبًا.
  • أنشئ مجموعة اختبار لملف WSDL المستورد: يضيف SoapUI مجموعة اختبارات ضمن المشروع لملف WSDL المستورد.
  • المسارات النسبية: يحفظ جميع الملفات المتعلقة بملف المشروع لسهولة نقلها.

الخطوة 3 : بعد إنشاء مشروع SOAP باستخدام WSDL المذكور أعلاه، سيتم استيراد عمليتين إلى المشروع.

مشروع الصابون المستورد Operaستعقد

الخطوة 4 : قم بتوسيع الطلب الأول، ثم انقر بزر الماوس الأيمن إضافة، ثم اضغط طلب جديد.

إضافة طلب جديد إلى مشروع SOAP

ثم اضغط OKيتم عرض طلب SOAP بتنسيق XML.

تنسيق طلب SOAP XML

  1. أدخل قيمًا لـ intA و intB.
  2. انقر على إرسال .
  3. يظهر ملف XML الخاص بالاستجابة في الجزء الأيمن.

إرسال طلب SOAP وعرض الرد

لماذا يتم إنشاء حالات اختبار بدلاً من الطلبات المباشرة؟

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

كيفية إنشاء مجموعة اختبار في SoapUI

مجموعة الاختبارات هي حاوية تجمع حالات الاختبار ذات الصلة. اتبع الخطوات التالية لإنشاء واحدة.

الخطوة 1) انقر بزر الماوس الأيمن على جذر المشروع.

ضمن المشروع، أنشئ مجموعة اختبار بالنقر بزر الماوس الأيمن على جذر المشروع.

إنشاء مجموعة اختبار في SoapUI - انقر بزر الماوس الأيمن على المشروع

الخطوة الثانية) أدخل تفاصيل مجموعة الاختبار.

أدخل اسم مجموعة الاختبار وانقر OK.

أدخل اسم مجموعة الاختبار

الخطوة 3) التحقق من مجموعة الاختبارات التي تم إنشاؤها.

تظهر مجموعة الاختبارات الجديدة في جزء التنقل كما هو موضح أدناه.

التحقق من مجموعة الاختبارات التي تم إنشاؤها

الخطوة الرابعة) افتح مجموعة الاختبارات.

تُفتح نافذة مجموعة الاختبارات في الجزء الأيمن. ولأنه لا توجد حالات اختبار حتى الآن، فإن جميع خيارات الإجراءات تبقى معطلة.

فتح نافذة مجموعة الاختبارات الفارغة

كيفية إنشاء حالة اختبار في SoapUI

توجد حالات الاختبار داخل مجموعة الاختبار وتجمع خطوات الاختبار الفردية التي تختبر خدمة الويب.

الخطوة 1 : ضمن مجموعة الاختبارات، أنشئ اختبارات متعددة بالنقر بزر الماوس الأيمن على مجموعة الاختبارات واختيار حالة اختبار جديدة.

إنشاء حالة اختبار جديدة في SoapUI

الخطوة 2 : حدد اسم ملف حالة الاختبار ثم انقر OK.

أدخل اسم حالة الاختبار

الخطوة 3 : تحتوي حالة الاختبار التي تم إنشاؤها على صفر من الخطوات في البداية، كما هو موضح أدناه.

حالة اختبار بدون خطوات

ملاحظة: تُضاف حالة الاختبار بدون أي خطوات اختبار لكل نوع اختبار. ومع إضافة الخطوات، يتم تحديث الأرقام بين القوسين تلقائيًا.

خطوات الاختبار الوظيفي تنتمي إلى خطوات الاختبار، تدخل خطوات الأداء في اختبار الحملوتخضع عمليات التفتيش الأمني ​​لـ اختبارات الأمان.

الخطوة 4 : أدرج أنواعًا مختلفة من خطوات الاختبار بالنقر بزر الماوس الأيمن. خطوات الاختبار واختيار الخيار المناسب. بالنسبة لخدمة ويب REST، اختر طلب اختبار REST بدلاً من طلب SOAP.

إدراج أنواع خطوات الاختبار

إضافة خطوة اختبار في SoapUI

أضف خطوة اختبار للتحقق من صحة طلب SOAP المستورد داخل حالة الاختبار.

الخطوة 1 : أضف خطوة جديدة من النوع طلب SOAP كما هو مبين أدناه.

إضافة خطوة اختبار طلب SOAP

الخطوة 2 : أدخل اسم الخطوة وانقر OK.

أدخل اسم الطالب

الخطوة 3 : يظهر مربع حوار لاختيار العملية المراد تنفيذها. يتم سرد جميع العمليات المتاحة للاختيار.

  • تظهر هنا العديد من العمليات. العمليات متطابقة باستثناء إصدار SOAP: يستخدم CalculatorSoap إصدار SOAP 1.1، بينما يستخدم CalculatorSoap12 إصدار SOAP 1.2.
  • لا يهم الإصدار في هذا السيناريو، لذا يمكن اختيار أي منهما.

    اختر الصابون Operation to Invoke

  • بعد تحديد العملية، انقر OK.

    أكد Operaاختيار tion

الخطوة 4 : عند إضافة حالة اختبار، يمكن تطبيق التأكيدات القياسية. سيتم تناول التأكيدات، التي تُسمى أيضًا نقاط التحقق أو نقاط التحقق من الصحة، في الدرس التالي.

يمكن إضافة نقاط التحقق التالية أثناء إنشاء حالة اختبار. المثال أدناه ينشئ حالة اختبار بدون تفعيل أي نقاط تحقق.

Standard SoapUI التأكيدات

  1. يتحقق مما إذا كانت رسالة الاستجابة من نوع SOAP بعد تشغيل الاختبار.
  2. يتحقق من صحة مخطط الاستجابة.
  3. يتحقق مما إذا كانت استجابة SOAP تحتوي على عنصر FAULT.

الخطوة 5 : عند إنشاء حالة الاختبار، يظهر ملف XML الخاص بالطلب كما هو موضح أدناه. ويشرح الرسم التوضيحي بنية ملف XML.

بنية طلب XML

الخطوة 6 : تمت زيادة عدد خطوات الاختبار إلى واحد لإضافة خطوة جديدة. وستؤدي إضافة خطوات اختبار التحميل والأمان إلى زيادة عداداتها تلقائيًا.

زيادة عداد الخطوات في الاختبار

إرسال الطلب يدويًا وقراءة الرد في SoapUI

الخطوة 1 : يجمع المثال أدناه عددين صحيحين.

  • intA — 5
  • intB — 5

التالى:

  1. أدخل هذه المدخلات بدلاً من علامات الاستفهام في ملف XML الخاص بالطلب.
  2. بعد تحديث علامات XML المقابلة، انقر إرسال طلب للتحقق من الاستجابة.

إرسال الطلب يدويًا باستخدام intA و intB

الخطوة 2 : بعد إرسال الطلب، تتم معالجة خدمة الويب بواسطة خادم الويب ويتم إرجاع الاستجابة، كما هو موضح أدناه.

تؤكد الإجابة أن 5 زائد 5 يساوي 10.

استجابة SOAP تُظهر نتيجة الجمع

فهم لوحات استجابة SOAP وسجلات النظام

كما ذكرنا سابقاً، تُنقل رسائل SOAP عبر بروتوكول HTTP. ويساعد فحص الرسائل الخام على توضيح كيفية نقل طلب واستجابة SOAP عبر بروتوكول HTTP.

الخطوة 1 : انقر على RAW في علامة التبويب SoapUI نافذة الطلبات.

  1. يتم إرسال الطلب إلى خادم الويب، لذلك يتم استخدام طريقة HTTP POST.
  2. ينتقل طلب SOAP في نص رسالة HTTP.

علامة تبويب طلب SOAP الخام

الخطوة 2 : الآن انقر فوق RAW في علامة التبويب SoapUI نافذة الاستجابة لفهم كيفية تسليم الاستجابة عبر بروتوكول HTTP.

  1. بعد معالجة الطلب، يتم عرض رمز استجابة HTTP (200)، مما يشير إلى النجاح.
  2. يتم إرجاع استجابة SOAP إلى العميل داخل نص رسالة HTTP.

علامة تبويب استجابة SOAP الخام مع HTTP 200

يلخص الجدول أدناه رموز استجابة HTTP الشائعة لتسهيل عملية تصحيح الأخطاء.

HTTP Code الوصف
1xx معلوماتية: تم استلام الطلب، وتستمر عملية المعالجة.
2xx نجاح: تم استلام الإجراء وفهمه وقبوله بنجاح.
3xx إعادة التوجيه: يلزم اتخاذ إجراءات إضافية لإتمام الطلب.
4xx خطأ من جانب العميل: الطلب يحتوي على صيغة خاطئة أو لا يمكن تنفيذه.
5xx خطأ في الخادم: فشل الخادم في تلبية طلب يبدو صحيحاً.

الخطوة 3 : تعرض نافذة حالة الاختبار أيضًا بيانات وصفية إضافية للطلب والاستجابة.

نافذة حالة الاختبار بيانات

  1. يشير هذا إلى عدم وجود رأس في الطلب المرسل.
  2. يشير هذا إلى عدم وجود مرفقات في الطلب المرسل إلى خادم الويب.
  3. يشير إلى 10 عناصر رأسية في الاستجابة، ويمكن عرضها عند النقر.
  4. يشير إلى عدم وجود مرفقات في رسالة الرد.

لوحة السجلات

تعرض لوحة السجلات المعلومات الكاملة المتبادلة بين العميل والخادم. فيما يلي وصف لأكثر علامات تبويب السجلات استخدامًا.

SoapUI علامات تبويب جزء السجلات

SoapUI تسجيل: يعرض معلومات الاستجابة من خادم الويب. يتم تخزين البيانات نفسها في ملف soapui.log داخل SoapUI مجلد bin.

SoapUI علامة تبويب السجل

سجل HTTP: يعرض جميع عمليات نقل حزم HTTP. يتم أيضًا تسجيل جميع المعلومات المرئية في عرض RAW في سجل HTTP.

علامة تبويب سجل HTTP

سجل الأخطاء: يعرض جميع الأخطاء التي تمت مواجهتها خلال جلسة المشروع بأكملها. يتم تخزين نفس المعلومات في ملف soapui-errors.log داخل SoapUI مجلد bin.

سجل الذاكرة: يراقب استهلاك الذاكرة ويعرضه على شكل رسم بياني. وهذا مفيد عند تشغيل عمليات تتطلب استخداماً مكثفاً للذاكرة.

علامة تبويب سجل الذاكرة

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

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

مجموعة الاختبارات هي حاوية تجمع حالات الاختبار ذات الصلة داخل SoapUI المشروع. حالة الاختبار هي سيناريو واحد يحتوي على خطوة اختبار واحدة أو أكثر مثل طلب SOAP أو طلب REST أو التأكيدات.

نعم. SoapUI يدعم اختبار كل من SOAP وREST. عند إنشاء مشروع جديد، اختر "مشروع SOAP جديد" للخدمات المستندة إلى WSDL أو "مشروع REST جديد" لواجهات برمجة تطبيقات REST. تتضمن خطوات الاختبار طلب اختبار REST، وطلب JDBC، و Groovy النصي.

افتح مجموعة الاختبارات وانقر على زر التشغيل الأخضر. SoapUI يُشغّل جميع حالات الاختبار بالترتيب الذي تظهر به. يمكنك أيضًا ضبط التنفيذ المتوازي أو التسلسلي من خلال علامة تبويب خصائص مجموعة الاختبار.

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

يمكن لمساعدي الذكاء الاصطناعي قراءة مواصفات WSDL أو OpenAPI واقتراح مجموعات إدخال واقعية، وحالات استثنائية، وأنماط تأكيد. ويمكن تصدير هذه الاقتراحات كـ SoapUI XML أو Groovy البرامج النصية، مما يقلل الجهد اليدوي عند إنشاء مجموعات اختبار كبيرة.

نعم. يمكن لأدوات الذكاء الاصطناعي تحليل SoapUI تُسهّل سجلات النظام وسجلات HTTP عملية فرز الأخطاء المتكررة، وتُبرز الأسباب الجذرية المحتملة مثل عدم تطابق المخططات أو فشل المصادقة. وهذا يُسرّع عملية الفرز أثناء دورات اختبار التراجع وعمليات التشغيل الليلية الكبيرة.

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