ฉันต้องการรวมผลลัพธ์การยืนยันทั้งหมดของฉันและส่งไปเป็นส่วนเนื้อหาของตัวอย่าง SMTP ของฉันใน Jmeter ฉันจะทำมันได้อย่างไร?
รวมผลลัพธ์การยืนยันทั้งหมดแล้วส่งไปเป็นส่วนเนื้อหาของตัวอย่าง SMTP ใน Jmeter
คำตอบ (2)
โดยปกติ JMeter จะจัดเก็บผลลัพธ์การยืนยันทั้งหมดไว้ในไฟล์ผลลัพธ์ .jtl ดังนั้นเมื่อคุณ เรียกใช้ ทดสอบในโหมดบรรทัดคำสั่งที่ไม่ใช่ GUI เช่น:
jmeter -n -t test.jmx -l result.csv
ไฟล์ result.csv
ของคุณควรมีคอลัมน์ failureMessage
ที่มีรายละเอียดการยืนยันความล้มเหลวทั้งหมด
หากไม่เป็นเช่นนั้น ตรวจสอบให้แน่ใจว่าได้เพิ่มบรรทัดถัดไปใน user.properties ไฟล์:
jmeter.save.saveservice.assertion_results_failure_message=true
ทางเลือกอื่น (แม้ว่าฉันจะไม่แนะนำก็ตาม) คือการรวบรวมความล้มเหลวในการยืนยันระหว่างกาลในคุณสมบัติ JMeter ที่เกี่ยวข้องเช่น:
- เพิ่ม JSR223 Listener ไปยังกลุ่มเธรดหลักของคุณที่ระดับเดียวกับ Sampler ของคุณ ( หรือเป็นไปตามกฎการกำหนดขอบเขตของ JMeter)
ใส่รหัสต่อไปนี้ลงในพื้นที่ "สคริปต์":
def assertionResults = props.get('assertionResults') def resultBuilder = new StringBuilder() if (assertionResults == null) { props.put('assertionResults', '') } else { resultBuilder.append(assertionResults) } if (!prev.isSuccessful()) { prev.getAssertionResults().each { assertionResult -> resultBuilder.append(assertionResult.getFailureMessage()).append(System.getProperty('line.separator')) } } props.put('assertionResults', resultBuilder.toString())
เพิ่ม tearDown Thread Group ลงในแผนการทดสอบของคุณ
อ้างอิงข้อมูลการยืนยันแบบรวมโดยใช้ __P() function เป็น
${__P(assertionResults,)}
ในกรณีที่จำเป็น เช่น ในส่วน "ข้อความ":
ฉันได้ผลลัพธ์ดังต่อไปนี้ตามการยืนยันของฉัน:
เป็นไปได้ไหมที่จะลบค่าว่างออกไป หรือจะดีกว่านี้ถ้าฉันสามารถให้เนื้อหาอีเมลเหมือนกับผลลัพธ์การยืนยัน ผลการยืนยัน