Jmeter: วิธีปรับแต่ง/เขียนสคริปต์ใน Jmeter เพื่อจัดการสถานการณ์การอนุมัติการลา

โปรดแนะนำวิธีการปรับแต่ง/เขียนสคริปต์สถานการณ์ด้านล่างใน Jmeter สำหรับการทดสอบโหลด

สถานการณ์จำลอง: อนุมัติการลา

  1. เข้าสู่ระบบในฐานะผู้จัดการ> ไปที่รายการใบ (จะแสดงใบที่ขออนุมัติทั้งหมด)> เลือกทั้งหมดแล้วคลิกอนุมัติ

ฉันสามารถแยกค่าไดนามิกจากการตอบกลับได้ แต่ไม่สามารถเข้าใจได้ว่าฉันจะจัดการกับคำขอลาแบบไดนามิกได้อย่างไร

คำขอรายการลา: แสดงรหัสพนักงานของคำขอทั้งหมดพร้อมข้อมูลอื่นๆ (เช่น รหัส การลาจากและถึง เหตุผลและทั้งหมด)

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

คำขอที่ตามมามีข้อมูล POST ประเภทด้านล่างซึ่งสามารถแยกออกจากคำขอรายการใบไม้ได้:

{ Code:'12345', name: 'xxx', iLeaveId:2345,Type:9, stype: 'Casual',  dNoofDays: 3, sFromdate: '01 Aug 2013', sTodate: '04 Aug 2013', sFromopt: 'Full Day', sToopt: 'Full Day', Reason: 'test',}

โปรดขออภัยหากคำถามไม่ชัดเจน/การวางกรอบไม่สามารถสื่อสารได้


person la1    schedule 21.12.2017    source แหล่งที่มา
comment
เพิ่มตัวอย่างการตอบสนองที่ต้องการรับค่าไดนามิกและตัวอย่างคำขอโดยใช้ค่าไดนามิก   -  person user7294900    schedule 21.12.2017
comment
ขอบคุณสำหรับการตอบ. การตอบสนองมีดังนี้ (รหัสและชื่อ วันที่จะเปลี่ยนไปตามผู้จัดการที่เข้าสู่ระบบ){d:[[{\RowNo\:676,\EMPCODE\:\1234\,\EMP_CODE\:\ABC123\,\EMPNAME \:\test123\,\DATE\:\05 มิ.ย. 2017\,\WORKDATE\:\05 มิ.ย. 2017\,RowNo\:676,\EMPCODE\:\5678\,\EMP_CODE\:\ABC1234\,\EMPNAME\ :\test1234\,\DATE\:\05 มิ.ย. 2560\,\WORKDATE\:\05 มิ.ย. 2560\...}   -  person la1    schedule 21.12.2017
comment
และคำขอ: { รหัส: '12345' ชื่อ: 'xxx', iLeaveId:2345, ประเภท: 9, stype: 'ลำลอง', dNoofDays: 3, sFromdate: '01 ส.ค. 2556', sTodate: '04 ส.ค. 2556' , sFromopt: 'เต็มวัน', sToopt: 'เต็มวัน', เหตุผล: 'ทดสอบ',......}   -  person la1    schedule 21.12.2017
comment
ค่าไดนามิกคืออะไร? PNAME - › ชื่อ ?   -  person user7294900    schedule 21.12.2017
comment
ค่าไดนามิกได้แก่: CODE, ชื่อ, iLeaveId, stype, วันที่, เหตุผล   -  person la1    schedule 21.12.2017
comment
คุณลองเพิ่มนิพจน์ทั่วไปสำหรับแต่ละรายการหรือไม่   -  person user7294900    schedule 21.12.2017
comment
ขอบคุณที่นำทาง สามารถดึงข้อมูลโดยใช้ Reg Exp (สำหรับ mngr1 10 EmpCodes) และสามารถวางตัวแปรเหล่านี้ในคำขอได้ ฉันไม่แน่ใจว่าฉันทำสิ่งที่ถูกต้องหรือไม่ เนื่องจากผู้จัดการแต่ละคนจะมีคำขอที่แตกต่างกัน สคริปต์ที่บันทึกไว้ด้วย mngr1 มีคำขอลา 10 รายการ (คำขอ http) และผู้จัดการคนที่สองอาจมีคำขอลาน้อยกว่า (เช่น 5) แต่สคริปต์มีคำขอ 10 รายการบันทึกไว้ ดังนั้นสำหรับผู้จัดการคนที่สองมีคำขออีก 5 รายการที่ไม่เกี่ยวข้อง และขอบคุณอีกครั้งมากที่ชี้แนะ   -  person la1    schedule 21.12.2017
comment
ตัวอย่าง: ฉันได้รับค่าเอาต์พุต reg exp เป็น Match count: 10 Match[1][0]=1234...similarly สำหรับค่าอื่น ๆ ดังนั้น ฉันจำเป็นต้องวนซ้ำค่าเหล่านี้ด้วยคำขอลา 1 ครั้งมากกว่าการบันทึกคำขอ 10 รายการหรือไม่   -  person la1    schedule 21.12.2017


คำตอบ (1)


คุณควรใช้นิพจน์ทั่วไปเป็นตัวประมวลผลภายหลังเพื่อค้นหาค่าไดนามิกแต่ละค่า

สำหรับการจับค่าหลายค่า คุณควรใช้ Match No. -1 ในนิพจน์ทั่วไปและเพิ่ม ForEach Controller หลังจากนั้นซึ่งจะวนซ้ำค่าทั้งหมดโดยป้อนชื่ออ้างอิงของนิพจน์ทั่วไป :

เหมาะอย่างยิ่งสำหรับการทำงานกับโพสต์โปรเซสเซอร์นิพจน์ทั่วไป สิ่งนี้สามารถ "สร้าง" ตัวแปรอินพุตที่จำเป็นจากข้อมูลผลลัพธ์ของคำขอก่อนหน้าได้ ด้วยการละเว้นตัวคั่น "_" ตัวควบคุม ForEach สามารถใช้เพื่อวนซ้ำกลุ่มต่างๆ โดยใช้ตัวแปรอินพุต refName_g และยังสามารถวนซ้ำกลุ่มทั้งหมดในการแข่งขันทั้งหมดได้โดยใช้ตัวแปรอินพุตของแบบฟอร์ม refName_${C __g โดยที่ C เป็นตัวแปรตัวนับ

person user7294900    schedule 21.12.2017
comment
ขอบคุณสำหรับคำแนะนำอันทรงคุณค่า สามารถนำไปใช้เป็นค่าที่แยกออกมาได้เพียงค่าเดียว อย่างไรก็ตาม คำขอจะต้องได้รับค่าไดนามิก 4 ค่าในแต่ละครั้ง ด้วยตัวควบคุม ForEach ฉันสามารถทำได้เพื่อค่าไดนามิก 1 ค่า สำหรับค่าที่เหลือที่ได้รับข้อความ 'ไม่พบ' (สำหรับ 3 ค่าเหล่านี้ใช้ตัวแปร reg exp) - person la1; 21.12.2017
comment
ขอบคุณสำหรับข้อเสนอแนะทั้งหมด สามารถทำได้โดยใช้: ${__V(EMP_CODE_${__counter(,)})} สำหรับค่าไดนามิกที่เหลือภายใต้คำขอลูกของคอนโทรลเลอร์ ForEach - person la1; 21.12.2017