كيفية استخدام مولّد بيانات اختبار JMeter
- عرّف الحقول بواقع حقل في كل سطر (مثل "username:username" و"accountId:sequence:5000").
- اختر عدد الصفوف والفاصل وصف الترويسة ووضع المشاركة وسلوك نهاية الملف (EOF).
- انقر «توليد» (Generate)، ثم نزّل ملف CSV بجوار ملف .jmx الخاص بك.
- انسخ القيم المطبوعة إلى عنصر CSV Data Set Config، أو الصق عنصر JMX في XML خطة الاختبار.
- أشر إلى المتغيّرات داخل عناصر Sampler بصيغة ${username} و${password} وهكذا.
مزايا مولّد بيانات اختبار JMeter
- صيغة مختصرة (DSL) لمخطط الحقول مشتركة مع مولّدات ملفات التغذية الأخرى (sequence وusername وtoken وpick…)
- ملف CSV بترتيب الأعمدة الذي تشير إليه عناصر Sampler لديك بالضبط بصيغة ${variable}
- قيم CSV Data Set Config مطبوعة: الملف، والترميز، وأسماء المتغيّرات، والفاصل، والاقتباس، وإعادة التدوير (recycle)، وإيقاف الخيط (stop thread)، ووضع المشاركة
- عنصر CSVDataSet بصيغة JMX جاهز للصق، وعنصر User Defined Variables مملوء مسبقاً بقيم الصف الأول
- تحذيرات عند تعارض إعدادات نهاية الملف (EOF) وعند مشاركة ملفات صغيرة بين جميع الخيوط
- مجموعات بيانات قابلة لإعادة الإنتاج باستخدام بذرة (seed)؛ وقيم اصطناعية فقط
مثال على مولّد بيانات اختبار JMeter
مجموعة بيانات تسجيل دخول لمجموعة خيوط (Thread Group)
الإدخال:
username:username
password:password:10
accountId:sequence:5000
Rows: 200 · Delimiter: , · Sharing: All threadsالنتيجة:
username,password,accountId
layla0001,Pw!x8Kq2Lm9a,5000
omar0002,Pw!Zr4Tb7Nc1,5001
…
CSV Data Set Config
Filename: testdata.csv · Variable names: username,password,accountId
Ignore first line: true · Recycle on EOF: true · Sharing mode: All threadsالأسئلة الشائعة حول مولّد بيانات اختبار JMeter
ماذا أدخل في CSV Data Set Config؟
تطبع الأداة كل حقل: Filename وFile encoding وVariable names وIgnore first line وDelimiter وAllow quoted data وRecycle on EOF وStop thread on EOF وSharing mode — انسخها كما هي.
هل يمكنني لصق عنصر JMX مباشرةً؟
نعم. يمكن لصق XML الخاص بعنصر CSVDataSet المولَّد (مع hashTree الخاص به) داخل hashTree لمجموعة خيوط (Thread Group) في ملف .jmx، أو يمكنك إعادة إنشائه في الواجهة الرسومية من القيم المطبوعة.
ما الغرض من مخرجات User Defined Variables؟
تحوّل الصف الأول إلى قيم افتراضية حتى تستمر عناصر Sampler في العمل عندما لا يكون ملف CSV مرفقاً بعد.
Recycle أم Stop thread — أيهما أستخدم؟
Recycle = true يكرّر الملف في الاختبارات الطويلة؛ وRecycle = false مع Stop thread = true يوقف الخيوط عند نفاد البيانات الفريدة. وضبط كليهما على true يجعل Stop thread بلا أثر.
هل أسماء المستخدمين فريدة؟
نعم. تجمع أسماء المستخدمين بين اسم وفهرس مبطّن بالأصفار، وتعدّ أعمدة sequence تصاعدياً من قيمة البداية التي تحدّدها.
ملاحظات تقنية
يحاكي مقتطف JMX العنصر الذي يكتبه JMeter 5.x بنفسه (CSVDataSet بخصائص TestBeanGUI)، لذا يمكن لصقه داخل hashTree لمجموعة خيوط دون أي تعديل إضافي. وأسماء الخصائص مثل ignoreFirstLine وquotedData وrecycle وshareMode وstopThread هي ما يقرؤه JMeter عند التحميل.