إضافة طلبات إلى اختبارات التحميل المستندة إلى عنوان URL في اختبار تحميل Azure

في هذه المقالة، ستتعلم كيفية إضافة طلبات HTTP إلى اختبار تحميل يستند إلى عنوان URL في اختبار تحميل Azure. استخدم اختبار تحميل يستند إلى عنوان URL للتحقق من صحة نقاط نهاية HTTP، مثل تطبيقات الويب أو نقاط نهاية REST، دون معرفة مسبقة بأدوات اختبار التحميل والبرمجة النصية.

يدعم Azure طريقتين لتعريف طلبات HTTP في اختبار التحميل المستند إلى عنوان URL. يمكنك دمج كلا الأسلوبين ضمن اختبار التحميل.

  • حدد تفاصيل نقطة نهاية HTTP، مثل عنوان URL لنقطة النهاية أو أسلوب HTTP أو الرؤوس أو معلمات الاستعلام أو نص الطلب.
  • أدخل أمر cURL لطلب HTTP.

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

إذا كنت تستخدم اختبار تحميل يستند إلى عنوان URL في سير عمل CI/CD، يمكنك تمرير ملف JSON الذي يحتوي على طلبات HTTP إلى اختبار التحميل الخاص بك.

يمكنك إضافة ما يصل إلى خمسة طلبات إلى اختبار تحميل يستند إلى عنوان URL. بالنسبة لاختبارات التحميل الأكثر تعقيدا، يمكنك إنشاء اختبار تحميل عن طريق تحميل برنامج نصي لاختبار JMeter. على سبيل المثال، عندما يكون لديك أكثر من خمسة طلبات، إذا كنت تستخدم بروتوكولات غير HTTP، أو إذا كنت بحاجة إلى استخدام المكونات الإضافية JMeter.

المتطلبات الأساسية

  • حساب Azure مع اشتراك نشط. في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.
  • مورد اختبار تحميل Azure. لإنشاء مورد اختبار تحميل، راجع إنشاء اختبار تحميل وتشغيله.

إضافة طلبات بتفاصيل HTTP

يمكنك تحديد طلب HTTP لاختبار تحميل يستند إلى عنوان URL من خلال توفير تفاصيل طلب HTTP. يسرد الجدول التالي الحقول التي يمكنك تكوينها لطلب HTTP في اختبار تحميل Azure:

الحقل تفاصيل
عنوان URL عنوان URL لنقطة نهاية HTTP. على سبيل المثال، https://www.contoso.com/products.
الطريقة أسلوب HTTP. يدعم اختبار تحميل Azure GET وPOST و PUT وDELETE و PATCH و HEAD و OPTIONS.
معلمات الاستعلام (اختياري) أدخل معلمات سلسلة الاستعلام لإلحاقها بعنوان URL.
رؤوس عناوين HTTP (اختياري) أدخل عناوين HTTP لتضمينها في طلب HTTP. يمكنك إضافة ما يصل إلى 20 رأسا لطلب.
نص الطلب (اختياري) اعتمادا على أسلوب HTTP، يمكنك تحديد محتوى نص HTTP. يدعم Azure Load Testing التنسيقات التالية: البيانات الأولية، وطريقة عرض JSON، وJavaScript، وHTML، وXML.

اتبع هذه الخطوات لإضافة طلب HTTP إلى اختبار تحميل يستند إلى عنوان URL:

  1. في مدخل Microsoft Azure، انتقل إلى مورد اختبار التحميل.

  2. في جزء التنقل الأيمن، حدد Tests لعرض جميع الاختبارات.

  3. في القائمة، حدد اختبار التحميل، ثم حدد تحرير.

    تأكد من تحديد اختبار تحميل مستند إلى عنوان URL من القائمة ومن تمكين تمكين الإعدادات المتقدمة في علامة التبويب الأساسيات .

  4. انتقل إلى علامة التبويب خطة الاختبار، وحدد إضافة طلب.

    Screenshot that shows how to add a request to a URL-based load test in the Azure portal.

  5. حدد Add input in UI لإدخال تفاصيل طلب HTTP.

  6. أدخل تفاصيل طلب HTTP، ثم حدد إضافة لإضافة الطلب إلى اختبار التحميل الخاص بك.

    الحقل ‏‏الوصف
    تنسيق الطلب حدد Add input in UI لتكوين تفاصيل الطلب من خلال الحقول في مدخل Microsoft Azure.
    اسم الطلب أدخل اسما فريدا للطلب. يمكنك الرجوع إلى اسم الطلب هذا عند تحديد معايير فشل الاختبار.
    عنوان URL عنوان URL لنقطة نهاية التطبيق.
    الطريقة حدد أسلوب HTTP من القائمة. يدعم اختبار تحميل Azure GET وPOST و PUT وDELETE و PATCH و HEAD و OPTIONS.
    معلمات الاستعلام (اختياري) أدخل معلمات سلسلة الاستعلام لإلحاقها بعنوان URL.
    رؤوس (اختياري) أدخل عناوين HTTP لتضمينها في طلب HTTP.
    نص الرسالة (اختياري) اعتمادا على أسلوب HTTP، يمكنك أيضا تحديد محتوى نص HTTP. يدعم Azure Load Testing التنسيقات التالية: البيانات الأولية، وطريقة عرض JSON، وJavaScript، وHTML، وXML.

    Screenshot that shows the details page to add an HTTP request by using UI fields in the Azure portal.

  7. حدد تطبيق لحفظ اختبار التحميل.

إضافة طلبات باستخدام cURL

بدلا من توفير تفاصيل طلب HTTP، يمكنك أيضا توفير أوامر cURL لطلبات HTTP في اختبار التحميل المستند إلى عنوان URL. cURL هي أداة سطر أوامر ومكتبة للطلبات المستندة إلى عنوان URL.

اتبع هذه الخطوات لإضافة طلب HTTP إلى اختبار تحميل باستخدام أمر cURL.

  1. في قائمة الاختبارات، حدد اختبار التحميل، ثم حدد تحرير.

    تأكد من تحديد اختبار تحميل مستند إلى عنوان URL من القائمة ومن تمكين تمكين الإعدادات المتقدمة في علامة التبويب الأساسيات .

  2. انتقل إلى علامة التبويب خطة الاختبار، وحدد إضافة طلب.

  3. حدد Add cURL command لإنشاء طلب HTTP باستخدام cURL.

  4. أدخل الأمر cURL في حقل الأمر cURL، ثم حدد إضافة لإضافة الطلب إلى اختبار التحميل الخاص بك.

    يستخدم المثال التالي cURL لتنفيذ طلب HTTP GET، مع تحديد عنوان HTTP:

    curl --request GET 'http://www.contoso.com/customers?version=1' --header 'api-token: my-token'
    

    Screenshot that shows the details page to add an HTTP request by using a cURL command in the Azure portal.

  5. حدد تطبيق لحفظ اختبار التحميل.

استخدام المتغيرات في طلبات HTTP

يمكنك استخدام المتغيرات في طلب HTTP لجعل اختباراتك أكثر مرونة، أو لتجنب تضمين البيانات السرية في خطة الاختبار الخاصة بك. على سبيل المثال، يمكنك استخدام متغير بيئة مع اسم مجال نقطة النهاية الخاصة بك ثم استخدام اسم المتغير في طلبات HTTP الفردية. استخدام المتغيرات يجعل خطة الاختبار الخاصة بك أكثر مرونة وقابلية للصيانة.

باستخدام اختبارات التحميل المستندة إلى عنوان URL في اختبار تحميل Azure، يمكنك استخدام المتغيرات للإشارة إلى المعلومات التالية:

بناء الجملة للإشارة إلى متغير في طلب هو: ${variable-name}.

توضح لقطة الشاشة التالية كيفية الرجوع إلى token متغير في رأس HTTP باستخدام ${token}.

Screenshot that shows the request details page in the Azure portal, highlighting a variable reference in an HTTP header.

إشعار

إذا قمت بتحديد الشهادات، فإن Azure Load Testing يمرر الشهادات تلقائيا في كل طلب HTTP.

استخدام متغيرات الاستجابة للطلبات التابعة

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

يدعم Azure Load Testing الخيارات التالية لاستخراج القيم من طلب HTTP وتخزينها في متغير:

  • مسار JSON
  • XPath
  • التعبير العادي

على سبيل المثال، يوضح المثال التالي كيفية استخدام XPathExtractor لتخزين نص طلب في متغير الاستجابة token . يمكنك بعد ذلك استخدام ${token} في طلبات HTTP الأخرى للإشارة إلى هذه القيمة.

"responseVariables": [
    {
        "extractorType": "XPathExtractor",
        "expression": "/note/body",
        "variableName": "token"
    }
]