jMeter - चर से मान निकालें

Aug 17 2020

मैं एक वेबसाइट का तनाव परीक्षण करने के लिए jMeter का उपयोग कर रहा हूं। मुझे अगले अनुरोध के लिए एक चर के मूल्य को पास करना होगा।

मूल्य को प्रतिक्रिया निकाय में निम्नानुसार देखा जा सकता है:

var _data = {};
_data["_as_csrf_token"] = "64da5d341c253c2a181796d2524e57c6502d906b";
jQuery.ajaxSetup({ data: _data, type: "POST" });

इस मूल्य को प्राप्त करने के लिए मुझे नियमित अभिव्यक्ति एक्सट्रैक्टर का उपयोग कैसे करना चाहिए?

जवाब

UBIKLOADPACK Aug 17 2020 at 15:13

सबसे आसान तरीका सीमा चिमटा का उपयोग करना है:

इसके लिए बाएं सेट करें:

डेटा ["_ as_csrf_token"] = "

और इसके लिए सही:

";

यदि आप रेगेक्स एक्सट्रैक्टर का उपयोग करना चाहते हैं तो उपयोग करें:

data \ ["_ as_csrf_token" \] = "[^"] +? "?

DmitriT Aug 17 2020 at 23:04

प्रासंगिक नियमित अभिव्यक्ति होगी:

_data\["_as_csrf_token"\] = "(\w+)";

डेमो:

  • आपको पहले मेटा कैरेक्टर से बचने की जरूरत है
  • \wशब्द वर्णों के लिए एक वर्ण वर्ग है (अल्फ़ान्यूमेरिक, केस असंवेदनशील)
  • + पुनरावृत्ति है

अधिक जानकारी:

  • JMeter के साथ RegEx (रेगुलर एक्सप्रेशन एक्सट्रैक्टर) का उपयोग करना
  • पर्ल 5 रेगेक्स चीट शीट
AbhishekPuri Aug 18 2020 at 20:07

ReEx चिमटा का उपयोग कर डेटा निकालने के लिए कृपया निम्न स्ट्रिंग का उपयोग करें।

_data\[\"_as_csrf_token\"\] \= \"(.+?)\"\;

जैसा कि नीचे स्क्रीनशॉट में दिखाया गया है

मामले में आप निकाले जाने वाले डेटा के बारे में चिंतित हैं। मैं उपयोग करने का सुझाव दूंगाhttps://regexr.com/ इस साइट को पसंद करने का कारण यह है क्योंकि यह आपको धोखा देने वाले के साथ भी मदद करता है।

दूसरा सवाल, क्यों (? +) कुछ और क्यों नहीं? कारण यह है कि यह पैटर्न के भीतर हर तरह के पाठ से मेल खाता है। विशेष पात्रों के बारे में चिंता करने की आवश्यकता नहीं है।