اختبار واجهة برمجة التطبيقات باستخدام QTP/UFT: البرنامج التعليمي الكامل

⚡ ملخص ذكي

اختبار واجهة برمجة التطبيقات (API) QTP/UFT يتم التحقق من صحة الخدمة مباشرةً، دون الحاجة إلى واجهة مستخدم. يُبنى اختبار واجهة برمجة التطبيقات (API) على شكل سلسلة من الأنشطة على لوحة رسم، وتحدد نقاط التحقق ما إذا كانت كل استجابة ناجحة أم لا.

  • 🔘 لا توجد واجهة مستخدم رسومية: يتم إرسال المدخلات مباشرة إلى الخدمة، ويتم مقارنة الاستجابة المسجلة بالتوقعات.
  • ☑️ خمسة أنواع مدعومة: خدمة الويب، وREST، ولغة البرمجة الكائنية، وقاعدة البيانات، وواجهات برمجة التطبيقات الخاصة.
  • ✅ تدفق النشاط، وليس الكائنات: اسحب طلب HTTP من صندوق الأدوات إلى مسار الاختبار وقم بتعيين خصائصه.
  • 🧪 نقاط التفتيش هي التي تحدد النتيجة: يشير رمز التحقق 200 إلى نجاح المكالمة دون الحاجة إلى فحص يدوي.
  • 🛠️ النتائج في مكان واحد: يعرض برنامج عرض نتائج التشغيل كل نشاط، واستجابته، ونتيجة كل نقطة تفتيش.
  • 📌 التسمية الحالية: QTP بالإضافة إلى اختبار خدمة HP أصبح UFT، تُباع الآن باسم OpenText الاختبار الوظيفي (UFT واحد).

إنشاء وتشغيل اختبار واجهة برمجة التطبيقات (API) في QTP و UFT واحد

قبل اختبار واجهة برمجة التطبيقات (API)، نحتاج إلى معرفة ماهيتها. واجهة برمجة التطبيقات هي مجموعة من وظائف وإجراءات البرامج التي يمكن تنفيذها بواسطة تطبيقات برمجية أخرى.

ما هو اختبار API؟

اختبار API هو اختبار البرمجيات طريقة للتحقق من صحة واجهات برمجة التطبيقات (APIs). يهدف اختبار واجهات برمجة التطبيقات إلى تقييمها من حيث الوظائف والموثوقية والأمان والأداء. في هذا الاختبار، يُستخدم برنامج لإرسال مدخلات إلى واجهة برمجة التطبيقات، ويتم تسجيل المخرجات لاختبارها.

إذن، اختبار واجهة برمجة التطبيقات (API) هو:

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

يوضح الرسم البياني أدناه وضع اختبار واجهة برمجة التطبيقات (API) بين العميل الذي يستدعي الخدمة والبيانات التي تصل إليها.

نطاق اختبار واجهة برمجة التطبيقات بين طبقة العميل وطبقة قاعدة البيانات

ما أهمية اختبار واجهة برمجة التطبيقات (API)؟

يتميز اختبار واجهة برمجة التطبيقات (API) بأربع مزايا رئيسية

1. اختبار واجهة برمجة التطبيقات (API) هو الاتجاه السائد

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

رسم بياني يوضح نمو اعتماد اختبار واجهات برمجة التطبيقات على مدى عشر سنوات

2. كفاءة الوقت

باستخدام اختبار واجهة برمجة التطبيقات (API)، يمكننا استخدام التنفيذ المتوازي لتقليل وقت تنفيذ الاختبار. يمكنك توفير ما يصل إلى 5 أضعاف مقارنةً بأنواع الاختبار الأخرى.

3. لغة مستقلة

في اختبار API، يتم تبادل البيانات عبر XML or JSONلذا، يمكن استخدام أي لغة لاختبار الاستجابة. على سبيل المثال، إذا كان لديك خدمة تستجيب بتنسيق JSON، فيمكنك بسهولة تحليل البيانات باستخدام Java, C# أو أي لغة أخرى.

4. سهولة التكامل مع واجهة المستخدم الرسومية

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

اختبار API مع UFT (الاختبار الوظيفي الموحد)

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

الإصدار الأخير من QTP، والتي تسمى HP Unified الاختبار الوظيفي (UFT)، هو مزيج من HP QTP (أداة اختبار واجهة المستخدم الرسومية) و HP Service Test (أداة اختبار واجهة برمجة التطبيقات). UFT يدعم الويب، Java، .شبكة، Oracle، Siebel، وخدمات الويب، والعديد من اللغات والمنصات الرئيسية الأخرى التي لم تدعمها الإصدارات القديمة.

⚠️ تسمية المنتج: الأداة الموصوفة هنا هي HP UFT يباع الآن باسم OpenText الاختبار الوظيفي (UFT واحد)بعد انتقاله من شركة HP إلى شركة Micro Focus ثم إلى OpenText. الشاشات أدناه مأخوذة من إصدار حقبة HP، لذا فإن صياغة القوائم تختلف عن الإصدارات الحالية، لكن تدفق اختبار واجهة برمجة التطبيقات والأنشطة ونقاط التحقق تعمل بنفس الطريقة.

أنواع دعم اختبار واجهة برمجة التطبيقات (API) بواسطة HP UFT

  1. خدمة الإنترنت
  2. REST
  3. لغة كائنية التوجه
  4. قاعدة البيانات
  5. واجهة برمجة التطبيقات الخاصة

ابدأ اختبار واجهة برمجة التطبيقات (API) الأولى باستخدام QTP

في اختبار API هذا في UFT سنتناول في هذا الدرس التعليمي ما يلي: UFT أمثلة لاختبار واجهات برمجة التطبيقات (APIs). سنختبر واجهة برمجة تطبيقات الرسم البياني (Graph API) الخاصة بفيسبوك. سنختبر واجهة برمجة التطبيقات كما يلي: حالة الاختبار أقل من

  1. الحصول على ملف تعريف المستخدم المحدد على الفيسبوك.
  2. تأكد من أن الملف الشخصي مطابق للتوقعات.

فيما يلي خطوة لإنشاء تدفق اختباري لواجهة برمجة التطبيقات (API) هذه.

مخطط UFT مخطط سير الاختبار لحالة اختبار واجهة برمجة تطبيقات الرسم البياني من فيسبوك

⚠️ حول هذا المثال: أوقفت فيسبوك دعم Graph API الإصدار 2.3 منذ سنوات، وقد انتهت صلاحية رمز الوصول الموضح أدناه منذ فترة طويلة، لذا لم يعد هذا الاستدعاء يُرجع بيانات. يبقى الطلب الأصلي كما هو في المثال العملي؛ اتبع الخطوات نفسها على أي نقطة نهاية REST حالية للمتابعة.

الخطوة 1) افتح HP UFT وإنشاء مشروع جديد لاختبار واجهة برمجة التطبيقات (API)

  1. اختار ابدأ > (جميع) البرامج > برامج HP > اختبار HP الوظيفي الموحد > اختبار الوظائف الموحد. في الإصدارات الحالية، هذا ببساطة UFT واحد الاختصار.

    Windows مسار قائمة ابدأ إلى اختصار اختبار الوظائف الموحد من HP

  2. انقر ملف > جديد > اختبار. اختر اختبار API نوع

    UFT مربع حوار إضافة اختبار جديد مع تحديد نوع اختبار واجهة برمجة التطبيقات

  3. عند فتح مربع الحوار، أدخل اسم اختبار واجهة برمجة التطبيقات (API): API_Facebookثم حدد موقعًا لحفظ هذا المشروع. انقر إنشاء لإنشاء مشروع اختبار واجهة برمجة التطبيقات (API).

    تسمية واجهة برمجة التطبيقات الجديدة باسم API_Facebook واختيار موقع حفظها

الخطوة الثانية: إضافة طلب HTTP إلى مسار الاختبار

سنستخدم طلب HTTP لإرسال طلب إلى واجهة برمجة تطبيقات فيسبوك.

  1. اختر الأدوات > الانرنيت

    توسعت مجموعة الشبكة في UFT لوحة الأدوات

  2. اسحب العنصر طلب HTTP لاختبار التدفق.

    تم إسقاط نشاط طلب HTTP على UFT لوحة اختبار تدفق واجهة برمجة التطبيقات

الخطوة 3) تكوين وتمرير المعلمات في طلب HTTP

  1. انقر بزر الماوس الأيمن على طلب HTTP أعترض على تعديله.

    انقر بزر الماوس الأيمن على عنصر طلب HTTP في مسار الاختبار

  2. في قسم الخصائص، أدخل URL

    لوحة خصائص نشاط طلب HTTP مع URL حقل

    https://graph.facebook.com/v2.3/me?access_token=CAACEdEose0cBANJsDnbZC92mNAghaM6xxZCZBZAvKlMXS98VYvKy%20OlrfAdsUWR8x5aw9Kqc0grscs9zb9IYED4VC3FwapIZBj%20dsuxy%20HdLcff38gYUBFNeRQlH%20fN7eXKoVZBNl0bR233ZAZCw8fLF1QLh98ry2ZBeYBhXLabtTDkFPZA1IqhaMG0mQp30zO1%20QxQ19nVCxZArJA6XRoB1o5FMepII5cn3DgbBmTgZD
  3. يمكنك أيضًا تمرير مُعامل إلى واجهة برمجة التطبيقات (API) عن طريق تعيين القيم في عنوان الطلب شبكة.

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

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

  4. تعيين طريقة HTTP إلى للحصول على.

    قائمة طرق HTTP لنشاط طلب HTTP مضبوطة على GET

    تم اختيار GET كطريقة HTTP للطلب

  5. ضبط نقاط التفتيش ل طلب HTTPعيّن رمز الحالة إلى 200 في قسم نقاط التحقق. تتيح لك نقاط التحقق معرفة ما إذا كان الإجراء قد تم بنجاح دون الحاجة إلى التحقق من النتيجة يدويًا، ويتم تحديد نتيجة الاختبار (ناجح أو فاشل) بناءً عليها. يشير رمز الحالة 200 إلى أن حالة الاختبار قد اجتازت بنجاح.

    لوحة نقاط التفتيش مع ضبط رمز الحالة المتوقع على 200

الخطوة 4) قم بإجراء الاختبار

انقر على يجري زر أو اضغط F5لفتح مربع حوار تشغيل الاختبار، انقر فوق يجري لتجميع الاختبار وتشغيله.

UFT تم فتح مربع حوار "تشغيل الاختبار" من زر "تشغيل".

الخطوة 5) عرض النتيجة

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

يعرض عارض نتائج التشغيل حالة اختبار API فاشلة

عند نجاح حالة الاختبار، يتم الإبلاغ عن النتيجة كما يلي.

يعرض عارض نتائج التشغيل حالة اختبار واجهة برمجة التطبيقات (API) الناجحة

اختبار واجهة برمجة التطبيقات الأول الخاص بك في UFT تم الانتهاء منه الآن.

أين أذهب من هنا

الآن وقد تعلمت كيفية إنشاء اختبار باستخدام اختبار واجهة برمجة التطبيقات (API) في UFTيمكنك إنشاء اختبار خاص بك لتطبيقك الذي لا يحتوي على واجهة مستخدم رسومية. إضافة نقطة تفتيش لكل رد ومجموعةping المكالمات إلى مُعاملات شراء مُتعددة وهي الخطوات التالية المعتادة.

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

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

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

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

قم بربط خصائص إدخال النشاط بمصدر بيانات مثل ورقة Excel أو ملف XML بدلاً من ذلكping القيم الحرفية. ينتج كل صف بعد ذلك تكرارًا واحدًا، ويعرض عارض نتائج التشغيل النتيجة لكل تكرار.

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

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

SoapUI و Postman أخف وزناً ومجانية في البداية. UFT يستحق مكانته حيث يجب أن يغطي نفس المشروع واجهة المستخدم أيضًا، نظرًا لأن ترخيصًا واحدًا ومجموعة نتائج واحدة تمتد عبر كلا الطبقتين.

بالإضافة إلى رمز حالة HTTP، يمكن لاختبار واجهة برمجة التطبيقات (API) التحقق من محتوى نص الاستجابة، وقيم رؤوس الرسائل الفردية، والبيانات المُعادة مقارنةً بالمصدر المتوقع. تظهر نتائج كل نقطة تفتيش بجانب الطلب في عارض نتائج التشغيل.

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