2012-02-21 14 views
12

मुझे परीक्षण की गई एक सेवा को लोड करने की आवश्यकता है, लेकिन मुझे उस डेटा की आवश्यकता है जिसे मैं वेब सेवा में पोस्ट करता हूं ताकि कुछ भिन्नता हो।जेएमटर लोड परीक्षण के लिए परिवर्तनीय इनपुट?

मैंने एक एचटीपी अनुरोध के साथ थ्रेड सेट किया है और मेरे पास पैरामीटर है जिसे मुझे सेट करने की आवश्यकता है, लेकिन मैं नहीं देख सकता कि मैं अनुरोध करने के अनुरोध से HTTP पैरामीटर की सामग्री को बदलने के बारे में कैसे जाऊंगा।

आदर्श रूप में मैं डेटा आइटम की किसी सूची में खिलाने के लिए पसंद है और JMeter उन के माध्यम से पुनरावृति होगा।

उत्तर

9

अपने की सूची परीक्षण पैरामीटर वाला सीएसवी फाइल की तरह तैयार करें और इसका इस्तेमाल अपने परीक्षण-samplers parametrize करने के लिए, कम से कम उपयोग करते हुए निम्नलिखित:

  1. CSV Data Set Config
    उदाहरण here, सरल उदाहरण here समझाया ।

  2. जेएमटर फ़ंक्शन: __CSVRead, __StringFromFile

  3. Variables From CSV नमूना jmeter-plugins से नमूना।

10

एक तरीका यह है कि आपको आवश्यक सभी मूल्यों के साथ एक CSV फ़ाइल तैयार करना होगा। बाद में इसका उपयोग करने के कई तरीके हैं। सहयोगी बेलिक के जवाब में से अधिकांश ने सूचीबद्ध किया। हालांकि, सीएसवी दृष्टिकोण की कमी यह है कि आपको मूल्यों की सूची उत्पन्न करने की आवश्यकता है, और कुछ परीक्षणों में आप बैक-एंड डेटाबेस को साफ/पुन: प्रारंभ किए बिना इसका पुन: उपयोग नहीं कर सकते हैं।

एक अन्य विकल्प यादृच्छिक मान, आमतौर पर "उपयोगकर्ता निर्धारित मान" नियंत्रक के साथ रखा पैदा करने के लिए कार्य करता है।

  • सीमा में दी गई संख्या पैदा करने के लिए __Random
  • __RandomString किसी दिए गए लंबाई के यादृच्छिक तार उत्पन्न करने और वर्णों का एक सेट बनाने के लिए।

यह एक शक्तिशाली तंत्र है, लेकिन मुझे यह कुछ हद तक बोझिल और गुंजाइश लगता है।

सरल चर के लिए, उपयोगकर्ता नाम/पासवर्ड/ई-मेल संयोजन उत्पन्न करने की तरह, मैं Random Variable कॉन्फ़िगरेशन तत्व का उपयोग करना आसान बनाता हूं। यह जेएमटर 2.3.3 के बाद उपलब्ध है। आप इसे अपने थ्रेड समूह में जोड़ते हैं और प्रत्येक थ्रेड के लिए यादृच्छिक मान संग्रहीत करने के लिए एक चर निर्दिष्ट करते हैं। पासवर्ड के लिए उपयोगकर्ता नाम, testpass-${rnd} के लिए पैरामीटर के मान को testuser-${rnd} पर निर्दिष्ट करके, अनुरोध के GET/POST पैरामीटर में, बाद में अपने HTTP नमूने में इस चर को संदर्भित कर सकते हैं। प्रत्येक थ्रेड को ${rnd} का एक अलग मान मिलेगा, इसलिए एक छोटा मौका है (लेकिन अभी भी एक मौका है) कि आपको डुप्लिकेट मान (उपयोगकर्ता) मिलेंगे।

+0

क्षमा करें, मेरी कम रेटिंग की वजह से मैं अपने जवाब से लिंक की एक संख्या को दूर करने के लिया है।मैंने सबसे महत्वपूर्ण लोगों में जाने की कोशिश की। – zorlem

0

कार्यों @zorlem जवाब में बताया गया इसके अलावा, आप भी उपयोग कर सकते हैं:

  • __UUID एक छद्म यादृच्छिक प्रकार 4 वैश्विक अनुपम पहचानकर्ता पैदा करने के लिए, यदि आप यादृच्छिक & अद्वितीय तार उत्पन्न करने के लिए की जरूरत है।
संबंधित मुद्दे