مولّد حمولات API

تعمل في المتصفح اختبار واجهات API

أنتج حمولات أمثلة صالحة (ومتغيرات غير صالحة اختيارياً للاختبارات السلبية) من مخطط — مع احترام الأنواع والصيغ والقيم المعدودة (enums) والنطاقات والحقول المطلوبة. جميع البيانات بيانات اختبار بوضوح.

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

كيفية استخدام مولّد حمولات API

  1. الصق JSON Schema أو مستند OpenAPI/Swagger (بصيغة JSON أو YAML) أو جسماً نموذجياً.
  2. في حالة مدخلات OpenAPI، اكتب اسم مخطط المكوّن أو "POST /path" لاختيار مخطط الجسم.
  3. اختر عدد الحمولات الصالحة التي تحتاجها وما إذا كنت تريد تضمين الحقول الاختيارية والمتغيرات غير الصالحة.
  4. ولّد، ثم انسخ الحمولة إلى اختبارك أو نزّل المتغيرات بصيغة JSON/CSV.

مزايا مولّد حمولات API

  • يولّد حمولات أمثلة صالحة من JSON Schema أو جسم طلب/مكوّن OpenAPI أو كائن نموذجي
  • يحترم الأنواع والصيغ والقيم المعدودة (enums) والنطاقات والأطوال والأنماط والحقول المطلوبة و$ref وallOf/oneOf وقيم الأمثلة
  • قيم اصطناعية واقعية تُختار بناءً على أسماء الحقول (email وphone وcity وprice وcreatedAt…)
  • متغيرات غير صالحة للاختبارات السلبية، يخالف كل منها قاعدة واحدة بالضبط مع السلوك المتوقّع من واجهة API
  • مخرجات معتمدة على بذرة (seed) لبيانات اختبار قابلة لإعادة الإنتاج؛ وعدة حمولات دفعة واحدة

مثال على مولّد حمولات API

من مخطط تسجيل حساب

الإدخال:

{ "type": "object", "required": ["email", "plan"], "properties": { "email": { "type": "string", "format": "email" }, "age": { "type": "integer", "minimum": 18 }, "plan": { "enum": ["free", "pro"] } } }

النتيجة:

{ "email": "test.user157@example.com", "age": 42, "plan": "pro" }
Invalid variants: Missing required "email" · Wrong type at age (string) · Below minimum at age (17) · Invalid enum at plan · Empty body …

الأسئلة الشائعة حول مولّد حمولات API

ما المدخلات المقبولة؟

JSON Schema، أو مستند OpenAPI/Swagger (بصيغة JSON أو YAML — اختر مخطط مكوّن أو جسم طلب مثل "POST /users")، أو كائن نموذجي عادي يُستنتج منه المخطط.

ما الكلمات المفتاحية للمخطط التي تُحترم؟

type وenum وconst وformat وpattern (الأنماط البسيطة) وminimum/maximum وmultipleOf وminLength/maxLength وminItems/maxItems وuniqueItems وrequired وproperties وadditionalProperties وallOf/oneOf/anyOf و$ref وnullable وقيم example/default.

ما فائدة المتغيرات غير الصالحة؟

الاختبارات السلبية: يخالف كل متغير قاعدة واحدة بالضبط (حقل مطلوب مفقود، أو نوع خاطئ، أو قيمة خارج النطاق، أو طول زائد، أو قيمة فارغة، أو صيغة/قيمة معدودة غير صالحة، أو null، أو حقل إضافي) ويبيّن الاستجابة التي ينبغي أن تعيدها واجهة API الصحيحة.

هل المخرجات قابلة لإعادة الإنتاج؟

أدخل بذرة (seed) للحصول على الحمولات نفسها في كل مرة؛ واتركها فارغة للحصول على قيم عشوائية جديدة. جميع القيم بيانات اختبار اصطناعية.

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

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