Pre-Processors এবং Post-Processors

জেমিটার (jmeter) - Java Technologies

360

JMeter এর মধ্যে Pre-Processors এবং Post-Processors দুটি গুরুত্বপূর্ণ উপাদান, যা বিভিন্ন ধরনের কাজ করার জন্য ব্যবহৃত হয়। এই দুটি উপাদান JMeter টেস্ট প্ল্যানের মধ্যে নির্দিষ্ট প্রক্রিয়া সম্পাদন করতে সাহায্য করে, যেমন রিকোয়েস্ট পাঠানোর আগে বা পরে ডেটা প্রক্রিয়া করা। Pre-Processors এবং Post-Processors এর মাধ্যমে আপনি টেস্টের কার্যকারিতা আরও বাড়াতে এবং পরীক্ষার ফলাফল বিশ্লেষণ করতে সক্ষম হন।


Pre-Processors কি এবং এর কাজ

Pre-Processors হল JMeter উপাদান যা নির্দিষ্ট রিকোয়েস্ট পাঠানোর আগে কাজ করে। এই উপাদানগুলি ব্যবহারকারীকে টেস্টের বিভিন্ন ধাপের আগে ডেটা প্রক্রিয়া বা কনফিগারেশন সেটআপ করার সুযোগ দেয়। সাধারণত, Pre-Processors ব্যবহৃত হয় রিকোয়েস্টের আগে কিছু সেটিংস কনফিগার করার জন্য, যেমন ডাইনামিক ডেটা তৈরি করা, প্যারামিটার সেট করা বা প্রি-পোস্ট রিকোয়েস্ট কনফিগারেশন করা।

Pre-Processors এর কিছু জনপ্রিয় উদাহরণ

1. User Defined Variables (UDV)

UDV ব্যবহার করে আপনি ভ্যারিয়েবল সেট করতে পারেন যেগুলি পরবর্তী রিকোয়েস্টগুলিতে ব্যবহৃত হবে। এটি প্রি-প্রসেসরের মাধ্যমে ডাইনামিক ভ্যালু সেট করতে সাহায্য করে।

2. Pre-Processor: Regular Expression Extractor

এই Pre-Processor ব্যবহার করে আপনি রিকোয়েস্টের রেসপন্স থেকে ডেটা এক্সট্র্যাক্ট করতে পারেন যা পরবর্তী রিকোয়েস্টে ব্যবহার হবে। এটি সাধারণত ডাইনামিক ভ্যালু এক্সট্র্যাক্ট করতে ব্যবহৃত হয়।

3. Pre-Processor: HTTP Request Defaults

এই Pre-Processor টি HTTP রিকোয়েস্টের জন্য ডিফল্ট সেটিংস নির্ধারণ করে, যাতে প্রতিটি HTTP রিকোয়েস্টে একই হেডার বা প্যারামিটার না বসাতে হয়।

4. Pre-Processor: JSR223 PreProcessor

JSR223 PreProcessor ব্যবহার করে আপনি স্ক্রিপ্ট লিখে আরো বেশি কাস্টমাইজেশন করতে পারেন, যেমন Groovy, JavaScript বা Jython ব্যবহার করা।

Pre-Processor এর ব্যবহার

Pre-Processor এর মাধ্যমে আপনি কিছু কাজ বা কনফিগারেশন নির্ধারণ করতে পারেন যা পরবর্তী HTTP রিকোয়েস্টের জন্য প্রয়োজনীয়।

উদাহরণ:

// Regular Expression Extractor ব্যবহার করে রেসপন্স থেকে ডেটা এক্সট্র্যাক্ট করা

Post-Processors কি এবং এর কাজ

Post-Processors হল JMeter উপাদান যা রিকোয়েস্টের পরে কাজ করে। এই উপাদানগুলি রিকোয়েস্টের রেসপন্স ডেটা প্রক্রিয়া করতে এবং পরে প্রয়োজনে বিশ্লেষণ বা লগ করতে সাহায্য করে। Post-Processors সাধারণত রেসপন্স ডেটা থেকে ডেটা এক্সট্র্যাক্ট বা যাচাই করতে ব্যবহৃত হয়। উদাহরণস্বরূপ, রেসপন্স থেকে ভ্যালু এক্সট্র্যাক্ট করা এবং সেই ডেটা পরবর্তী রিকোয়েস্টে ব্যবহার করা।

Post-Processors এর কিছু জনপ্রিয় উদাহরণ

1. JSON Extractor

এই Post-Processor JSON রেসপন্স থেকে ডেটা এক্সট্র্যাক্ট করে এবং সেই ডেটা পরবর্তী রিকোয়েস্টের জন্য ভ্যারিয়েবল হিসেবে ব্যবহার করতে সহায়তা করে।

2. Regular Expression Extractor

এই Post-Processor রেসপন্সের ভিতর থেকে রেগুলার এক্সপ্রেশন ব্যবহার করে ডেটা এক্সট্র্যাক্ট করার কাজ করে।

3. Post-Processor: JSR223 PostProcessor

JSR223 PostProcessor ব্যবহৃত হয় স্ক্রিপ্টিং ভাষা ব্যবহার করে ডেটা প্রসেস করার জন্য, যেমন Groovy, JavaScript বা Jython। এটি পরবর্তী টেস্ট স্টেপে ব্যবহারের জন্য ডাইনামিক ডেটা তৈরি করে।

4. Post-Processor: XPath Extractor

XPath Extractor Post-Processor এর মাধ্যমে আপনি XML বা HTML ডকুমেন্ট থেকে নির্দিষ্ট ডেটা এক্সট্র্যাক্ট করতে পারেন।

Post-Processor এর ব্যবহার

Post-Processor ব্যবহার করে আপনি রেসপন্স থেকে ডেটা এক্সট্র্যাক্ট করে সেটি পরবর্তী রিকোয়েস্টে ব্যবহার করতে পারেন, অথবা টেস্টের পরবর্তী ধাপে কোনো যাচাই বা বিশ্লেষণ করতে পারেন।

উদাহরণ:

// Regular Expression Extractor ব্যবহার করে রেসপন্স থেকে ডেটা এক্সট্র্যাক্ট করা

Pre-Processors এবং Post-Processors এর মধ্যে পার্থক্য

বৈশিষ্ট্যPre-ProcessorsPost-Processors
কাজরিকোয়েস্ট পাঠানোর আগে কাজ করেরিকোয়েস্ট পাঠানোর পরে কাজ করে
ব্যবহাররিকোয়েস্টের জন্য ডাইনামিক ডেটা বা প্যারামিটার তৈরি করারেসপন্স ডেটা এক্সট্র্যাক্ট করা এবং পরবর্তী রিকোয়েস্টে ব্যবহার করা
উদাহরণRegular Expression Extractor, User Defined VariablesJSON Extractor, Regular Expression Extractor
স্ক্রিপ্টিং ভাষাJSR223 PreProcessorJSR223 PostProcessor

সারাংশ

Pre-Processors এবং Post-Processors হল JMeter এর গুরুত্বপূর্ণ উপাদান যা আপনাকে টেস্টের বিভিন্ন ধাপে ডেটা প্রক্রিয়া, কনফিগারেশন এবং এক্সট্র্যাকশন করতে সহায়তা করে। Pre-Processors রিকোয়েস্ট পাঠানোর আগে ডেটা বা কনফিগারেশন তৈরি করার জন্য ব্যবহৃত হয়, এবং Post-Processors রেসপন্স ডেটা বিশ্লেষণ বা এক্সট্র্যাক্ট করার জন্য ব্যবহৃত হয়। এই উপাদানগুলি আপনার JMeter টেস্ট প্ল্যানের কার্যকারিতা এবং পারফরম্যান্স টেস্টিং দক্ষতা উন্নত করতে সহায়তা করে।

Content added By

জেমিটার (JMeter) একটি পারফরম্যান্স টেস্টিং টুল, যা ওয়েব অ্যাপ্লিকেশন এবং সার্ভিসের লোড এবং স্ট্রেস টেস্টিংয়ের জন্য ব্যবহৃত হয়। জেমিটার টেস্টের মধ্যে অনেক কনফিগারেশন এবং ম্যানিপুলেশন করার জন্য Pre-Processor এবং Post-Processor ব্যবহার করা হয়। এই দুটি উপাদান টেস্টের কার্যকারিতা এবং রেসপন্স ম্যানিপুলেশন করার ক্ষেত্রে গুরুত্বপূর্ণ ভূমিকা পালন করে। তারা আপনাকে স্ক্রিপ্টের প্রক্রিয়া আরো গতিশীল এবং কাস্টমাইজড করতে সহায়তা করে।

এই টিউটোরিয়ালে, আমরা জানব Pre-Processor এবং Post-Processor এর কাজ এবং কিভাবে এগুলো ব্যবহার করা যায়।


Pre-Processor

Pre-Processor হলো একটি টুল যা একটি রিকোয়েস্ট বা স্যাম্পলার চালানোর আগে কিছু কার্যকলাপ বা কনফিগারেশন পরিচালনা করে। এটি মূলত ব্যবহার করা হয় রিকোয়েস্টের আগে কিছু প্রস্তুতি কাজ করার জন্য, যেমন ডেটা প্রিপারেশন, প্যারামিটার সেটিং, বা ডায়নামিক ডেটা তৈরি করা।

Pre-Processor এর ভূমিকা:

  • Dynamic Data Generation: এটি রিকোয়েস্ট পাঠানোর আগে ডায়নামিক ডেটা তৈরি করতে সহায়তা করে। যেমন, একটি টেস্টের জন্য টোকেন জেনারেট করা বা সময়ের সাথে সম্পর্কিত ডেটা।
  • Setup Activities: এটি রিকোয়েস্ট চালানোর আগে কিছু প্রস্তুতিমূলক কাজ করতে পারে, যেমন প্রাথমিক কনফিগারেশন বা প্যারামিটার অ্যাসাইন করা।
  • Manipulating Request Data: Pre-Processor এর মাধ্যমে আপনি রিকোয়েস্টের প্যারামিটার বা বডি ডেটা পরিবর্তন বা কাস্টমাইজ করতে পারেন।

Pre-Processor উদাহরণ:

ধরা যাক, আপনি একটি POST রিকোয়েস্ট পাঠাতে চান এবং POST বডিতে ডায়নামিক ডেটা থাকতে হবে। এই ডেটাটি একটি Pre-Processor দিয়ে জেনারেট করতে পারেন।

  • HTTP Request Sampler: POST রিকোয়েস্ট।
  • Pre-Processor: Random Variable Pre-Processor যা রিকোয়েস্টের বডিতে র্যান্ডম প্যারামিটার যোগ করবে।

Pre-Processor এর উদাহরণ:

  1. User Defined Variables: যেখানে আপনি ডায়নামিক বা র্যান্ডম ভ্যালু সেট করতে পারেন।
  2. JSR223 PreProcessor: যেখানে স্ক্রিপ্টিং ভাষায় (যেমন Groovy বা JavaScript) কোড লেখা যেতে পারে।
  3. BeanShell PreProcessor: BeanShell স্ক্রিপ্টিং ভাষা ব্যবহার করে কাস্টম কোড লিখতে সহায়তা করে।

Post-Processor

Post-Processor হলো একটি টুল যা স্যাম্পলার বা রিকোয়েস্ট চলাকালীন অথবা পরে প্রক্রিয়া চালায়। এটি রিকোয়েস্টের রেসপন্স বিশ্লেষণ বা প্রসেস করার জন্য ব্যবহৃত হয়। এটি সাধারণত ব্যবহার করা হয় যখন আপনি রিকোয়েস্টের রেসপন্স ডেটা নিয়ে কোনো কাজ করতে চান, যেমন রেসপন্স থেকে ডেটা এক্সট্র্যাক্ট করা বা ফলস্বরূপ ডেটা ব্যবহার করা।

Post-Processor এর ভূমিকা:

  • Response Handling: এটি রিকোয়েস্টের রেসপন্সের উপর কাজ করে, যেমন রেসপন্স ডেটা থেকে কিছু নির্দিষ্ট তথ্য বের করা।
  • Extracting Data: Post-Processor এর মাধ্যমে আপনি রেসপন্স থেকে ডেটা এক্সট্র্যাক্ট করে পরবর্তী রিকোয়েস্টে ব্যবহার করতে পারেন। যেমন, লগইন রিকোয়েস্টের পরে একটি টোকেন সংগ্রহ করা এবং পরবর্তী রিকোয়েস্টে ব্যবহার করা।
  • Processing Results: এটি রেসপন্সের ভিত্তিতে কিছু নির্দিষ্ট কাজ করে, যেমন লগইন টোকেন এক্সট্র্যাক্ট করা এবং তা পরবর্তী রিকোয়েস্টে ব্যবহার করা।

Post-Processor উদাহরণ:

ধরা যাক, আপনি একটি GET রিকোয়েস্ট পাঠাচ্ছেন এবং সেই রেসপন্সে কিছু ডেটা (যেমন, একটি টোকেন বা ID) রয়েছে, যেটি পরবর্তী রিকোয়েস্টে ব্যবহার করতে হবে। আপনি Post-Processor দিয়ে সেই ডেটা এক্সট্র্যাক্ট করবেন।

  • Regular Expression Extractor: এটি সাধারণত Post-Processor হিসেবে ব্যবহৃত হয় এবং এটি রেসপন্সের মধ্যে থেকে নির্দিষ্ট প্যাটার্ন বা টেক্সট এক্সট্র্যাক্ট করে।
  • JSON Extractor: JSON রেসপন্স থেকে নির্দিষ্ট ফিল্ড এক্সট্র্যাক্ট করার জন্য ব্যবহৃত হয়।

Post-Processor এর উদাহরণ:

  1. Regular Expression Extractor: রেসপন্সের মধ্যে থেকে একটি নির্দিষ্ট ভ্যালু এক্সট্র্যাক্ট করা।
  2. JSON Extractor: JSON রেসপন্স থেকে একটি নির্দিষ্ট ফিল্ড এক্সট্র্যাক্ট করা।
  3. JDBC PostProcessor: ডেটাবেস রেসপন্স প্রসেস করতে ব্যবহৃত হয়।

Pre-Processor এবং Post-Processor এর মধ্যে পার্থক্য

বৈশিষ্ট্যPre-ProcessorPost-Processor
কাজরিকোয়েস্ট পাঠানোর আগে প্রিপারেশন বা ডেটা ম্যানিপুলেশনরেসপন্স পাওয়ার পরে রেসপন্স ম্যানিপুলেশন বা ডেটা এক্সট্র্যাকশন
কোথায় ব্যবহৃত হয়রিকোয়েস্টের পূর্বেরিকোয়েস্টের পর বা রেসপন্স পাওয়ার পর
ব্যবহারডায়নামিক ডেটা তৈরি, প্যারামিটার কনফিগার করারেসপন্স ডেটা এক্সট্র্যাক্ট করা, রেসপন্স প্রসেসিং করা
উদাহরণRandom Variable, JSR223 PreProcessorRegular Expression Extractor, JSON Extractor

সারাংশ

Pre-Processor এবং Post-Processor জেমিটার টেস্ট প্ল্যানে দুটি গুরুত্বপূর্ণ উপাদান, যা রিকোয়েস্টের আগে এবং পরে কার্যক্রম সম্পাদন করতে ব্যবহৃত হয়। Pre-Processor মূলত রিকোয়েস্ট পাঠানোর আগে প্রস্তুতিমূলক কাজ করার জন্য ব্যবহৃত হয়, যেমন ডায়নামিক ডেটা তৈরি বা প্যারামিটার কনফিগার করা। অন্যদিকে, Post-Processor রেসপন্স পাওয়ার পরে ডেটা এক্সট্র্যাক্ট করার বা রেসপন্সের উপর কাজ করার জন্য ব্যবহৃত হয়, যেমন রেসপন্স থেকে টোকেন এক্সট্র্যাক্ট করা এবং পরবর্তী রিকোয়েস্টে ব্যবহার করা। এই দুটি উপাদান জেমিটার স্ক্রিপ্টের কার্যকারিতা ও কাস্টমাইজেশন আরো বৃদ্ধি করে।

Content added By

জেমিটার (JMeter) হল একটি অত্যন্ত শক্তিশালী টুল যা ওয়েব অ্যাপ্লিকেশন, সার্ভার, এবং API পারফরম্যান্স টেস্টিংয়ের জন্য ব্যবহৃত হয়। তবে, কিছু বিশেষ পরিস্থিতিতে বা কার্যকরী টেস্টিংয়ের জন্য আপনাকে কিছু কাস্টমাইজেশন বা প্রিপ্রসেসিং (pre-processing) করতে হতে পারে। HTTP URL Re-writing Modifier এবং BeanShell Pre-Processor হল জেমিটারের দুটি গুরুত্বপূর্ণ উপাদান যা বিভিন্ন রিকোয়েস্টের জন্য URL রি-রাইটিং এবং কাস্টম স্ক্রিপ্টিং অপশন প্রদান করে।

এই টিউটোরিয়ালে, আমরা HTTP URL Re-writing Modifier এবং BeanShell Pre-Processor এর ব্যবহার এবং কনফিগারেশন নিয়ে আলোচনা করব।


HTTP URL Re-writing Modifier

HTTP URL Re-writing Modifier একটি বিশেষ টুল যা ব্যবহারকারীদের HTTP রিকোয়েস্টের URL পরিবর্তন করতে সহায়তা করে। এই কম্পোনেন্টটি সাধারণত সেশন আইডি বা ডাইনামিক প্যারামিটার (যেমন সেশনের তথ্য বা কোড যা URL এর মাধ্যমে ট্রান্সফার করা হয়) পরিবর্তন করার জন্য ব্যবহৃত হয়। ওয়েব অ্যাপ্লিকেশনগুলি প্রায়ই URL তে সেশন বা অ্যান্টি-ফ্ল্যাশিং প্যারামিটার যুক্ত করে থাকে, এবং HTTP URL Re-writing Modifier এর মাধ্যমে এই প্যারামিটারগুলো যুক্ত বা পরিবর্তন করা যায়।

HTTP URL Re-writing Modifier কনফিগারেশন

  1. Test Plan > Thread Group > Add > Pre-Processor > HTTP URL Re-writing Modifier
  2. এই কম্পোনেন্টে কনফিগার করার জন্য প্রধান কিছু সেটিংস:
    • Parameter Name: সেশন আইডি বা যে প্যারামিটারটি আপনি URL তে রি-রাইট করতে চান তার নাম।
    • Parameter Value: সেশন বা প্যারামিটারটির নতুন মান যা URL তে যুক্ত হবে।
    • Add Parameters to URL: প্যারামিটারগুলোর মান URL তে যুক্ত হবে কিনা তা নির্বাচন করা।

ব্যবহার

HTTP URL Re-writing Modifier ব্যবহার করা হয় যখন একটি URL তে ডাইনামিক প্যারামিটার (যেমন সেশন আইডি) যোগ করতে হয়। এটি সাধারণত ব্যবহৃত হয় যখন ওয়েব অ্যাপ্লিকেশন রিকোয়েস্টে সেশন ট্র্যাকিং বা অন্যান্য ডাইনামিক ভ্যালু প্রেরণ করে।

উদাহরণ: আপনি যদি একটি সেশন আইডি (SID) URL তে যুক্ত করতে চান, তবে এটি হবে:

  1. Parameter Name: SID
  2. Parameter Value: abc123

এটি সেশন আইডি abc123 কে URL তে SID=abc123 হিসেবে যোগ করবে।


BeanShell Pre-Processor

BeanShell Pre-Processor হল জেমিটার-এর একটি শক্তিশালী কাস্টম স্ক্রিপ্টিং টুল যা আপনাকে জাভা কোড লিখে আপনার টেস্ট স্ক্রিপ্টে প্রিপ্রসেসিং করতে সাহায্য করে। Pre-Processor এর কাজ হল, টেস্ট চালানোর পূর্বে কিছু কোড এক্সিকিউট করা, যেমন ডেটা জেনারেশন, ভেরিয়েবল সেট করা, বা অন্যান্য কাস্টম অপারেশন যা টেস্টের আগে সম্পাদন করা প্রয়োজন। BeanShell Pre-Processor ব্যবহার করে আপনি জাভা কোডের মতো স্ক্রিপ্ট লিখতে পারেন যা পরে বিভিন্ন স্যাম্পলারে প্রয়োগ হবে।

BeanShell Pre-Processor কনফিগারেশন

  1. Test Plan > Thread Group > Add > Pre-Processor > BeanShell Pre-Processor
  2. এখানে আপনি BeanShell স্ক্রিপ্ট লিখতে পারবেন যা রিকোয়েস্ট এক্সিকিউট হওয়ার আগে চালিত হবে। এই স্ক্রিপ্টটি বিভিন্ন অপারেশন সম্পাদন করতে পারে, যেমন:
    • ভেরিয়েবল সেট করা।
    • প্যারামিটার জেনারেট করা।
    • কাস্টম লজিক প্রয়োগ করা।
    • রিকোয়েস্টের জন্য কাস্টম হেডার বা কনটেন্ট টাইপ যোগ করা।

ব্যবহার

BeanShell Pre-Processor প্রধানত যখন আপনি ডাইনামিক ডেটা জেনারেট করতে চান বা বিভিন্ন অপারেশন করতে চান যেগুলি রিকোয়েস্টের আগে সম্পাদিত হবে, তখন ব্যবহৃত হয়।

উদাহরণ: ডাইনামিক ডেটা তৈরি করা

ধরা যাক, আপনি একটি কাস্টম ভেরিয়েবল তৈরি করতে চান যা রিকোয়েস্টের আগে ব্যবহার হবে। আপনি BeanShell Pre-Processor এর মাধ্যমে এই কাজটি করতে পারেন:

// Generate a random session ID
String sessionId = "session_" + Math.random();
vars.put("sessionId", sessionId); // Save sessionId to a JMeter variable

এটি একটি র্যান্ডম সেশন আইডি তৈরি করবে এবং তা জেমিটার ভেরিয়েবল হিসাবে সেভ করবে যাতে পরবর্তী রিকোয়েস্টে ব্যবহার করা যেতে পারে।

অন্যান্য উদাহরণ

  • Dynamic Headers: আপনি কাস্টম HTTP হেডার যোগ করতে পারেন যেমন Authorization হেডার।
  • Data Extraction: যদি আপনার ওয়েব সার্ভিস থেকে কোনো ডাটা এক্সট্র্যাক্ট করতে হয়, তবে আপনি প্রিপ্রসেসরের মাধ্যমে সেই ডাটা প্রসেস করে পরে রিকোয়েস্টে ব্যবহার করতে পারেন।

সারাংশ

জেমিটার (JMeter) এর HTTP URL Re-writing Modifier এবং BeanShell Pre-Processor হল দুটি অত্যন্ত কার্যকরী উপাদান যা লোড টেস্টিংয়ের কার্যকারিতা বাড়াতে সাহায্য করে। HTTP URL Re-writing Modifier ব্যবহার করে আপনি URL তে ডাইনামিক প্যারামিটার যুক্ত বা পরিবর্তন করতে পারেন, যা সেশন ট্র্যাকিং এবং অন্যান্য ডাইনামিক ভ্যালু ব্যবস্থাপনায় সহায়ক। অন্যদিকে, BeanShell Pre-Processor হল একটি কাস্টম স্ক্রিপ্টিং টুল যা জাভা কোড ব্যবহার করে টেস্টে প্রিপ্রসেসিং করার জন্য বিভিন্ন অপারেশন, ভেরিয়েবল সেটিং এবং ডেটা জেনারেশন করতে সাহায্য করে। এই দুটি উপাদান একসাথে ব্যবহার করে আপনি আরো বেশি কাস্টমাইজড, ফ্লেক্সিবল, এবং সঠিক লোড টেস্টিং করতে পারবেন।

Content added By

জেমিটার (JMeter) একটি শক্তিশালী টুল যা ওয়েব অ্যাপ্লিকেশন, সার্ভার, এবং ডেটাবেসের পারফরম্যান্স টেস্টিংয়ের জন্য ব্যবহৃত হয়। এতে অনেক ধরনের প্রসেসর (Processor) এবং এক্সট্রাকটর (Extractor) রয়েছে যা টেস্টিং প্রক্রিয়ায় গুরুত্বপূর্ণ ভূমিকা পালন করে। দুটি গুরুত্বপূর্ণ উপাদান হলো Regular Expression Extractor এবং JDBC Post-Processor। এই দুটি উপাদান বিভিন্ন ধরনের ডেটা এক্সট্র্যাকশন এবং প্রক্রিয়াকরণের জন্য ব্যবহৃত হয়।


Regular Expression Extractor

Regular Expression Extractor (RE Extractor) হলো একটি জেমিটার প্রিপোস্ট প্রসেসর (Pre-Processor) যা একটি রেগুলার এক্সপ্রেশন ব্যবহার করে জেসুপ রেসপন্স থেকে নির্দিষ্ট ডেটা এক্সট্র্যাক্ট করতে সাহায্য করে। এটি সার্ভার থেকে পাওয়া রেসপন্স বা পেজের মধ্যে থেকে ডাইনামিক ডেটা যেমন, টোকেন, আইডি বা অন্যান্য ভ্যালু বের করতে ব্যবহৃত হয়।

Regular Expression Extractor কনফিগারেশন

  1. Test Plan > Thread Group > Add > Post Processors > Regular Expression Extractor নির্বাচন করুন।
  2. রেগুলার এক্সপ্রেশন এক্সট্রাক্টরের কিছু গুরুত্বপূর্ণ ফিল্ড:
    • Name of created variable: এখানে আপনি যেই ডেটাটি এক্সট্র্যাক্ট করবেন, তার জন্য একটি ভেরিয়েবল নাম দিন। উদাহরণস্বরূপ, userToken
    • Regular Expression: এটি হলো রেগুলার এক্সপ্রেশন যা আপনি সার্ভার রেসপন্সের মধ্যে ডেটা এক্সট্র্যাক্ট করার জন্য ব্যবহার করবেন। উদাহরণ: name="userToken" value="(.+?)".
    • Template: এটি ঐ এক্সপ্রেশন থেকে এক্সট্র্যাক্ট করা ভ্যালুর টেমপ্লেট। সাধারণত $1$ (যেখানে $1$ প্রথম ক্যাপচার গ্রুপের মান নির্দেশ করে)।
    • Match No.: যদি একাধিক ম্যাচ হয় তবে আপনি কোনটা নির্বাচন করবেন তা নির্ধারণ করতে এটি ব্যবহার করুন। 0 দিয়ে আপনি সমস্ত ম্যাচ বের করতে পারেন।
    • Default Value: যদি এক্সপ্রেশন কোন ম্যাচ না করে, তাহলে আপনি একটি ডিফল্ট ভ্যালু ব্যবহার করতে পারেন, যেমন "NOT_FOUND"

উদাহরণ

ধরা যাক, সার্ভার থেকে একটি HTML রেসপন্স আসছে যেখানে একটি ডাইনামিক টোকেন রয়েছে:

<input type="hidden" name="userToken" value="abc123xyz" />

আপনি এই টোকেনটি এক্সট্র্যাক্ট করতে চাইছেন। তাহলে রেগুলার এক্সপ্রেশন হবে:

  • Regular Expression: name="userToken" value="(.+?)"
  • Template: $1$ (যেহেতু এটি প্রথম ক্যাপচার গ্রুপ)
  • Match No.: 1 (প্রথম ম্যাচ)
  • Default Value: NOT_FOUND

এই কনফিগারেশনে, userToken ভেরিয়েবলটি abc123xyz হিসেবে এক্সট্র্যাক্ট হবে।


JDBC Post-Processor

JDBC Post-Processor হলো একটি JMeter প্রসেসর যা JDBC Request স্যাম্পলারের পরবর্তী প্রক্রিয়ায় ব্যবহৃত হয়। এটি ডাটাবেসের রেসপন্স থেকে ডেটা এক্সট্র্যাক্ট করতে এবং সেই ডেটাকে পরবর্তী টেস্টে ব্যবহার করতে সাহায্য করে। সাধারণত এটি SQL Query এর রেসপন্স থেকে ডেটা বের করতে ব্যবহৃত হয় এবং সেই ডেটা পরবর্তী স্ক্রিপ্ট বা রিকোয়েস্টে ব্যবহার করা হয়।

JDBC Post-Processor কনফিগারেশন

  1. Test Plan > Thread Group > Add > Post Processors > JDBC Post-Processor নির্বাচন করুন।
  2. JDBC Post-Processor কনফিগার করার জন্য কিছু ফিল্ড রয়েছে:
    • Variable Name: আপনি যে ডেটা এক্সট্র্যাক্ট করতে চান তা এক্সট্র্যাক্ট করার জন্য একটি ভেরিয়েবল নাম নির্বাচন করুন।
    • Query: SQL কুয়েরি যা আপনি চালাতে চান। উদাহরণস্বরূপ, SELECT user_id FROM users WHERE user_name = 'john'.
    • Result Variable: এই ভেরিয়েবলে SQL রেসপন্সের ফলাফল সংরক্ষণ করা হবে। যেমন: userID.
    • Default Value: যদি SQL কুয়েরি কোনও ডেটা না ফেরায়, তবে ডিফল্ট মান ব্যবহার করা হবে।

উদাহরণ

ধরা যাক, আপনি একটি ডাটাবেস থেকে ব্যবহারকারীর আইডি এক্সট্র্যাক্ট করতে চান, যেখানে user_name = 'john'

  1. JDBC Request স্যাম্পলার তৈরি করুন এবং একটি SQL কুয়েরি (যেমন: SELECT user_id FROM users WHERE user_name = 'john') চালান।
  2. JDBC Post-Processor ব্যবহার করুন:
    • Variable Name: userID
    • Query: SELECT user_id FROM users WHERE user_name = 'john'
    • Result Variable: userID
    • Default Value: NOT_FOUND

এই কনফিগারেশনের মাধ্যমে, আপনি userID ভেরিয়েবলটিতে ব্যবহারকারীর আইডি (যেমন: 12345) সংরক্ষণ করতে পারবেন, যা পরবর্তী রিকোয়েস্টে ব্যবহৃত হবে।


সারাংশ

জেমিটার (JMeter) Regular Expression Extractor এবং JDBC Post-Processor দুটি গুরুত্বপূর্ণ উপাদান যা টেস্ট স্ক্রিপ্টে ডেটা এক্সট্র্যাকশন এবং প্রক্রিয়াকরণে সাহায্য করে। Regular Expression Extractor ব্যবহার করে আপনি সার্ভারের রেসপন্স থেকে ডাইনামিক ডেটা (যেমন টোকেন, আইডি) এক্সট্র্যাক্ট করতে পারেন, এবং JDBC Post-Processor ব্যবহার করে আপনি ডাটাবেস রেসপন্স থেকে ডেটা বের করে পরবর্তী রিকোয়েস্টে ব্যবহার করতে পারেন। এই দুটি উপাদান আপনার ওয়েব স্ক্র্যাপিং বা লোড টেস্টিং স্ক্রিপ্টকে আরও শক্তিশালী এবং ডাইনামিক করে তোলে।

Content added By

জেমিটার (JMeter) বিভিন্ন ধরনের Processors সরবরাহ করে, যা টেস্ট চলাকালীন নির্দিষ্ট সময় বা অবস্থায় প্রক্রিয়াকরণ কার্য সম্পাদন করে। দুটি প্রধান ধরনের Processor হলো Pre-Processor এবং Post-Processor। এগুলি ব্যবহার করে আপনি টেস্টের আগে বা পরে নির্দিষ্ট কার্য সম্পাদন করতে পারেন।

Pre-Processor

Pre-Processor এমন একটি প্রক্রিয়া যা একটি Sampler রান হওয়ার আগেই কার্যকর হয়। এটি সাধারণত টেস্টের শুরুর সময় কিছু কাস্টম কার্য সম্পাদন করতে ব্যবহৃত হয়, যেমন ডেটা প্রিপেয়ারেশন বা কনফিগারেশন।

Post-Processor

Post-Processor এমন একটি প্রক্রিয়া যা একটি Sampler সম্পূর্ণ হওয়ার পরে কার্যকর হয়। এটি সাধারণত রেসপন্স থেকে ডেটা এক্সট্র্যাক্ট করতে বা রেসপন্সের উপর ভিত্তি করে পরবর্তী কার্য সম্পাদন করতে ব্যবহৃত হয়।


1. Pre-Processor এর উদাহরণ

Pre-Processor ব্যবহার করার উদাহরণ: HTTP Header Manager

ধরা যাক, আপনি একটি HTTP রিকোয়েস্ট পাঠাচ্ছেন এবং তার আগে একটি কাস্টম হেডার যুক্ত করতে চান। এ ক্ষেত্রে, Pre-Processor হিসাবে আপনি HTTP Header Manager ব্যবহার করতে পারেন। এটি রিকোয়েস্টের আগে HTTP হেডারগুলিকে কনফিগার করে।

উদাহরণ:

ধরা যাক, আপনি একটি API রিকোয়েস্ট পাঠাতে চান এবং তার সাথে একটি Authorization হেডার যুক্ত করতে হবে।

স্টেপ 1: HTTP Header Manager যুক্ত করা

  • প্রথমে Thread Group এর মধ্যে রাইট ক্লিক করুন।
  • তারপর Add -> Config Element -> HTTP Header Manager সিলেক্ট করুন।

স্টেপ 2: HTTP Header Manager কনফিগারেশন

  • HTTP Header Manager এর মধ্যে নিচের হেডারটি যুক্ত করুন:
NameValue
AuthorizationBearer

স্টেপ 3: Sampler কনফিগার করা

  • পরবর্তীতে, Thread Group এর মধ্যে একটি HTTP Request Sampler যোগ করুন।
  • রিকোয়েস্টের URL, HTTP Method ইত্যাদি কনফিগার করুন।

এভাবে, Pre-Processor এর মাধ্যমে রিকোয়েস্টের আগে হেডার সেট করা হবে এবং প্রতিটি রিকোয়েস্টে এটি ব্যবহার হবে।


2. Post-Processor এর উদাহরণ

Post-Processor ব্যবহার করার উদাহরণ: Regular Expression Extractor

ধরা যাক, আপনি একটি HTTP রিকোয়েস্ট পাঠাচ্ছেন এবং তার রেসপন্স থেকে কিছু ডেটা এক্সট্র্যাক্ট করতে চান। এ ক্ষেত্রে, Post-Processor হিসাবে আপনি Regular Expression Extractor ব্যবহার করতে পারেন। এটি রেসপন্স থেকে নির্দিষ্ট প্যাটার্ন অনুসারে ডেটা এক্সট্র্যাক্ট করে।

উদাহরণ:

ধরা যাক, আপনার একটি লগইন API রিকোয়েস্ট পাঠানো হয়েছে এবং রেসপন্সে একটি session_id পাওয়া গেছে, যেটি পরবর্তী রিকোয়েস্টে ব্যবহার করতে হবে।

স্টেপ 1: Regular Expression Extractor যুক্ত করা

  • প্রথমে HTTP Request Sampler এর মধ্যে রাইট ক্লিক করুন।
  • তারপর Add -> Post Processors -> Regular Expression Extractor সিলেক্ট করুন।

স্টেপ 2: Regular Expression Extractor কনফিগারেশন

  • Regular Expression Extractor এর মধ্যে নিচের কনফিগারেশন সেট করুন:
Field NameValue
Name of created variablesession_id
Regular Expression"session_id":"(.*?)"
Template$1$
Match No.1

এটি রেসপন্স থেকে session_id এক্সট্র্যাক্ট করে একটি ভেরিয়েবল হিসেবে সংরক্ষণ করবে।

স্টেপ 3: পরবর্তী HTTP Request Sampler কনফিগারেশন

  • পরবর্তীতে, আপনি যে HTTP রিকোয়েস্টে session_id ব্যবহার করতে চান, সেখানে এই ভেরিয়েবলটি ব্যবহার করুন।

উদাহরণস্বরূপ, পরবর্তী রিকোয়েস্টে আপনি Authorization হেডারে session_id ব্যবহার করতে পারেন:

NameValue
AuthorizationBearer ${session_id}

এভাবে, Post-Processor এর মাধ্যমে রেসপন্স থেকে ডেটা এক্সট্র্যাক্ট করে পরবর্তী রিকোয়েস্টে এটি ব্যবহার করা হবে।


Pre-Processor এবং Post-Processor এর মধ্যে পার্থক্য

বৈশিষ্ট্যPre-ProcessorPost-Processor
কার্যকর হয়Sampler এর আগেSampler এর পরে
ব্যবহাররিকোয়েস্টের কনফিগারেশন বা প্রিপারেশনরেসপন্স থেকে ডেটা এক্সট্র্যাক্ট করা
বিশেষত্বরিকোয়েস্টের জন্য প্রয়োজনীয় কনফিগারেশন যেমন হেডার সেট করারেসপন্স থেকে প্রয়োজনীয় তথ্য এক্সট্র্যাক্ট করা
উদাহরণHTTP Header Manager, Pre-Request LogicRegular Expression Extractor, JSON Extractor

সারাংশ

জেমিটার (JMeter) এর Pre-Processor এবং Post-Processor আপনাকে টেস্ট চলাকালীন প্রাক-নির্ধারিত কার্য (Pre-Processing) এবং পরবর্তী কার্য (Post-Processing) পরিচালনা করতে সহায়তা করে। Pre-Processor সাধারণত রিকোয়েস্টের আগে কোনো কনফিগারেশন সেট করতে ব্যবহৃত হয়, যেমন HTTP হেডার সেট করা বা কোনো রিকোয়েস্টের প্রিপারেশন করা। Post-Processor সাধারণত রেসপন্স পাওয়ার পর ডেটা এক্সট্র্যাক্ট বা অন্যান্য কার্য সম্পাদন করতে ব্যবহৃত হয়, যেমন রেসপন্স থেকে JSON বা XML ডেটা এক্সট্র্যাক্ট করা। এই Processors গুলির মাধ্যমে আপনি জেমিটার টেস্ট প্ল্যানকে আরো কার্যকরী এবং ডায়নামিক করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...