"केवल एक बार" नियंत्रक जिस तरह से आपको लगता है वह काम नहीं करता है।
यह प्रति थ्रेड "केवल एक बार" चलाता है। इस प्रकार, यदि आपके पास 100 धागे हैं, तो यह 100 बार चलाएगा।
आप इसे एक बार परीक्षण प्रति चलाना चाहते हैं, निम्न कार्य करें:
Test Plan (Set thread groups to "run consecutively"
- Cookie Manager
- Thread Group A (1 thread, 1 loop)
- - - Login Logic
- Thread Group B
- - - Rest of test
कृपया ध्यान दें, यदि आप threadgroups ए और बी के बीच किसी भी चर साझा करने के लिए की जरूरत है, तो आप उन्हें गुण के रूप में स्थापित करने की जरूरत है। चर को धागे समूहों के बीच साझा नहीं किया जा सकता है, लेकिन गुण कर सकते हैं। इसके लिए आपको गुण फ़ंक्शन का उपयोग करना होगा।
फ़ंक्शन __setProperty स्वचालित रूप से मान को वैश्विक चर के रूप में संग्रहीत करता है। __setProperty को शुरू करने का सबसे साफ तरीका एक पोस्ट-प्रोसेसर बीन्सहेल स्क्रिप्ट को नमूने के लिए एक बच्चे के रूप में बनाना होगा जो थ्रेड ए में कुकी बनाता है। THREAD B में मान पुनर्प्राप्त करने के लिए, आप __property फ़ंक्शन को पैरामीटर के लिए VALUE के रूप में जोड़ते हैं कुकी मूल्य की आवश्यकता है।
BeanShell स्क्रिप्ट कुछ इस तरह दिखेगा:
props.put("COOKIENAME","COOKIEVALUE"); //creates a property "COOKIENAME" with value "COOKIEVALUE"
print(props.get("COOKIENAME")); //prints the value out to the console
ऊपर कोड हमेशा COOKIENAME के लिए एक ही मूल्य है, कम तो विचार करना होगा। इसलिए, हमें यह सुनिश्चित करना होगा कि "COOKIEVALUE" गतिशील है। मैं कुकी मूल्य निकालने के लिए एक पोस्ट-प्रोसेसर नियमित अभिव्यक्ति डालने की अनुशंसा करता हूं, और उसके बाद इसे बीन्सहेल स्क्रिप्ट में पास कर दूंगा।
तो, हमारी परीक्षा योजना अब इस तरह दिखता है:
Test Plan (Set thread groups to "run consecutively"
- Thread Group A (1 thread, 1 loop)
- - - Login Logic
- - - - - Regex to grab cookie, store as "regexCookie"
- - - - - Beanshell to set property
- Thread Group B
- - - Rest of test
और हमारे BeanShell स्क्रिप्ट अब की तरह दिखता है:
props.put("COOKIENAME",vars.get("regexCookie")); //creates a property "COOKIENAME" with value from "regexCookie"
print(props.get("COOKIENAME")); //prints the value out to the console
लिंक
http://jmeter.apache.org/usermanual/functions.html#__property
http://jmeter.apache.org/usermanual/component_reference.html#BeanShell_PostProcessor
मैं एक बार में सभी अनुरोध भेजने, अगर मैं "सामान्य HTTP अनुरोध" लूप नियंत्रक के अंदर डाल दिया तो प्रत्येक अनुरोध एक पहले अनुरोध केवल यह होगा पूरा करने के बाद इसका मतलब है कि द्वारा एक निष्पादित करेंगे चाहते हैं दूसरा शुरू करें। इसलिए मैं यह नहीं ढूंढ पा रहा हूं कि कनेक्शन कितने अनुरोध को क्रैश करेगा। और मुझे केवल एक बार नियंत्रक के बारे में एक और संदेह है, और मैं अभी भी एक बार नियंत्रक की कार्यक्षमता को समझने में असमर्थ हूं। मेरे परीक्षण मामलों में यह थ्रेड समूह में वर्णित सभी धागे के लिए चल रहा है। इसे परीक्षण मामलों के लिए केवल एक बार चलाना चाहिए सही?। कृपया इस रिपोर्ट पर सहायता करें – prashant