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 เป็นโมฆะ)