مولّد اختبارات الطلبات المتزامنة

تعمل في المتصفح الأتمتة

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

الخصوصية: تعمل هذه الأداة بالكامل في متصفحك. لا تغادر بياناتك جهازك أبداً.
جارٍ تحميل الأداة…

كيفية استخدام مولّد اختبارات الطلبات المتزامنة

  1. أدخل عنوان URL المستهدف (بيئة staging أو اختبار مصرّح لك بتحميلها) والطريقة والترويسات والجسم.
  2. حدّد المستخدمين الافتراضيين والمدة والصعود التدريجي وزمن التفكير وعتبتي p95 ومعدل الأخطاء.
  3. اختر أداة (أو «الأدوات الخمس» All five) وانقر «توليد» (Generate).
  4. نزّل السكربت بالامتداد الصحيح وشغّله بالأمر المطبوع.
  5. راجع رمز الخروج في CI: تنتهي السكربتات برمز غير صفري عند تجاوز أي عتبة.

مزايا مولّد اختبارات الطلبات المتزامنة

  • سكربتات k6 وJMeter JMX وLocust وArtillery وNode.js من نموذج واحد
  • مراحل الصعود التدريجي والحالة المستقرة والهبوط التدريجي مع سقوف لعدد المستخدمين الافتراضيين والمدة
  • عتبات مدمجة: ميزانية زمن استجابة p95 والحد الأقصى لمعدل الأخطاء يُفشلان التشغيل
  • مهلات زمنية وزمن تفكير وترويسات مخصّصة وأجسام JSON
  • ربط اختياري بملف تغذية CSV لكل أداة
  • أوامر التشغيل وملخص للإعدادات؛ ولا يُرسل أي شيء إلى الهدف

مثال على مولّد اختبارات الطلبات المتزامنة

سكربت k6 لنقطة نهاية الطلبات (orders)

الإدخال:

POST https://staging.example.com/api/orders
20 VUs · 60 s · 15 s ramp-up · p95 < 500 ms · errors < 1%

النتيجة:

export const options = {
  stages: [
    { duration: '15s', target: 20 },  // ramp-up
    { duration: '45s', target: 20 },  // steady state
    { duration: '5s', target: 0 },  // ramp-down
  ],
  thresholds: {
    http_req_duration: ['p(95)<500'],
    http_req_failed: ['rate<0.01'],
  },
};

الأسئلة الشائعة حول مولّد اختبارات الطلبات المتزامنة

ما الأدوات المدعومة؟

k6 (JavaScript)، وJMeter (خطة اختبار JMX كاملة مع مجموعة خيوط وعنصر HTTP Sampler ومدير ترويسات وتأكيدات ومؤقت)، وLocust (Python)، وArtillery (YAML)، وسكربت Node.js خالٍ من الاعتماديات.

ما الإعدادات الافتراضية الآمنة المدمجة؟

يُحدّ عدد المستخدمين الافتراضيين بـ 500 والمدة بساعة واحدة؛ ويتضمن كل سكربت مهلة طلب 30 ثانية، وصعوداً تدريجياً، وزمن تفكير، وعتبات نجاح/فشل (p95 ومعدل الأخطاء) تُفشل التشغيل في CI.

هل يمكن للسكربتات قراءة ملف تغذية CSV؟

نعم. أدخل اسم ملف CSV وستتضمن سكربتات k6 وJMeter وLocust وArtillery كود التحميل؛ وولّد الملف باستخدام مولّد بيانات اختبار التحميل.

هل يُرسل عنوان URL وترويساتي إلى أي مكان؟

لا. تُولَّد السكربتات محلياً في متصفحك. راجع الترويسات قبل إيداعها في المستودع — لا تخزّن بيانات اعتماد حقيقية في سكربت أبداً.

هل اختبار التحميل على أي موقع قانوني؟

اختبر فقط الأنظمة التي تملكها أو لديك إذن كتابي باختبارها. السكربتات مصمّمة لبيئات staging وما قبل الإنتاج.

ملاحظات تقنية

مخرجات JMX خطة اختبار كاملة لـ JMeter 5.6: عنصر TestPlan بمتغيّرات معرّفة من المستخدم، وThreadGroup مع مجدول وزمن صعود، وHTTPSamplerProxy بالمضيف والمنفذ والمسار بعد تحليلها من العنوان، وHeaderManager، وتأكيدات المدة والاستجابة، وConstantTimer لزمن التفكير، ومستمع Summary Report. وتُهرَّب الأحرف الخاصة في الترويسات والأجسام وفق XML.

السقوف (500 مستخدم افتراضي وساعة واحدة) والتحذيرات من أسماء المضيفين التي تبدو إنتاجية هي حواجز حماية مقصودة؛ أما الاختبارات الأكبر فينبغي التخطيط لها واعتمادها وتشغيلها من مولّدات موزّعة.