jMeter - ฟังก์ชั่น
ฟังก์ชัน JMeter และตัวแปรผู้ใช้
ฟังก์ชัน JMeter เป็นค่าพิเศษที่สามารถเติมฟิลด์ของแซมเพลอร์หรือองค์ประกอบอื่น ๆ ในแผนผังการทดสอบ
การเรียกใช้ฟังก์ชันมีลักษณะดังนี้ -
${__functionName(var1,var2,var3)}
_functionNameตรงกับชื่อของฟังก์ชัน ตัวอย่างเช่น${__threadNum}.
หากพารามิเตอร์ของฟังก์ชันมีเครื่องหมายจุลภาคให้ตรวจสอบว่าคุณใช้เครื่องหมาย "\" ตามที่แสดงด้านล่าง -
${__time(EEE\, d MMM yyyy)}
ตัวแปรอ้างอิงเป็น -
${VARIABLE}
รายการฟังก์ชั่น
ตารางต่อไปนี้แสดงกลุ่มของฟังก์ชันที่จัดกลุ่มไว้อย่างหลวม ๆ -
ประเภทฟังก์ชัน | ชื่อ | แสดงความคิดเห็น |
---|---|---|
ข้อมูล | ด้าย | รับหมายเลขเธรด |
ข้อมูล | samplerName | รับชื่อแซมเปิล (เลเบล) |
ข้อมูล | เครื่อง IP | รับที่อยู่ IP ของเครื่องในพื้นที่ |
ข้อมูล | ชื่อเครื่อง | รับชื่อเครื่องท้องถิ่น |
ข้อมูล | เวลา | คืนเวลาปัจจุบันในรูปแบบต่างๆ |
ข้อมูล | บันทึก | บันทึก (หรือแสดง) ข้อความ (และส่งคืนค่า) |
ข้อมูล | เข้าสู่ระบบ | บันทึก (หรือแสดง) ข้อความ (ค่าส่งคืนที่ว่างเปล่า) |
อินพุต | StringFromFile | อ่านบรรทัดจากไฟล์ |
อินพุต | FileToString | อ่านทั้งไฟล์ |
อินพุต | CSVRead | อ่านจากไฟล์ที่คั่นด้วย CSV |
อินพุต | XPath | ใช้นิพจน์ XPath เพื่ออ่านจากไฟล์ |
การคำนวณ | เคาน์เตอร์ | สร้างตัวเลขที่เพิ่มขึ้น |
การคำนวณ | intSum | เพิ่มหมายเลข int |
การคำนวณ | longSum | เพิ่มตัวเลขยาว |
การคำนวณ | สุ่ม | สร้างตัวเลขสุ่ม |
การคำนวณ | RandomString | สร้างสตริงแบบสุ่ม |
การคำนวณ | UUID | สร้าง UUID ประเภท 4 แบบสุ่ม |
การเขียนสคริปต์ | เปลือกถั่ว | เรียกใช้สคริปต์ BeanShell |
การเขียนสคริปต์ | javaScript | ประมวลผล JavaScript (Mozilla Rhino) |
การเขียนสคริปต์ | jexl, jexl2 | ประเมินนิพจน์ทั่วไปของ Jexl |
คุณสมบัติ | ทรัพย์สิน | อ่านคุณสมบัติ |
คุณสมบัติ | ป | อ่านคุณสมบัติ (วิธีการจดชวเลข) |
คุณสมบัติ | setProperty | ตั้งค่าคุณสมบัติ JMeter |
ตัวแปร | แยก | แยกสตริงออกเป็นตัวแปร |
ตัวแปร | V | ประเมินชื่อตัวแปร |
ตัวแปร | ประเมิน | ประเมินนิพจน์ตัวแปร |
ตัวแปร | evalVar | ประเมินนิพจน์ที่เก็บไว้ในตัวแปร |
สตริง | regexFunction | แยกวิเคราะห์คำตอบก่อนหน้าโดยใช้นิพจน์ทั่วไป |
สตริง | escapeOroRegexpChars | อ้างข้อความเมตาที่ใช้โดยนิพจน์ทั่วไปของ ORO |
สตริง | ถ่าน | สร้างค่า Unicode char จากรายการตัวเลข |
สตริง | unescape | ประมวลผลสตริงที่มี Java Escape (เช่น \ n & \ t) |
สตริง | unescapeHtml | ถอดรหัสสตริงที่เข้ารหัส HTML |
สตริง | EscapeHtml | เข้ารหัสสตริงโดยใช้การเข้ารหัส HTML |
สตริง | TestPlanName | ชื่อส่งคืนของแผนการทดสอบปัจจุบัน |
มีฟังก์ชันสองประเภท -
ค่าคงที่ที่ผู้ใช้กำหนดเอง (หรือตัวแปร)
ฟังก์ชั่นในตัว
ค่าคงที่ที่ผู้ใช้กำหนดเองอนุญาตให้ผู้ใช้กำหนดตัวแปรที่จะถูกแทนที่ด้วยค่าคงที่เมื่อมีการคอมไพล์และส่งแผนผังทดสอบเพื่อรัน
ไม่สามารถซ้อนตัวแปรได้ กล่าวคือ${Var${N}} ไม่ทำงาน, ไม่เป็นผล.
สามารถใช้ฟังก์ชัน __V (ตัวแปร) (เวอร์ชันหลัง 2.2) ได้ - $ {__ V (Var $ {N})}
การเปลี่ยนประเภทนี้ทำได้โดยไม่ต้องใช้ฟังก์ชัน แต่สะดวกน้อยกว่าและใช้งานง่ายน้อยกว่า
ใช้ฟังก์ชันและตัวแปรได้ที่ไหน
ฟังก์ชันและตัวแปรสามารถเขียนลงในฟิลด์ของส่วนประกอบการทดสอบใดก็ได้
ฟังก์ชันต่อไปนี้ควรทำงานได้ดีในแผนการทดสอบ -
- intSum
- longSum
- machineName
- BeanShell
- javaScript
- jexl
- random
- time
- ฟังก์ชันคุณสมบัติ
- ฟังก์ชันบันทึก
ฟังก์ชันที่ใช้ในแผนการทดสอบมีข้อ จำกัด บางประการ ตัวแปรเธรด JMeter จะไม่ได้รับการตั้งค่าอย่างสมบูรณ์เมื่อมีการประมวลผลฟังก์ชันดังนั้นชื่อตัวแปรที่ส่งผ่านเนื่องจากพารามิเตอร์จะไม่ถูกตั้งค่าและการอ้างอิงตัวแปรจะไม่ทำงาน ดังนั้นการแยก ()และregex ()และฟังก์ชันการประเมินตัวแปรจะไม่ทำงาน threadNum ()ฟังก์ชั่นจะไม่ทำงานและมันก็ไม่ได้ทำให้ความรู้สึกในระดับการวางแผนการทดสอบ
การอ้างอิงตัวแปรและฟังก์ชัน
การอ้างอิงตัวแปรในองค์ประกอบทดสอบทำได้โดยการใส่วงเล็บชื่อตัวแปรด้วย "$ {" และ "}"
มีการอ้างอิงฟังก์ชันในลักษณะเดียวกัน แต่ตามแบบแผนชื่อของฟังก์ชันจะขึ้นต้นด้วย "__" เพื่อหลีกเลี่ยงความขัดแย้งกับชื่อค่าของผู้ใช้
บางฟังก์ชันใช้อาร์กิวเมนต์เพื่อกำหนดค่าและสิ่งเหล่านี้จะอยู่ในวงเล็บคั่นด้วยเครื่องหมายจุลภาค ถ้าฟังก์ชันไม่มีอาร์กิวเมนต์สามารถละเว้นวงเล็บได้ ตัวอย่างเช่น -
${__BeanShell(vars.put("name"\,"value"))}
หรือคุณสามารถกำหนดสคริปต์ของคุณเป็นตัวแปรเช่นในแผนทดสอบ -
SCRIPT vars.put("name","value")
จากนั้นสคริปต์สามารถอ้างอิงได้ดังนี้ -
${__BeanShell(${SCRIPT})}
กล่องโต้ตอบตัวช่วยฟังก์ชัน
กล่องโต้ตอบตัวช่วยฟังก์ชันมีให้จาก JMeter's Options แท็บ
เมื่อใช้ตัวช่วยฟังก์ชันคุณสามารถเลือกฟังก์ชันจากรายการแบบดึงลงและกำหนดค่าสำหรับอาร์กิวเมนต์ได้ คอลัมน์ทางซ้ายในตารางแสดงคำอธิบายสั้น ๆ ของอาร์กิวเมนต์และคอลัมน์ทางขวาคือที่ที่คุณเขียนค่าสำหรับอาร์กิวเมนต์นั้น ฟังก์ชันต่างๆรับอาร์กิวเมนต์ต่างกัน
เมื่อคุณทำเสร็จแล้วให้คลิกปุ่ม "สร้าง" จากนั้นสตริงที่เหมาะสมจะถูกสร้างขึ้นซึ่งคุณสามารถคัดลอกวางลงในแผนการทดสอบได้ทุกที่ที่คุณต้องการ
ตัวแปรที่กำหนดไว้ล่วงหน้า
ตัวแปรบางตัวถูกกำหนดไว้ภายในโดย JMeter พวกเขาคือ -
COOKIE_cookiename - มีค่าคุกกี้
JMeterThread.last_sample_ok - ตกลงว่าตัวอย่างสุดท้ายเป็นจริงหรือไม่ หมายเหตุ - อัปเดตหลังจากที่เรียกใช้ PostProcessors และ Assertions แล้ว
เริ่มตัวแปร
คุณสมบัติที่กำหนดไว้ล่วงหน้า
คุณสมบัติในตัวบางอย่างถูกกำหนดโดย JMeter เหล่านี้แสดงไว้ด้านล่าง เพื่อความสะดวกคุณสมบัติ START จะถูกคัดลอกไปยังตัวแปรที่มีชื่อเดียวกัน
START.MS - เวลาเริ่มต้นของ JMeter ในหน่วยมิลลิวินาที
START.YMD - เวลาเริ่มต้น JMeter เป็น yyyyMMdd
START.HMS - เวลาเริ่มต้น JMeter เป็น HHmmss
TESTSTART.MS - เวลาเริ่มต้นการทดสอบในหน่วยมิลลิวินาที
โปรดสังเกตว่าตัวแปร / คุณสมบัติ START แสดงเวลาเริ่มต้นของ JMeter ไม่ใช่เวลาเริ่มการทดสอบ ส่วนใหญ่มีไว้สำหรับใช้ในชื่อไฟล์เป็นต้น