วิธีใช้ Assertions ใน JMeter (ตัวอย่างการตอบสนอง)
การยืนยันคืออะไร?
ความช่วยเหลือในการยืนยันจะตรวจสอบว่าเซิร์ฟเวอร์ของคุณที่อยู่ระหว่างการทดสอบส่งคืนไฟล์ ที่คาดหวัง ผล.
ประเภทของการยืนยัน
ต่อไปนี้เป็นคำยืนยันที่ใช้กันทั่วไปใน JMeter:
- การยืนยันการตอบสนอง
- การยืนยันระยะเวลา
- การยืนยันขนาด
- การยืนยัน XML
- การยืนยัน HTML
- ขั้นตอนการใช้การยืนยันการตอบสนอง
การยืนยันการตอบสนอง
การยืนยันการตอบสนองทำให้คุณสามารถเพิ่มสตริงรูปแบบเพื่อเปรียบเทียบกับฟิลด์ต่างๆ ของการตอบกลับของเซิร์ฟเวอร์
ตัวอย่างเช่น คุณส่งคำขอของผู้ใช้ไปยังเว็บไซต์ http://www.google.com และรับการตอบกลับของเซิร์ฟเวอร์ คุณสามารถใช้ Response Assertion เพื่อตรวจสอบว่าการตอบสนองของเซิร์ฟเวอร์หรือไม่ มี สตริงรูปแบบที่คาดหวัง (เช่น "ตกลง")
การยืนยันระยะเวลา
การทดสอบการยืนยันระยะเวลาว่าแต่ละการตอบสนองของเซิร์ฟเวอร์ได้รับภายใน จำนวนเงินที่กำหนด ของเวลา การตอบสนองใดๆ ที่ใช้เวลานานกว่าจำนวนมิลลิวินาทีที่กำหนด (ระบุโดยผู้ใช้) จะถูกทำเครื่องหมายว่าเป็นการตอบสนองที่ล้มเหลว
ตัวอย่างเช่น คำขอของผู้ใช้จะถูกส่งไปยัง www.google.com by JMeter และได้รับคำตอบภายใน ที่คาดหวัง เวลา 5 มิลลิวินาทีแล้ว กรณีทดสอบ ผ่าน มิฉะนั้น กรณีทดสอบล้มเหลว
การยืนยันขนาด
การยืนยันขนาดจะทดสอบว่าแต่ละการตอบสนองของเซิร์ฟเวอร์มีจำนวนไบต์ที่คาดหวังไว้ คุณสามารถระบุว่าขนาดจะเท่ากับ มากกว่า น้อยกว่า หรือไม่เท่ากับจำนวนไบต์ที่กำหนด
JMeter ส่งคำขอของผู้ใช้ไปที่ www.google.com และรับแพ็กเก็ตตอบกลับที่มีขนาดน้อยกว่า ที่คาดหวัง ไบต์ 5000 ไบต์ต่อกรณีทดสอบ หากเป็นอย่างอื่น กรณีทดสอบล้มเหลว
การยืนยัน XML
การขอ XML การยืนยันจะทดสอบว่าข้อมูลตอบกลับประกอบด้วยเอกสาร XML ที่ถูกต้องอย่างเป็นทางการ
การยืนยัน HTML
การยืนยัน HTML อนุญาตให้ผู้ใช้ตรวจสอบไวยากรณ์ HTML ของข้อมูลการตอบสนอง หมายความว่าข้อมูลการตอบสนองจะต้องเป็นไปตามไวยากรณ์ HTML
ขั้นตอนการใช้การยืนยันการตอบสนอง
เราจะดำเนินการต่อด้วยสคริปต์ที่เราพัฒนาไปก่อนหน้านี้ เกี่ยวกับการสอน.
ในการทดสอบนี้เราใช้ การยืนยันการตอบสนอง เพื่อเปรียบเทียบแพ็กเก็ตการตอบกลับจาก www.google.com ตรงกับสตริงที่คุณคาดหวัง
ที่นี่คือ แผนงาน สำหรับการทดสอบนี้:
แผงควบคุมการยืนยันการตอบสนองช่วยให้คุณเพิ่มสตริงรูปแบบเพื่อเปรียบเทียบกับฟิลด์ต่างๆ ของการตอบกลับ
ขั้นตอนที่ 1) เพิ่มการยืนยันการตอบสนอง
คลิกขวา กลุ่มกระทู้ -> เพิ่ม -> การยืนยัน -> การยืนยันการตอบสนอง
บานหน้าต่างการยืนยันการตอบสนองจะแสดงดังรูปด้านล่าง:
ขั้นตอนที่ 2) เพิ่มรูปแบบเพื่อทดสอบ
เมื่อคุณส่งคำขอไปยังเซิร์ฟเวอร์ของ Google คำขอนั้นอาจส่งคืนบางส่วน รหัสตอบกลับ ที่ด้านล่าง:
- 404: เซิร์ฟเวอร์ผิดพลาด
- 200: เซิร์ฟเวอร์ตกลง
- 302: เว็บเซิร์ฟเวอร์เปลี่ยนเส้นทางไปยังหน้าอื่น ซึ่งมักเกิดขึ้นเมื่อคุณเข้าถึง google.com จากนอกสหรัฐอเมริกา Google เปลี่ยนเส้นทางไปยังเว็บไซต์เฉพาะประเทศ ดังที่แสดงด้านล่าง google.com เปลี่ยนเส้นทางไปยัง google.co.in สำหรับผู้ใช้ชาวอินเดีย
สมมติว่าคุณต้องการตรวจสอบว่าโค้ดตอบกลับของเว็บเซิร์ฟเวอร์ google.com มีรูปแบบหรือไม่ 302,
On ฟิลด์การตอบสนองที่จะทดสอบ, เลือกรหัสตอบกลับ,
บนแผงการยืนยันการตอบสนอง คลิก เพิ่ม -> การแสดงรายการว่างใหม่ -> ป้อน 302 ในรูปแบบที่จะทดสอบ
ขั้นตอนที่ 3) เพิ่มผลลัพธ์การยืนยัน
คลิกขวาที่กลุ่มเธรด เพิ่ม -> ผู้ฟัง -> ผลการยืนยัน
ขั้นตอนที่ 4) ดำเนินการทดสอบของคุณ
คลิกที่กลุ่มกระทู้ -> ผลการยืนยัน
เมื่อคุณพร้อมที่จะทำการทดสอบแล้ว คลิก วิ่ง บนแถบเมนูหรือปุ่มลัด Ctrl + อาร์
ผลการทดสอบจะแสดงในบานหน้าต่างผลการยืนยัน หากเซิร์ฟเวอร์ Google รหัสตอบกลับ ประกอบด้วยรูปแบบ 302กรณีทดสอบคือ ผ่านไป. คุณจะเห็นข้อความแสดงดังต่อไปนี้:
ตอนนี้กลับไปที่แผงการยืนยันการตอบสนอง คุณเปลี่ยนรูปแบบที่จะทดสอบจาก 302 เป็น 500
เนื่องจากโค้ดตอบกลับของเซิร์ฟเวอร์ Google ไม่มีรูปแบบนี้ คุณจะเห็นกรณีทดสอบ ล้มเหลว ดังต่อไปนี้:
การแก้ไขปัญหา
หากคุณประสบปัญหาขณะดำเนินการตามสถานการณ์ข้างต้น … ให้ทำดังต่อไปนี้:
- ตรวจสอบว่าคุณเชื่อมต่ออินเทอร์เน็ตผ่านพรอกซีหรือไม่ ถ้าใช่ ให้ลบพรอกซีออก
- เปิดตัวอย่างใหม่ของ JMeter
- เปิด การยืนยันTestPlan.jmx in JMeter
- คลิกที่กลุ่มเธรด -> ผลการยืนยัน
- เรียกใช้การทดสอบ