التعرف الذكي في QTP/UFT مع المثال
⚡ ملخص ذكي
يُعدّ نظام التعريف الذكي آلية احتياطية في UFT أحدها لتحديد موقع كائن عندما لا يتطابق وصفه المتعلم مع التطبيق قيد الاختبار، باستخدام خصائص التصفية الأساسية والاختيارية لتضييق قائمة المرشحين إلى تطابق واحد.

ما هو التعريف الذكي في QTP/UFT?
التحديد الذكي هي آلية احتياطية للتعرف على الأشياء في OpenText UFT أولاً، الأداة المعروفة سابقاً باسم HP QuickTest Professional (QTPإذا لم تتمكن عملية التحديد العادية من إيجاد تطابق فريد للوصف الذي تم تعلمه للكائن، UFT يؤدي إلى تفعيل خاصية التعرف الذكي، بشرط أن تكون الآلية مفعلة في إعدادات تعريف الكائن لفئة هذا الكائن.
بخلاف الوصف المُستخلص، لا يتطلب التحديد الذكي تطابقًا تامًا في كل خاصية مُخزنة. فهو يُقيّم فئتين من الخصائص لتضييق نطاق مجموعة الكائنات المرشحة إلى كائن واحد فقط:
- خصائص عامل التصفية الأساسي. أهم الخصائص الأساسية لفئة كائن الاختبار؛ تلك التي لا يمكن تغيير قيمها دون تغيير جوهر الكائن الأصلي.
- خصائص التصفية الاختيارية. الخصائص الداعمة التي تساعد في تحديد الكائن ولكنها أكثر عرضة للتغيير بمرور الوقت.
عند تشغيل خاصية التعريف الذكي، UFT يتجاهل الوصف المُتعلم ويعيد بناء قائمة مرشحين جديدة تحتوي على كل عنصر يطابق جميع خصائص التصفية الأساسية. ثم يُضيّق نطاق تلك القائمة أكثر، ويتحقق من خصائص التصفية الاختيارية واحدة تلو الأخرى، حتى يتبقى عنصر واحد فقط.
إذا تم استدعاء خاصية التحديد الذكي أثناء جلسة التشغيل، فإن شجرة نتائج الاختبار تسجل رسالة تحذير تؤكد استخدام الآلية، ويتم إدراج خطوة التحديد الذكي في النتائج بحيث يظل الانحراف عن الوصف المتعلم مرئيًا.
يحتل نظام التعريف الذكي المرتبة الثالثة في UFTيُحدد تسلسل تعريف الكائن بعد الوصف المُستخلص وأي مُعرّف علاقة مرئية، وقبل المُعرّف الترتيبي المُستخدم كحل أخير. يُفسر فهم موقعه سبب كون تعطيله تمامًا، بدلًا من إصلاح الخصائص الأساسية، نادرًا ما يكون الخيار الأمثل على المدى الطويل لبرنامج نصي يُنفذ بشكل متكرر.
خصائص التصفية الأساسية مقابل خصائص التصفية الاختيارية
يعمل كلا المرشحين معًا، لكن لكل منهما دور مختلف في عملية الإزالة المذكورة أعلاه. توضح المقارنة أدناه متى يُستخدم كل منهما ومدى قدرة كل منهما على الإزالة.
| البعد | خصائص مرشح القاعدة | خصائص التصفية الاختيارية |
|---|---|---|
| النوع | قم ببناء قائمة المرشحين الأولية | قلص قائمة المرشحين إلى عنصر واحد |
| استقرار | نادرًا ما يتغير دون تغيير هوية الشيء | يمكن أن يتغير دوريًا دون تغيير هوية الكائن |
| قاعدة المطابقة | يجب أن تتطابق جميع خصائص كل مرشح مع الخصائص الأساسية | يتم فحص خاصية واحدة في كل مرة؛ ويتم تخطي الخاصية إذا كانت ستؤدي إلى استبعاد جميع المرشحين. |
| مثال نموذجي | علامة HTML، فئة الكائن، فهرس | الاسم، معرّف HTML، النص البديل، مصدر الصورة |
| حيث تم التكوين | تحديد الكائن > تكوين > خصائص عامل التصفية الأساسي | تحديد الكائن > تكوين > خصائص التصفية الاختيارية |
بما أن الخاصية نفسها لا يمكن أن تتواجد في كلتا القائمتين، فخطط للتقسيم بعناية. الخصائص التي تحدد ماهية الكائن بشكل أساسي تنتمي إلى القائمة الأساسية؛ أما الخصائص التي تساعد فقط في تمييزه عن الكائنات المشابهة فتنتمي إلى القائمة الاختيارية.
كيف تعمل تقنية التعريف الذكي: العملية خطوة بخطوة
لا يتم تفعيل خاصية التحديد الذكي إلا بعد فشل الوصف المُتعلم، وأي مُعرّف علاقة مرئية، في تحديد كائن واحد. بمجرد تفعيلها، UFT يعمل من خلال عملية استبعاد متوقعة من أربع خطوات:
- إعادة بناء قائمة المرشحين. UFT يتجاهل الوصف الذي تم تعلمه ويقوم بفحص العنصر الأصل لكل عنصر يطابق جميع خصائص عامل التصفية الأساسي.
- قم بتطبيق الخاصية الاختيارية الأولى. UFT يزيل أي مرشح لا يتطابق مع الخاصية الأولى في قائمة خصائص التصفية الاختيارية.
- قم بتقييم النتيجة. إذا بقي أكثر من مرشح واحد، UFT يكرر الخطوة السابقة مع الخاصية الاختيارية التالية. إذا كان الفلتر سيستبعد كل المرشحين المتبقين، UFT يتجاهل تلك الخاصية بدلاً من ذلك وينتقل إلى الخاصية التالية.
- توقف عند مباراة واحدة. UFT يكرر دورة التصفية والتقييم حتى يتبقى كائن واحد فقط، أو حتى ينفد من الخصائص الاختيارية للتحقق منها.
إذا لم تتمكن عملية الاستبعاد من عزل عنصر واحد، UFT يعتمد النظام على الوصف المُستخلص بالإضافة إلى مُعرّف ترتيبي، مثل الفهرس أو الموقع أو وقت الإنشاء. وعندما يفشل هذا المزيج في تحديد الكائن، تتوقف جلسة التشغيل مؤقتًا وتعرض خطأً أثناء التشغيل.
كيفية تفعيل أو تعطيل خاصية التعريف الذكي
يتم تكوين خاصية التعريف الذكي لكل فئة من فئات كائنات الاختبار من الأدوات > تحديد الكائناتحدد البيئة وفئة الكائن، ثم قم بتشغيل تفعيل خاصية التعريف الذكي، ثم اضغط ضبط لاختيار خصائص التصفية الأساسية والاختيارية لتلك الفئة. يتيح لك نفس مربع الحوار إيقاف تشغيل الخيار لفئة يجب أن تستخدم دائمًا وصفها المُتعلم بدلاً من ذلك.
كيف تعمل خاصية التعرف الذكي (شرح بالفيديو)
يشرح الفيديو أدناه عملية إزالة المرشح الأساسي والاختياري من خلال مثال عملي.
انقر اضغط هنا إذا لم يكن من الممكن الوصول إلى الفيديو
مزايا وعيوب استخدام تقنية التعريف الذكي
تُضيف خاصية التحديد الذكي مزيدًا من المرونة، ولكن هذه المرونة تتطلب بعض الوقت. لذا، يُنصح بموازنة كلا الجانبين قبل تركها مُفعّلة افتراضيًا في جميع أنحاء مستودع الكائنات.
- ✅ يتحمل التغييرات الطفيفة في واجهة المستخدم: لم يعد تغيير اسم السمة أو تغيير موضعها في الصفحة يؤدي إلى تعطيل كل نص برمجي يتعامل مع الكائن.
- ✅ يقلل من صيانة مستودع الكائنات: يقضي المختبرون وقتاً أقل في إعادة تسجيل الكائنات بعد إصدارات الواجهة الأمامية الصغيرة.
- ✅ يبقى ظاهراً في النتائج: يسجل كل استدعاء تحذيرًا، حتى تتمكن الفرق من تدقيق عدد مرات الحاجة الفعلية إلى استخدام الخيار الاحتياطي.
- ⚠️ بطء في تنفيذ الاختبار: يستغرق بناء قائمة المرشحين وتصفيتها وقتاً أطول بكثير من مطابقة العقار مباشرة، وتتضاعف التكلفة عبر مجموعة كبيرة.
- ⚠️ قد يخفي العيوب الحقيقية: إذا عثرت خاصية التعرف الذكي بهدوء على كائن مشابه، فقد يمر تراجع حقيقي في واجهة المستخدم دون أن يلاحظه أحد.
- ⚠️ يحتاج إلى مراجعة دورية: لا تزال خصائص التصفية الأساسية والاختيارية بحاجة إلى مراجعة دورية مع تطور التطبيق.
تترك معظم الفرق خاصية التعرف الذكي مفعلة للبرامج النصية الاستكشافية والمنخفضة التردد، ثم تقوم بتعطيلها بشكل انتقائي على الكائنات ذات الأهمية البالغة للأداء بمجرد استقرار خصائص تعريف الكائن.
قم بتعديل خاصية الكائن لتجنب التعرف الذكي
تأتي مرونة ميزة التعريف الذكي على حساب وقت التشغيل كما هو موضح أعلاه، لذا تُفضّل العديد من الفرق إصلاح خصائص تعريف الكائنات بأنفسهم بدلاً من الاعتماد المتكرر على الحل البديل. انتبه إلى مؤشرين يدلان على أن إصلاح الخاصية أفضل من الحل البديل أثناء التشغيل: تحذير من ميزة التعريف الذكي يظهر في كل تشغيل تقريبًا، وبطء ملحوظ في أداء البرنامج النصي منذ بدء تفعيل الحل البديل. يشير كلا المؤشرين إلى كائن لم تعد خصائص تعريفه الافتراضية مناسبة للتطبيق، وليس إلى خلل عابر في واجهة المستخدم. يُظهر الفيديو أدناه كيفية تطبيق الإصلاح على نموذج تسجيل دخول حقيقي.
انقر اضغط هنا إذا لم يكن من الممكن الوصول إلى الفيديو
نص الفيديو: أهم النقاط
- يؤدي التعرف الذكي إلى إبطاء تنفيذ البرامج النصية، وهو أمر غير مرغوب فيه بالنسبة للمجموعات الكبيرة أو التي يتم تشغيلها بشكل متكرر.
- ولتجنب ذلك تمامًا، قم بتغيير خصائص تعريف الكائن الافتراضية بدلاً من الاعتماد على الخيار الاحتياطي.
- In تحديد الكائنقم بإزالة "name" من الخصائص الإلزامية واستبدلها بـ "HTML id" لجعل الاختبار مستقلاً عن تغييرات الاسم.
- أعد تسجيل نفس الخطوات بمجرد تحديث قائمة الممتلكات الإلزامية.
- إذا تغير الاسم لاحقًا من "إرسال" إلى "تسجيل الدخول"، فسيتم تشغيل البرنامج النصي الآن دون تشغيل خاصية التعرف الذكي.
- وبالمثل، إذا تغيرت أي خاصية إلزامية أو مساعدة في كائن قيد الاختبار بشكل متكرر، فاستبدلها بخاصية أكثر استقرارًا للحفاظ على سرعة تنفيذ البرنامج النصي.
- تعديل الخصائص مهارة تُكتسب من خلال الخبرة؛ وتتحسن كلما زاد استخدامك للأداة.
تعطيل خاصية التعريف الذكي باستخدام VBScript
يمكن أيضًا إيقاف تشغيل ميزة التعريف الذكي لجلسة تشغيل كاملة دون الحاجة إلى تعديل مستودع الكائنات، باستخدام تعطيل إعادة التشغيل باستخدام الخوارزمية إعداد وقت التشغيل. هذا مفيد عندما يجب أن يفشل البرنامج النصي فورًا عند حدوث أي عدم تطابق في الخصائص بدلاً من الرجوع بصمت إلى عملية الاستبعاد.
' Disable Smart Identification for this run session Setting("DisableReplayUsingAlgorithm") = 1 Browser("Mercury Tours").Page("Find Flights").WebEdit("userName").Set "mercury" ' Re-enable Smart Identification once the strict steps are done Setting("DisableReplayUsingAlgorithm") = 0
اجعل نافذة التعطيل قصيرة قدر الإمكان. يجب أن تتطابق الخطوات التي تُنفذ داخلها تمامًا مع وصفها المُتعلم، لذا فإن أي انحراف مشروع في التطبيق قيد الاختبار سيؤدي إلى فشل فوري بدلاً من التراجع السلس.
المصادر
قم بتنزيل صفحات الويب المستخدمة في البرنامج التعليمي أعلاه للتدرب الذاتي.

