الادعاءات في SoapUI: البرامج النصية، XQuery، أنواع XPath
⚡ ملخص ذكي
الادعاءات في SoapUI هي نقاط التفتيش التي تحدد ما إذا كانت استجابة خدمة الويب صحيحة، مما يحول الطلب الذي يتم تنفيذه فقط إلى اختبار ينجح أو يفشل بالفعل على محتوى حقيقي وقابل للتحقق.
ما هو التأكيد؟
التأكيد يعني فعل تأكيد أو ذكر شيء ما. ويمكن أيضًا تفسيرها على أنها نقطة تفتيش أو نقطة تحقق.
بمجرد إرسال طلب إلى خادم الويب، يتم استلام رد. نحتاج إلى التحقق مما إذا كان الرد يحتوي على البيانات المتوقعة. وللتحقق من صحة الرد، نحتاج إلى استخدام تأكيدات. بدون تأكيد، تثبت خطوة الاختبار فقط أن الخدمة قد ردت، وليس أنها ردت بشكل صحيح، ولهذا السبب... اختبار واجهة برمجة التطبيقات ينبغي أن يحمل واحداً على الأقل.
أنواع التوكيد
توجد طرق متنوعة للتعبير عن رد الفعل؛ ومع ذلك، سنركز على الطرق الشائعة الاستخدام SoapUI أنواع التأكيدات أثناء التحقق من صحة الاستجابة. فيما يلي الفئات المتوفرة في النسخة مفتوحة المصدر من SoapUI.
- محتوى الملكية
- معيار حالة الامتثال
- سيناريو
- جيش تحرير السودان
- JMS
- الأمن والحماية
يقوم مربع الحوار بتجميع كل تأكيد ضمن تلك الفئات، كما توضح لقطة الشاشة أدناه.

بالإضافة إلى ما سبق ذكره، يحتوي الإصدار الاحترافي أيضًا على خاصية تأكيد JDBC مدمجة والتي يمكننا من خلالها التأكد مما إذا كانت خدمة الويب قد قامت بتحديث قاعدة البيانات بشكل صحيح.
ملاحظة حول الإصدار: تيار SoapUI تتضمن الوثائق أيضًا قائمة بـ JDBC. الفئة (حالة JDBC ومهلة JDBC) إلى جانب الفئات المذكورة أعلاه، و محتوى الرسالة تأكيد داخل محتوى الخاصية لمقارنة XML أكثر ثراءً. الإصدار التجاري المشار إليه هنا باسم "Pro" يُباع الآن باسم ReadyAPI بواسطة SmartBear، لذلك قد تختلف تسميات القوائم في الإصدارات الأحدث بينما يظل سلوك التأكيد كما هو.
يحتوي على التأكيد
يبحث عن وجود السلسلة المحددة. كما أنه يدعم التعبير العادي.
سنستمر بنفس المثال من البرنامج التعليمي السابق مع طلب WSDL كـ http://www.dneonline.com/calculator.asmxإذا لم تكن قد أنشأت هذا المشروع بعد، فاعمل على ذلك إنشاء مشروع ومجموعة اختبار وحالة اختبار لأول مرة.
الخطوة 1: بشكل افتراضي، لا توجد تأكيدات.
- يتم عرض عدد التأكيدات في علامة التبويب التأكيدات.
- لإضافة تأكيد جديد، انقر فوق الزر "إضافة تأكيد جديد".
الخطوة 2: الآن ،
- حدد فئة التأكيد.
- حدد نوع التأكيد.
- انقر فوق "إضافة"
الخطوة 3: لنتحقق مما إذا كانت السلسلة '46' موجودة في الاستجابة. انقر فوق "موافق".
ملاحظة: يمكننا أيضًا تجاهل حالة الأحرف وإضافة تعبير عادي.
الخطوة 4: عند إضافتها، يتم تنفيذ التأكيد على الفور ويظهر ما إذا كان صحيحًا أم غير صحيح.
الخطوة 5: لنفترض الآن أننا قمنا بتغيير محتوى "يحتوي على تأكيد في SoapUI' إلى '47' وانظر ماذا سيحدث.
الخطوة السادسة: يتم تنفيذ التأكيد وعرض النتيجة للمستخدم. بما أننا لا نملك السلسلة '47' ضمن الاستجابة، فقد فشل التأكيد.
لا يحتوي على التأكيد
يعمل نظيره في الاتجاه المعاكس، حيث يبحث عن عدم وجود السلسلة المحددة. كما يدعم التعبيرات النمطية.
الخطوة 1: الآن بعد النقر على زر "إضافة تأكيدات جديدة"،
- حدد فئة التأكيد.
- حدد نوع التأكيد - في هذه الحالة "لا يحتوي"
- انقر فوق "إضافة"
الخطوة الثانية: لنتحقق من وجود السلسلة النصية 'intA' في الاستجابة. أدخل السلسلة النصية 'FromCurrency' وانقر على "موافق".
الخطوة الثالثة: بمجرد إضافة تأكيد، يتم تنفيذه وعرض النتيجة. حتى الآن، أضفنا تأكيدين، لذا تم تنفيذ كلا التأكيدين وعرض النتيجة.
الخطوة الرابعة: لنقم الآن بتغيير محتوى عبارة "Not Contains Assertion" ونرى ما سيحدث. سنتحقق من عدم وجود السلسلة النصية "AddResult".
الخطوة 5: السلسلة 'AddResult' موجودة بالفعل في الاستجابة، وبالتالي فإن تأكيد 'NOT Contains' سيفشل كما هو موضح أدناه.
تأكيد مطابقة XPath
تُعدّ مطابقة السلاسل النصية عمليةً غير دقيقة، لذا يستهدف التأكيد التالي عقدةً واحدةً بدلاً من ذلك. ويستخدم تعبير XPath لتحديد العقدة المستهدفة وقيمها. كسباث، هي لغة استعلام XML لاختيار العقد من مستند XML.
الخطوة 1: الآن بعد النقر على زر "إضافة تأكيدات جديدة"،
- حدد فئة التأكيد.
- حدد نوع التأكيد - في هذه الحالة "مطابقة XPath"
- انقر فوق "إضافة"
الخطوة الثانية: إضافة XPath تفتح النافذة.
قبل إضافة SoapUI في لغة XPath، نحتاج إلى تعريف مساحة الاسم. مساحة اسم XML هي مجموعة من الأسماء، يتم تحديدها بواسطة مرجع مُعرّف الموارد الموحد (URI)، والتي تُستخدم في مستندات XML كأسماء للعناصر والخصائص. ويُستخدم الشيء نفسه في SoapUI تأكيد XPath.
لإعلان مساحة اسم XML، نحتاج فقط إلى النقر على زر "إعلان" الذي سيقوم بالمهمة نيابة عنا، وإلا يمكننا أيضًا إعلان مساحة الاسم يدويًا بأنفسنا.
بعد تعريف مساحة الاسم، نحتاج إلى الإشارة إلى XPath باستخدام مساحة الاسم التي تم إنشاؤها.
عند النقر على زر "إعلان"، ستظهر مساحتا اسم حيث لدينا عنوانان موحدان للموارد (URI). أحدهما هو المخطط. URL والآخر يتوافق مع خدمة الويب الفعلية URLيجب استخدام مساحة الاسم الفعلية التي يوجد بها موقع خدمة الويب، وليس مساحة اسم المخطط، عند الإشارة إلى XPath. تظهر الأسطر المُعلنة في أعلى مربع XPath كما هو موضح أدناه.
إعلان مساحة الاسم Soap='http://schemas.xmlsoap.org/soap/envelope/';
أعلن مساحة الاسم ns1='http://tempuri.org/';
الخطوة 3: الآن نحتاج إلى إدخال XPath الخاص بعقدة XML التي نحتاج إلى التحقق من صحتها.
//ns1:AddResult يعطينا قيمة العقدة المحصورة بينهما & و ns1 يتوافق مع مساحة الاسم المعلنة والتي تشير إلى "http://tempuri.org/"
بعد إدخال ملف XML، نحتاج إلى النقر فوق "تحديد من الحالي" بحيث يتم التقاط القيمة من الاستجابة الحالية للمقارنة من الآن فصاعدا.
الخطوة الرابعة: حتى الآن،
- بعد الإعلان عن مساحات الأسماء، قمنا بإدخال XPath لعقدة XML التي نحتاج إلى التحقق من صحتها.
- نحتاج إلى النقر فوق "تحديد من الحالي" لجعل القيمة الحالية هي القيمة المتوقعة.
- يتم عرض القيمة الحالية للمستخدم والتي يمكننا تعديلها إذا لزم الأمر.
- انقر فوق "حفظ".
الخطوة 5: التأكيد المضاف في SoapUI سيتم عرضها كما هو موضح أدناه.
تأكيدات البرمجة النصية
يعد أسلوب التأكيد هذا هو الأكثر استخدامًا على نطاق واسع لأنه من الصعب للغاية إدارة مئات التأكيدات والحفاظ عليها.
SoapUI يستخدم إما Groovy البرمجة النصية أو Javaسيناريو لتأكيدات البرمجة النصية. يتم اعتماد تقنية البرمجة النصية لتطويرping إطار عمل لاختبار بروتوكول SOAP. تُستخدم تأكيدات البرمجة النصية في الظروف التالية.
- تتيح البرمجة النصية للمستخدم تنفيذ بعض العمليات قبل وبعد تنفيذ حالة اختبار باستخدام طريقتي الإعداد والإنهاء على التوالي. الإعداد هو إجراء يُنفذ قبل تنفيذ طريقة معينة (مثال: إنشاء كائن وتهيئته)، بينما الإنهاء هو إجراء يُنفذ بعد تنفيذ تلك الطريقة (مثال: حذف الكائنات وتنظيف النظام). هذه الميزة غير متوفرة في أنواع التأكيدات الأخرى، ولا يمكن تنفيذها إلا من خلال البرمجة.
- يسمح للمستخدمين بفتح/إغلاق مشروع، من أجل تهيئة أو تنظيف الإعدادات المتعلقة بالمشروع وأيضًا للعمل مع المتغيرات البيئية وهو أمر مفيد للغاية أثناء كتابة البرامج النصية.
- فهو يساعدنا في تأكيد محتوى الاستجابة الديناميكي.
- تُستخدم تأكيدات البرمجة النصية لإنشاء تأكيدات مُعرَّفة من قِبل المستخدم وليست مُعرَّفة مسبقًا بواسطة SoapUI.
لتوضيح تأكيد البرنامج النصي في SoapUI، سنستخدم ملف WSDL الخاص بالآلة الحاسبة، حالة الاختبار "الجمع" التي أنشأناها سابقًا.
الخطوة الأولى: خطوات إضافة سكربت Groovy هي نفسها خطوات إضافة التأكيدات الأخرى، باستثناء أن التأكيد ليس مُعرّفًا مسبقًا، بل هو تأكيد يُعرّفه المستخدم، مما يوفر مرونة أكبر من التأكيدات المدمجة.
حدد خطوة الاختبار التي سيتم إضافة التأكيد عليها.
انقر فوق الزر "إضافة تأكيد" كما هو موضح أدناه.
الخطوة الثانية: الآن حدد فئة التأكيد.
- في هذه الحالة هو البرنامج النصي.
- اختر SoapUI تأكيد البرنامج النصي، ولا توجد أنواع فرعية مرتبطة به.
- انقر فوق "إضافة".
الخطوة 3: يفتح مربع حوار البرمجة النصية حيث سيتمكن المستخدم من كتابة نص برمجي محدد من قبل المستخدم للتحقق من صحة XML الاستجابة.
الخطوة الرابعة: لنكتب الآن برنامج Groovy للتحقق من معدل التحويل. البرنامج مرفق أدناه مع التعليقات المضمنة. يُنصح بمعرفة المزيد حول Java البرنامج النصي أو Groovy البرنامج النصي قبل محاولة كتابة البرنامج النصي الخاص بك.
//Define Groovy Utils and holder for validating the XML reponse content def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context) def holder = groovyUtils.getXmlHolder(messageExchange.responseContent) //Define the NameSpace holder.namespaces["ns1"] = "http://tempuri.org/" //Get the Value of the Node 'AddResult' and assign to a variable def addResult = holder.getNodeValue("//ns1:AddResult") //print the value of the result in the Output panel log.info "The result value for integers is " + addResult //Comparing the value to print 'Pass' or 'Fail' if(addResult=="46") { log.info "Pass" } else { log.info "fail"}
- انقر فوق الزر "تنفيذ" لبدء التنفيذ.
- يتم عرض إخراج البرنامج النصي في جزء الإخراج. لقد قام بطباعة قيمة التحويل وكذلك النتيجة النهائية (نجاح أو فشل)
- يتم عرض المعلومات التي تفيد بأن "تأكيد البرنامج النصي قد تم اجتيازه". انقر فوق "موافق".
ملاحظة: سيتم دائمًا عرض نافذة المعلومات النهائية المنبثقة مع الرسالة "تم تمرير تأكيد البرنامج النصي" طالما أن البرنامج النصي صحيح من الناحية التركيبية. ليس له أي علاقة بتأكيدك في النص.
انقر OK
الخطوة 5: الآن تعرض علامة التبويب "التأكيد" جميع التأكيدات التي أضفناها لمجموعة الاختبار هذه مع الحالة المقابلة لكل منها.
الخطوة شنومكس: الآن
- حدد مجموعة الاختبار من شجرة المستكشف
- انقر فوق زر "تشغيل".
- سيتم عرض النتائج لمجموعة الاختبار بأكملها.
تأكيد المطابقة في XQuery
يستخدم تعبير XQuery لاختيار المحتوى من الخاصية المستهدفة. نحتاج إلى ملف XML استجابة أكبر بكثير لفهم تأكيد XQuery بشكل أفضل. SoapUIلنستورد ملف WSDL آخر كما هو موضح أدناه: http://www.webservicex.net/medicareSupplier.asmx?WSDL
ملاحظة: لم تعد نقاط نهاية العرض التوضيحي العامة لموقع webservicex.net المستخدمة في هذا الشرح قابلة للوصول إليها بشكل موثوق، لذا تم الاحتفاظ بلقطات شاشة الطلب والاستجابة أدناه كمثال مرجعي. أي ملف WSDL يُرجع مجموعة عقد متكررة سيُفعّل تأكيد XQuery بنفس الطريقة تمامًا.
الخطوة 1: انقر بزر الماوس الأيمن على المشروع الحالي وحدد "إضافة WSDL".
الخطوة الثانية: سيتم فتح مربع حوار إضافة WSDL. اترك الخيارات الأخرى كما هي افتراضياً وانقر على زر "موافق".
الخطوة 3: جميع العمليات مدرجة كما هو موضح أدناه.
الخطوة الرابعة: لنضف الآن حالة الاختبار ضمن نفس مجموعة الاختبار التي أنشأناها من أجلها الاختبار محول العملات.
الخطوة 5: أدخل اسم حالة الاختبار وانقر على زر "موافق".
الخطوة 6: يتم إنشاء حالة الاختبار كما هو موضح أدناه.
الخطوة 7: أضف خطوة اختبار جديدة من النوع "طلب اختبار Soap" كما هو موضح أدناه.
الخطوة 8: أدخل اسم خطوة الاختبار. لنفترض مثلاً اسم "المورد حسب المدينة"، وهو اسم أكثر وضوحاً. انقر على "موافق".
الخطوة شنومك: حدد Operaما نريد التحقق منه هو "MedicareSupplierSoap -> GetSupplierByCity". انقر فوق "موافق".
الخطوة 10: أدخل اسم حالة الاختبار وانقر فوق "موافق".
الخطوة 11: سيتم عرض مخطط XML للطلب كما هو موضح أدناه.
الخطوة 12: الآن دعونا نجد جميع معلومات الموردين لمدينة "نيويورك".
للقيام بذلك، أضف الأسطر التالية إلى الكود الخاص بك.
<GetSupplierByCity xmlns="http://www.webservicex.net/"> <City>New York</City> </GetSupplierByCity>
ملف WSDL أدناه URL – http://www.webservicex.net/medicareSupplier.asmx?op=GetSupplierByCity
الخطوة 13: عند تنفيذ الاختبار، نتلقى الاستجابة التالية
الخطوة 14: لنفترض أننا بحاجة إلى التحقق من صحة جميع أرقام الموردين. لا يمكننا استخدام تأكيدات XPath لأننا نحتاج إلى مئات منها. لذا، فإن استخدام XQuery أمر لا مفر منه في هذه الحالة.
يساعدنا تأكيد XQuery في التحقق من صحة مجموعة من استجابات XML المتكررة بطبيعتها.
الخطوة 15: انقر الآن على "إضافة تأكيد"،
- حدد "فئة التأكيد" - محتوى الخاصية في هذه الحالة.
- حدد نوع التأكيد كـ "تأكيد XQuery"
- انقر فوق "إضافة".
الخطوة 16: على غرار تأكيد XPath، نحتاج إلى تعريف مساحة الاسم.
- انقر على زر "إعلان" للسماح تلقائيًا SoapUI لتعريف مساحة الاسم. عند النقر على زر "تعريف"، ستظهر نافذة منبثقة تحمل رسالة "تعريف مساحة الاسم من المخطط بدلاً من ذلك". انقر "نعم" للمتابعة كما هو موضح أدناه.
- لاستعادة جميع أرقام المورد، نحتاج إلى كتابة استعلام XPath وسنضعه داخل < رقم المورد > و العلامات.
- انقر فوق "تحديد من الحالي" والذي سيتم تنفيذه من الاستجابة الحالية.
- عند النقر على "تحديد من الحالي"، يتم سرد جميع أرقام الموردين.
- انقر فوق "حفظ".
ملاحظة: عند الضغط على زر "إعلان"، قد تحصل على نتائج مختلفة URL's كإعلان لمساحة الاسم، ومع ذلك، فإن مساحة اسم موقع خدمة الويب الفعلية هي ما سيتم اعتباره للبرمجة.
يبدو تعبير XQuery النهائي، مع تعريفات مساحة الاسم الخاصة به، على النحو التالي.
// Namespace declaration declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/'; declare namespace ns1='http://www.webservicex.net/'; declare namespace x = ''; // Placing the result in Myresult Tags{ // Iterating through all the supplier number for $x in //ns1:GetSupplierByCityResponse/ns1:SupplierDataLists/ns1:SupplierDatas/ns1:SupplierData //Return all the Supplier number within ‘SupplierNumber’ Tags. return {data($x/ns1:SupplierNumber)} }
الخطوة 17: يتم تنفيذ تأكيد XQuery وعرض النتيجة النهائية في لوحة "التأكيد" كما هو موضح أدناه. لقد أضفنا بنجاح تأكيد XQuery الذي استخدمناه للتحقق من صحة جميع معلومات رقم المورد. ستتم مقارنة هذه المعلومات بالبيانات الفعلية في كل مرة يتم فيها إرسال الطلب إلى خادم الويب.
ملاحظة: لن يتم عرض القيم الفعلية. إذا كانت جميع القيم الفعلية مماثلة للقيم المتوقعة، فسيتم عرض VALID وإلا فسيتم عرض "Failed".
متى يجب استخدام التأكيد المدمج؟
بعد تغطية كل من خيارات النقر والتحديد والخيارات المكتوبة، يبقى السؤال العملي هو أيها نختار.
- عندما تكون الاستجابة قصيرة بحيث يمكن التحقق من صحتها باستخدام أحد تلك التأكيدات المضمنة.
- يمكننا أيضًا استخدام التأكيد المدمج إذا كانت الاستجابة المرسلة من خادم الويب ثابتة دائمًا بطبيعتها. إذا كانت ديناميكية، فلن نتمكن من تأكيدها باستخدام التأكيدات المضمنة.
- عندما يصبح استخدام التأكيدات المضمنة مثل تأكيدات المهلة والتأكيدات الأمنية أمرًا لا مفر منه.
- تعتبر التأكيدات المضمنة جيدة جدًا للاستخدام لمرة واحدة حيث لا يلزم تكرار الاختبارات.
خيارات التأكيدات
يمكن التحكم بشكل أفضل في التأكيدات التي تم إنشاؤها بمساعدة لوحة التحكم الموضحة أدناه.
تسمح التأكيدات التي تم إنشاؤها للمختبرين بتكوين الأشياء التالية من مجموعة أدوات التأكيدات.
| خيار | الوصف |
| التأكيد المحدد يتحرك لأعلى الترتيب. | |
| ينتقل التأكيد المحدد إلى أسفل الترتيب. | |
| إزالة التأكيد المحدد | |
| إعادة تكوين/تحرير التأكيد المحدد. |
فيما يلي الميزات المتوفرة حصريًا في النسخة الاحترافية من SoapUIيتم شحنها الآن على النحو التالي: ReadyAPIكما تساعدنا النسخة الاحترافية على تجميع التأكيدات بحيث يمكننا إضافة طبقة أخرى من التحقق إلى التأكيدات التي تم إنشاؤها.
- و: يتم تقييم جميع التأكيدات على أنها تأكيدات صحيحة، مما سيؤدي إلى حالة المجموعة الناجحة.
- أو: يجب أن يكون أحد التأكيدات على الأقل داخل المجموعة صحيحًا من أجل تأكيد شرط نجاح المجموعة.
- الإصدار المحترف يسمح أيضًا استنساخ التأكيدات: يتيح هذا الخيار للمختبرين السماح بنسخ التأكيد إلى خطوة اختبار مختلفة في نفس المشروع أو مشروع مختلف.
- تعطيل/تمكين التأكيدات: يتيح هذا الخيار تعطيل أو تمكين أي تأكيد، سواء كان مجمعًا أو غير مجمع. في حال تعطيل التأكيد، يظهر باللون الرمادي، وعند تنفيذ حالة اختبار، لن يتم تنفيذ التأكيدات المعطلة.
- فك تجميع التأكيدات: يمكن فك تجميع أي تأكيدات مجمعة إذا قرر المختبرون القيام بذلك.
قائمة كاملة بالطرق المتاحة في أنواع التأكيد المختلفة
يجمع الجدول أدناه كل التأكيدات التي تمت مناقشتها أعلاه، مصنفة حسب الفئة التي تظهر تحتها في مربع حوار إضافة التأكيد.
| آلية التأكيد | الوصف |
| محتوى العقار | |
| يحتوي | يبحث عن وجود السلسلة المحددة. كما أنه يدعم التعبير العادي. |
| لا يحتوي على | يبحث عن عدم وجود السلسلة المحددة. كما أنه يدعم التعبير العادي. |
| مباراة XPath | يستخدم تعبير XPath لتحديد العقدة الهدف وقيمها. |
| مطابقة كسكيوري | يستخدم تعبير XQuery لتحديد المحتوى من الخاصية المستهدفة. |
| الامتثال، الوضع، المعايير | |
| HTTP تحميل كافة الموارد | التحقق من صحة مستند HTML بعد تنزيله ويتوافق مع أي خاصية تحتوي على HTML. |
| حالة HTTP غير صالحة Codes | التحقق مما إذا كانت استجابة HTML تحتوي على رمز حالة غير موجود في قائمة الرموز المحددة. |
| ليس خطأ الصابون | التحقق مما إذا كانت الرسالة المستلمة الأخيرة ليست خطأ SOAP. من الواضح جدًا أنه ينطبق فقط على خطوات اختبار SOAP. |
| الامتثال للمخطط | التحقق مما إذا كانت الرسالة المستلمة الأخيرة متوافقة مع تعريف مخطط المخطط القياسي WSDL أو WADL. يحمل جيدًا خطوات اختبار الصابون والراحة. |
| خطأ الصابون | التحقق مما إذا كانت آخر رسالة تم استلامها هي خطأ SOAP. إنه عكس تأكيدات الخطأ "NOT SOAP". |
| استجابة الصابون | التحقق مما إذا كانت الاستجابة الأخيرة المستلمة هي استجابة SOAP صالحة وتتوافق مع خطوات طلب اختبار SOAP فقط. |
| حالة HTTP صالحة Codes | يتحقق مما إذا كانت استجابة HTML تحتوي على رمز حالة موجود في قائمة الرموز المحددة. وهو عكس "حالة HTTP غير صالحة". Codeتأكيد s. |
| طلب معالجة WS | التحقق مما إذا كان آخر طلب تم استلامه يحتوي على رؤوس عناوين WS المناسبة. |
| استجابة معالجة WS | التحقق مما إذا كانت آخر استجابة تم تلقيها تحتوي على رؤوس عناوين WS المناسبة. |
| حالة أمان WS | يتم التحقق من صحة ما إذا كانت آخر رسالة تم تلقيها تحتوي على رؤوس WS-Security صالحة وتظل صالحة فقط لطلبات SOAP. |
| سيناريو | |
| تأكيد البرنامج النصي | يسمح للمستخدمين بتنفيذ برنامج نصي مخصص لإجراء عمليات التحقق من الصحة التي يحددها المستخدم. |
| جيش تحرير السودان | |
| الاستجابة لاتفاقية مستوى الخدمة | يتم التحقق من صحة ما إذا كان وقت الاستجابة لآخر استجابة تم استلامها ضمن الحد المحدد. |
| JMS | |
| حالة JMS | التحقق من تنفيذ طلب JMS لخطوة الاختبار بنجاح ويظل صالحًا لخطوات الاختبار مع نقطة نهاية JMS. |
| مهلة JMS | التحقق مما إذا كانت استجابة JMS لخطوة الاختبار لم تستغرق وقتًا أطول من المدة المحددة. |
| الأمن والحماية | |
| التعرض للمعلومات الحساسة | التحقق مما إذا كانت رسالة الرد لا تكشف عن معلومات حساسة حول النظام المستهدف. يمكننا استخدام هذا التأكيد لخطوات اختبار REST وSOAP وHTTP. |
قم بتنزيل مشروع SOAPUI الذي يحتوي على التأكيدات المذكورة أعلاه
الأخطاء الشائعة واستكشاف الأخطاء وإصلاحها
معظم حالات فشل التأكيد tracلنعد إلى مجموعة صغيرة من الأخطاء، لذا تحقق من هذه الأخطاء قبل إعادة كتابة أي تعبير.
- استخدم مساحة الاسم الصحيحة. يجب أن تكون مساحة الاسم هي URL مكان وجود خدمة الويب.
- إذا حدث خطأ أثناء التطويرping في حالة تأكيد البرمجة النصية، استخدم 'log.info' لطباعة محتويات المتغيرات.
- إذا لم تحصل على النتيجة المطلوبة، فتأكد من تمرير إدخال صالح في الطلب.
على سبيل المثال، في محول العملات، إذا أدخلت القيمة 'x' في 'intA' وهي ليست عددًا صحيحًا، فسيظهر رمز خطأ 'SOAP-Client'، مما يعني أن المشكلة تكمن في المعامل المُمرر من جانب العميل. وسيتم عرض الطلب الذي يحمل القيمة غير الصالحة أولًا.
تُعيد الاستجابة رمز الخطأ بدلاً من النتيجة، كما هو موضح أدناه.
تأكد من استخدام الصيغة الصحيحة عند استخدام تأكيد XPath وXQuery. لا تستخدم النقطة (.) بدلاً من النقطتين (:) عند استخدام التأكيد المذكور أعلاه. الصيغة الصحيحة هي //namespace:Tagname وليست //namespace.tagname. قد يؤدي استخدام هذه الصيغة الخاطئة إلى ظهور رسالة "لا يوجد تطابق في الاستجابة الحالية" حتى لو كان اسم الوسم صحيحًا.














































