مستودع الكائنات المحلي والمشترك في QTP/UFT

⚡ ملخص ذكي

مستودع الكائنات في QTP/UFT يقوم أحدها بتخزين كائنات الاختبار والخصائص التي تستخدمها الأداة للتعرف على تطبيقك، ويأتي في شكلين: مستودع محلي لكل إجراء ومستودع مشترك قابل لإعادة الاستخدام.

  • 🔘 نموذج كائن الاختبار: QTP يتعرف على خصائص الكائن أثناء التسجيل ويقارنها بالكائن أثناء التشغيل.
  • ☑️ الوضع المحلي افتراضيًا: يبدأ كل إجراء بمستودع محلي خاص به، يتم حفظه باسم ObjectRepository.bdb داخل مجلد الإجراء.
  • ✅ قابلية توسع المستودعات المشتركة: يوجد ملف .tsr خارج نطاق الاختبار ويمكن ربطه بالعديد من الإجراءات عبر العديد من الاختبارات.
  • 🧪 ثلاث خطوات رئيسية: قم بإنشاء المستودع، واربطه بإجراءاتك، ثم قم بتحريره من خلال مدير مستودع الكائنات.
  • 🛠️ حارس للقراءة فقط: يفتح المستودع المشترك في وضع القراءة فقط في المدير حتى يتم تحديد ملف > تمكين التحرير.
  • 📌 التسمية الحالية: QTP الآن OpenText الاختبار الوظيفي (UFT واحد)، لكن قوائم المستودع وتنسيقات الملفات لم تتغير.

بنية مستودع الكائنات المحلية والمشتركة في QTP و UFT واحد

ما هو مستودع الكائنات في QTP?

مستودع الكائن هي مجموعة من كائنات الاختبار والمعلومات التي يتم التعرف عليها بواسطة QTP للعمل عليه. عندما يسجل المستخدم اختبارًا، يتم التقاط الكائنات وخصائصها افتراضيًا.

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

كيف تعمل عملية تحديد الكائنات في QTP?

  • QTP يستخدم تقنية "شبيهة بالبشر" لـ تحديد الكائن
  • خلال القيد مرة، QTP يحاول التعرف على خصائص كائن واجهة المستخدم الرسومية الذي يتم تنفيذ عملية عليه.
  • أثناء وقت التشغيل، UFT تتم مقارنة خصائص الكائن المخزنة مع الخصائص الفعلية للكائن المعروض على الشاشة، ويتم تحديد الكائن بشكل فريد بغض النظر عن موقعه على الشاشة.
  • يُطلق على الكائن المخزن، بالإضافة إلى خصائصه، اسم كائن الاختبار
  • أثناء وقت التشغيل، يُطلق على الكائن الفعلي المتاح في التطبيق قيد الاختبار اسم كائن وقت التشغيل
  • هذا هو اختبار سريع "نموذج كائن الاختبار"
  • يتم تخزين المعلومات المتعلقة بكائنات الاختبار في مستودع الكائنات.
  • تساعد الإضافات من خلال توجيه برنامج QuickTest مسبقًا بشأن طبيعة الكائن المراد تسجيله، وذلك لتقليل الوقت اللازم لتعلم خصائصه.

تعلم التعرف على الأشياء من خلال مثال في الفيديو التالي

انقر اضغط هنا إذا لم يكن من الممكن الوصول إلى الفيديو

أنواع مستودع الكائنات

يوجد نوعان من مستودعات الكائنات في QTP

  1. مستودع الكائن المحلي
  2. مستودع الكائنات المشتركة

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

مستودع الكائن المحلي

  • مستودع الكائنات المحلي هو مستودع الكائنات الافتراضي
  • إنه خاص بالإجراءات ولا يمكن استخدامه إلا لإجراء معين
  • يُفضل استخدام مستودع الكائنات المحلي عندما لا يكون التطبيق ديناميكيًا مع مرور الوقت.
  • لا يمكن إعادة استخدام مستودع الكائنات المحلي
  • يمكنك تنفيذ العديد من العمليات في مستودع الكائنات المحلي، مثل:
    • قم بتمييز كائن مخزن في مستودع على التطبيق قيد الاختبار
    • تحقق مما إذا كان كائن معين في AUT الخاص بك مخزّنًا في Object Repository
    • قص ونسخ ولصق وتعديل وحذف الكائنات
    • في حال قمت بتعديل قيمة خاصية ما عن طريق الخطأ، يمكنك تحديث وصفها من التطبيق باستخدام وظيفة التحديث.

يوضح الفيديو أدناه كيفية العمل مع مستودع الكائنات المحلي.

مستودع الكائنات المشتركة: الإنشاء والربط والتحرير

  • يُفضل استخدام مستودع الكائنات العالمي أو المشترك عندما يكون التطبيق ديناميكيًا وتتغير أوصاف الكائنات بشكل متكرر.
  • من بين مستودعات الكائنات المشتركة والمحلية، يُستخدم مستودع الكائنات المشترك بشكل أكثر شيوعًا في مشاريع الأتمتة.
  • ومع ذلك، فإنه ينطوي على تكاليف صيانة وإدارة إضافية مقارنة بمستودع الكائنات المحلي.

لإنشاء مستودع كائنات مشترك واستخدامه، يتعين عليك تنفيذ ثلاث خطوات عامة

  • إنشاء مستودع كائن مشترك
  • ربط مستودع الكائنات المشتركة
  • تحرير مستودع الكائنات المشتركة

دعونا ننظر إليهم واحدا تلو الآخر

الخطوة 1) إنشاء مستودع كائن مشترك

  • جميع المستودعات محلية افتراضيًا. لإنشاء مستودع كائنات مشترك، في مربع حوار مستودع الكائنات Box، انقر ملف > تصدير الكائنات المحلية
  • ملفات المستودع لها امتداد .tsrأعطِ اسمًا مناسبًا، مثل "guru99"، واحفظه.
  • تم الآن إنشاء ملف المستودع المشترك

الخطوة الثانية: ربط مستودع الكائنات المشتركة

  • الخطوة التالية هي ربط المستودع باختبارك، مما يُمكّنك من استخدامه.
  • لربط مستودع باختبار، انقر الموارد > مستودع الشركاء (مُصنَّف) المستودعات التابعة في التيار UFT نسخة واحدة)
  • يمكنك تحديد المستودع لربطه بالإجراءات المتاحة في الاختبار الخاص بك.
  • يمكنك الآن استخدام هذا المستودع المشترك لتطوير اختبارك

الخطوة 3) تحرير مستودع الكائنات المشتركة

  • يمكنك استخدام مدير مستودع الكائنات لتحرير مستودع مشترك.
  • اختر الموارد > مدير مستودع الكائناتافتح مستودع الكائنات الذي أنشأناه، "guru99"
  • يتم فتح المستودع افتراضيًا في وضع القراءة فقط. لتمكين التحرير، انقر فوق ملف > تمكين التحرير
  • بمجرد تفعيل خاصية التحرير، يمكنك إجراء جميع العمليات مثل القص والنسخ واللصق وإعادة تسمية الكائنات، وهي العمليات التي يمكنك القيام بها أيضًا في مستودع الكائنات.
  • باستخدام مدير مستودع الكائنات، يمكنك أيضًا مقارنة مستودعين للكائنات. QTP يقدم التقرير إحصائيات حول ما هو فريد وما هو مشترك في كلا المستودعين
  • يمكنك استخدام أداة دمج مستودع الكائنات لدمج مستودعين في مستودع واحد.

يشرح الفيديو التالي سير عمل المستودع المشترك.

الفرق بين مستودع الكائنات المحلي ومستودع الكائنات المشترك

معظم الفرق تستخدم كلا النوعين جنبًا إلى جنب في النهاية، لذلك من المفيد رؤية المفاضلات في مكان واحد قبل تحديد مكان العنصر الجديد.

المعايير مستودع الكائن المحلي مستودع الكائنات المشتركة
التوفر يتم إنشاؤها تلقائيًا مع كل إجراء يجب إنشاؤها، ثم ربطها بإجراء
مجال مستودع واحد لكل إجراء؛ لا يمكن استخدامه إلا من خلال ذلك الإجراء ملف واحد قابل للاستخدام من قبل العديد من الإجراءات عبر العديد من الاختبارات
تنسيق الملف تم الحفظ باسم ObjectRepository.bdb داخل مجلد الإجراءات تم الحفظ كملف خارجي .tsr ملف
تحرير يمكن تعديلها مباشرة في نافذة مستودع الكائنات للقراءة فقط افتراضيًا؛ يتم التعديل من خلال مدير مستودع الكائنات
إعادة استخدام لا يمكن إعادة استخدامها مصمم لإعادة الاستخدام والتحكم في الإصدارات
الدورية يجب إصلاح الخاصية المتغيرة في كل إجراء. يتم تثبيت الخاصية المتغيرة مرة واحدة، لكل اختبار مرتبط بها.
أفضل مناسب لـ تطبيقات صغيرة ومستقرة واختبارات تعلم أحادية الإجراء تطبيقات كبيرة أو ديناميكية تضم العديد من مهندسي الأتمتة

باختصار، يُعدّ المستودع المحلي أسرع في البداية، بينما يُعدّ المستودع المشترك أقل تكلفة في الصيانة. يمكن الاحتفاظ باختبارات التعلم والفحوصات الفردية محليًا؛ أما أي شيء سيقوم شخص آخر بتشغيله فيُمكن وضعه في المستودع المشترك. .tsr ملف.

كيفية إضافة الكائنات مباشرة إلى مستودع الكائنات المشتركة

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

  1. اختر الموارد > مدير مستودع الكائنات لفتح نافذة المدير.
  2. اختار ملف> جديد لبدء مستودع مشترك فارغ، أو لفتح مستودع موجود .tsr ملف وحدد ملف > تمكين التحرير.
  3. استخدم إضافة كائنات يمكنك اختيار عنصر التحكم الذي تريد تعلمه في التطبيق قيد الاختبار، ثم تأكيد الاختيار.
  4. كرر هذه العملية لكل عنصر تحكم تتعامل معه المجموعة، مع إعادة تسمية الكائنات إلى شيء قابل للقراءة أثناء تقدمك.
  5. اختر ملف> حفظ وقم بتخزين الملف في مجلد التحكم بالمصادر بجانب الاختبار.
  6. بالعودة إلى الاختبار، حدد الموارد > مستودع الشركاء وقم بإرفاق الملف بكل إجراء يحتاج إليه.

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

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

يُخزَّن مستودع الكائنات المحلي باسم ObjectRepository.bdb داخل مجلد الإجراءات الخاص به. أما مستودع الكائنات المشترك فيُخزَّن كملف .tsr مستقل يقع خارج نطاق الاختبار ويمكن إضافته إلى نظام التحكم في الإصدار.

نعم. افتح نافذة مستودع الكائنات للإجراء واختر ملف، ثم تصدير الكائنات المحلية. QTP يكتب كائنات الإجراء إلى ملف .tsr، والذي تقوم بعد ذلك بربطه بأي إجراء يحتاج إليها.

نعم. يقبل مربع حوار "ربط المستودع" عدة ملفات بامتداد .tsr لكل إجراء، ويتيح لك تحديد ترتيب أولوياتها. عند ظهور اسم الكائن نفسه مرتين، يُعتمد المستودع الأعلى في القائمة.

يفتح مدير مستودع الكائنات الملفات المشتركة للقراءة فقط، مما يمنع مهندسين من الكتابة فوق ملفات بعضهم البعض. اختر "ملف"، ثم "تمكين التحرير" لتفعيل قفل الكتابة، وأغلق الملف عند الانتهاء ليتمكن زملاؤك من تعديله.

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

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

لا، بل هو يكملها. Descriptإيف البرمجة يقوم بإنشاء وصف للكائن في الكود في وقت التشغيل، وهو ما يناسب عناصر التحكم الديناميكية، بينما يظل المستودع هو الخيار الأفضل للشاشات المستقرة والبرامج النصية القابلة للقراءة.

افتح كلا الملفين في مدير مستودع الكائنات، ثم شغّل أداة دمج مستودع الكائنات. ستُبلغك الأداة بالكائنات المشتركة والكائنات الفريدة، ثم تتيح لك حل كل تعارض قبل كتابة ملف .tsr المدمج.

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