jMeter - องค์ประกอบแผนการทดสอบ

แผนการทดสอบ JMeter ประกอบด้วยองค์ประกอบการทดสอบที่กล่าวถึงด้านล่าง แผนการทดสอบประกอบด้วยกลุ่มเธรดอย่างน้อยหนึ่งกลุ่ม ภายในกลุ่มเธรดแต่ละกลุ่มเราอาจวางองค์ประกอบอื่น ๆ อย่างน้อยหนึ่งองค์ประกอบรวมกัน - แซมเพลอร์ตัวควบคุมลอจิกองค์ประกอบการกำหนดค่า Listener และตัวจับเวลา ตัวอย่างแต่ละตัวสามารถนำหน้าด้วยองค์ประกอบก่อนตัวประมวลผลอย่างน้อยหนึ่งองค์ประกอบตามด้วยองค์ประกอบหลังตัวประมวลผลและ / หรือองค์ประกอบการยืนยัน ให้เราดูรายละเอียดแต่ละองค์ประกอบเหล่านี้ -

กลุ่มเธรด

องค์ประกอบกลุ่มเธรดเป็นจุดเริ่มต้นของแผนการทดสอบของคุณ ตามชื่อที่แนะนำองค์ประกอบกลุ่มเธรดจะควบคุมจำนวนเธรดที่ JMeter จะใช้ในระหว่างการทดสอบ นอกจากนี้เรายังสามารถควบคุมสิ่งต่อไปนี้ผ่านกลุ่มเธรด -

  • การตั้งค่าจำนวนเธรด

  • การตั้งค่าเวลาทางลาด

  • การตั้งค่าจำนวนการทดสอบซ้ำ

แผงควบคุมกลุ่มเธรดมีลักษณะดังนี้ -

Thread Group Panel มีส่วนประกอบต่อไปนี้ -

  • Action to be taken after a Sampler error - ในกรณีที่มีข้อผิดพลาดเกิดขึ้นระหว่างการดำเนินการทดสอบคุณสามารถปล่อยให้ทดสอบได้ -

    • Continue ไปยังองค์ประกอบถัดไปในการทดสอบ

    • Stop Thread เพื่อหยุดเธรดปัจจุบัน

    • Stop Test อย่างสมบูรณ์ในกรณีที่คุณต้องการตรวจสอบข้อผิดพลาดก่อนที่จะทำงานต่อไป

  • Number of Threads - จำลองจำนวนผู้ใช้หรือการเชื่อมต่อกับแอปพลิเคชันเซิร์ฟเวอร์ของคุณ

  • Ramp-Up Period กำหนดระยะเวลาที่ JMeter จะรันเธรดทั้งหมด

  • Loop Count - กำหนดจำนวนครั้งในการดำเนินการทดสอบ

  • Scheduler checkbox - เมื่อเลือกแล้วส่วนการกำหนดค่าตัวกำหนดเวลาจะปรากฏที่ด้านล่างของแผงควบคุม

  • Scheduler Configuration - คุณสามารถกำหนดเวลาเริ่มต้นและเวลาสิ้นสุดของการดำเนินการทดสอบได้

ตัวควบคุม

JMeter มีสองประเภทของการควบคุม - แซมเพลอและลอจิกคอนโทรลเลอร์

ตัวอย่าง

แซมเปิลอนุญาตให้ JMeter ส่งคำร้องบางประเภทไปยังเซิร์ฟเวอร์ พวกเขาจำลองคำขอของผู้ใช้สำหรับเพจจากเซิร์ฟเวอร์เป้าหมาย ตัวอย่างเช่นคุณสามารถเพิ่มตัวอย่างคำขอ HTTP ได้หากคุณต้องการดำเนินการ POST, GET หรือ DELETE บนบริการ HTTP

ตัวอย่างที่มีประโยชน์ ได้แก่ -

  • คำขอ HTTP
  • คำขอ FTP
  • คำขอ JDBC
  • คำขอ Java
  • คำขอ SOAP / XML
  • คำขอ RPC

ภาพหน้าจอต่อไปนี้แสดงแผงควบคุม HTTP Request Sampler -

ตัวควบคุมลอจิก

Logic Controllers ช่วยให้คุณสามารถควบคุมลำดับการประมวลผลของแซมเพลอร์ในเธรด ตัวควบคุมลอจิกสามารถเปลี่ยนลำดับของคำขอที่มาจากองค์ประกอบลูกของตนได้ ตัวอย่างบางส่วน ได้แก่ - ForEach Controller, While Controller, Loop Controller, IF Controller, Run Time Controller, Interleave Controller, Throughput Controller และ Run Once Controller

ภาพหน้าจอต่อไปนี้แสดงแผงควบคุม Loop Controller -

รายการต่อไปนี้ประกอบด้วย Logic Controllers ที่ JMeter มีให้ -

  • คอนโทรลเลอร์อย่างง่าย
  • ตัวควบคุมลูป
  • ตัวควบคุมครั้งเดียว
  • ตัวควบคุม Interleave
  • ตัวควบคุมแบบสุ่ม
  • ตัวควบคุมคำสั่งสุ่ม
  • ตัวควบคุมปริมาณงาน
  • ตัวควบคุมรันไทม์
  • ถ้า Controller
  • ในขณะที่ตัวควบคุม
  • สวิตช์ควบคุม
  • สำหรับแต่ละคอนโทรลเลอร์
  • ตัวควบคุมโมดูล
  • รวมตัวควบคุม
  • ตัวควบคุมธุรกรรม
  • ตัวควบคุมการบันทึก

ชิ้นส่วนทดสอบ

Test Fragment คือองค์ประกอบชนิดพิเศษที่วางไว้ในระดับเดียวกับองค์ประกอบกลุ่มเธรด มีความแตกต่างจากกลุ่มเธรดที่จะไม่ถูกเรียกใช้งานเว้นแต่จะมีการอ้างอิงโดยตัวควบคุมโมดูลหรือตัวควบคุมรวม องค์ประกอบนี้ใช้สำหรับการใช้โค้ดซ้ำภายในแผนการทดสอบเท่านั้น

ผู้ฟัง

Listeners ให้คุณดูผลลัพธ์ของแซมเพลอร์ในรูปแบบของตารางกราฟต้นไม้หรือข้อความง่ายๆในไฟล์บันทึกบางไฟล์ พวกเขาให้การเข้าถึงด้วยภาพไปยังข้อมูลที่รวบรวมโดย JMeter เกี่ยวกับกรณีทดสอบเนื่องจากคอมโพเนนต์ Sampler ของ JMeter ถูกดำเนินการ

สามารถเพิ่มผู้ฟังได้ทุกที่ในการทดสอบรวมถึงโดยตรงภายใต้แผนการทดสอบ พวกเขาจะรวบรวมข้อมูลจากองค์ประกอบที่ระดับหรือต่ำกว่าเท่านั้น รายการต่อไปนี้ประกอบด้วย Listeners JMeter ให้ -

  • ตัวอย่างผลลัพธ์บันทึกการกำหนดค่า
  • สร้างกราฟผลลัพธ์แบบเต็ม
  • ผลลัพธ์ของกราฟ
  • Spline Visualizer
  • ผลการยืนยัน
  • ดูแผนผังผลลัพธ์
  • รายงานรวม
  • ดูผลลัพธ์ในตาราง
  • ผู้เขียนข้อมูลอย่างง่าย
  • ตรวจสอบผลลัพธ์
  • กราฟการแจกแจง (อัลฟา)
  • กราฟรวม
  • Mailer Visualizer
  • ผู้ฟัง BeanShell
  • รายงานสรุป

ตัวจับเวลา

ตามค่าเริ่มต้นเธรด JMeter จะส่งคำขอโดยไม่หยุดชั่วคราวระหว่างแต่ละตัวอย่าง นี่อาจไม่ใช่สิ่งที่คุณต้องการ คุณสามารถเพิ่มองค์ประกอบตัวจับเวลาซึ่งช่วยให้คุณกำหนดช่วงเวลารอระหว่างแต่ละคำขอได้

รายการต่อไปนี้แสดงตัวจับเวลาทั้งหมดที่ JMeter มีให้ -

  • จับเวลาคงที่
  • Gaussian Random Timer
  • ตัวจับเวลาสุ่มเครื่องแบบ
  • ตัวจับเวลาปริมาณงานคงที่
  • กำลังซิงโครไนซ์ตัวจับเวลา
  • JSR223 เวลา
  • เวลาเปลือกถั่ว
  • เวลา BSF
  • เวลาสุ่มปัวซอง

ภาพหน้าจอต่อไปนี้แสดงแผงควบคุมตัวตั้งเวลาคงที่ -

การยืนยัน

การยืนยันช่วยให้คุณสามารถรวมการทดสอบการตรวจสอบความถูกต้องบางอย่างเกี่ยวกับการตอบสนองคำขอของคุณที่ทำโดยใช้ Sampler การใช้การยืนยันคุณสามารถพิสูจน์ได้ว่าแอปพลิเคชันของคุณส่งคืนข้อมูลที่ถูกต้อง JMeter ไฮไลต์เมื่อการยืนยันล้มเหลว

รายการต่อไปนี้ประกอบด้วยการยืนยันทั้งหมดที่ JMeter ให้ไว้ -

  • การยืนยัน Beanshell
  • การยืนยัน BSF
  • เปรียบเทียบ Assertion
  • การยืนยัน JSR223
  • การยืนยันการตอบสนอง
  • การยืนยันระยะเวลา
  • การยืนยันขนาด
  • การยืนยัน XML
  • การยืนยัน BeanShell
  • การยืนยัน MD5Hex
  • HTML Assertion
  • การยืนยัน XPath
  • XML Schema Assertion

ภาพหน้าจอต่อไปนี้แสดงแผงควบคุมการยืนยันการตอบกลับ -

องค์ประกอบการกำหนดค่า

Configuration Elements ช่วยให้คุณสามารถสร้างค่าเริ่มต้นและตัวแปรที่จะใช้โดย Samplers ใช้เพื่อเพิ่มหรือแก้ไขคำขอที่แซมเปิลทำขึ้น

พวกมันจะถูกดำเนินการในช่วงเริ่มต้นของขอบเขตที่พวกมันเป็นส่วนหนึ่งก่อนแซมเพลอร์ใด ๆ ที่อยู่ในขอบเขตเดียวกัน ดังนั้นองค์ประกอบการกำหนดค่าจะเข้าถึงได้จากภายในสาขาที่วางไว้เท่านั้น

รายการต่อไปนี้ประกอบด้วย Configuration Elements ทั้งหมดที่ JMeter มีให้ -

  • Counter
  • การกำหนดค่าชุดข้อมูล CSV
  • ค่าเริ่มต้นของคำขอ FTP
  • HTTP Authorization Manager
  • HTTP Cache Manager
  • HTTP Cookie Manager
  • HTTP Proxy Server
  • ค่าเริ่มต้นคำขอ HTTP
  • ตัวจัดการส่วนหัว HTTP
  • ค่าเริ่มต้นของคำขอ Java
  • การกำหนดค่า Keystore
  • การกำหนดค่าการเชื่อมต่อ JDBC
  • องค์ประกอบการกำหนดค่าการเข้าสู่ระบบ
  • ค่าเริ่มต้นของคำขอ LDAP
  • ค่าเริ่มต้นของคำขอขยาย LDAP
  • การกำหนดค่า TCP Sampler
  • ตัวแปรที่กำหนดโดยผู้ใช้
  • องค์ประกอบการกำหนดค่าอย่างง่าย
  • ตัวแปรสุ่ม

องค์ประกอบก่อนโปรเซสเซอร์

องค์ประกอบก่อนตัวประมวลผลคือสิ่งที่ทำงานก่อนที่แซมเปิลจะดำเนินการ มักใช้เพื่อแก้ไขการตั้งค่าของคำขอตัวอย่างก่อนที่จะรันหรือเพื่ออัปเดตตัวแปรที่ไม่ได้แยกออกจากข้อความตอบกลับ

รายการต่อไปนี้ประกอบด้วยองค์ประกอบก่อนตัวประมวลผลทั้งหมดที่ JMeter มีให้ -

  • HTML Link Parser
  • ตัวแก้ไขการเขียน URL ใหม่ของ HTTP
  • ตัวปรับเปลี่ยนพารามิเตอร์ผู้ใช้ HTTP
  • พารามิเตอร์ผู้ใช้
  • JDBC พรีโปรเซสเซอร์
  • JSR223 พรีโปรเซสเซอร์
  • พารามิเตอร์ผู้ใช้ RegEx
  • พรีโปรเซสเซอร์ BeanShell
  • พรีโปรเซสเซอร์ BSF

องค์ประกอบหลังโปรเซสเซอร์

โพสต์โปรเซสเซอร์เรียกใช้งานหลังจากแซมเปิลดำเนินการเสร็จสิ้น องค์ประกอบนี้มักใช้ในการประมวลผลข้อมูลการตอบกลับตัวอย่างเช่นเพื่อดึงค่าเฉพาะเพื่อใช้ในภายหลัง

รายการต่อไปนี้ประกอบด้วยองค์ประกอบหลังโปรเซสเซอร์ทั้งหมดที่ JMeter มีให้ -

  • ตัวแยกนิพจน์ทั่วไป
  • XPath Extractor
  • ตัวจัดการการดำเนินการสถานะผลลัพธ์
  • JSR223 PostProcessor
  • JDBC PostProcessor
  • BSF PostProcessor
  • CSS / JQuery Extractor
  • BeanShell PostProcessor
  • Debug PostProcessor

ลำดับการดำเนินการขององค์ประกอบการทดสอบ

ต่อไปนี้เป็นลำดับการดำเนินการขององค์ประกอบแผนการทดสอบ -

  • องค์ประกอบการกำหนดค่า
  • Pre-Processors
  • Timers
  • Sampler
  • Post-Processors (ยกเว้นว่า SampleResult เป็นโมฆะ)
  • การยืนยัน (เว้นแต่ SampleResult เป็นโมฆะ)
  • Listeners (เว้นแต่ว่า SampleResult เป็นโมฆะ)