บทความ

กำลังแสดงโพสต์จาก กุมภาพันธ์, 2015

[Tutorial] JMeter - Process JSON response with BeanShell Processor

รูปภาพ
บ่อยครั้งที่ request body นั้นต้องการเอาค่าจาก response ของอีก service หนึ่ง.
JMeter ได้เตรียมเครื่องมือเอาไว้ extract data จาก response เอาไว้ให้หลายแบบด้วยกัน. แต่ทว่าในกรณีที่ response นั้นมีโครงสร้างซับซ้อน เช่น JSON หรือ XML, เราอาจจะต้องเขียนโปรแกรมเพื่อประมวลผล response ด้วยตัวเอง. ในบทความนี้จะแสดงตัวอย่างการประมวลผล response ที่เป็น JSON โดยใช้ BeanShell Processor.
เตรียม Library เพื่อประมวลผล JSONเริ่มต้นด้วยการไปโหลด library สำหรับจัดการ JSON มาก่อนนะฮะ. โดยส่วนตัวผมชอบใช้ json-simple, สามารถ download JAR ได้จาก https://code.google.com/p/json-simple/ มองหาคำว่า Downloads จากเมนูซ้ายมือ ให้เลือกโหลดไฟล์ .jar นะฮะ. ยกตัวอย่างเช่น json-simple-1.1.1.jar.จากนั้นให้ copy json-simple-1.1.1.jar ไปวางใน folder lib ที่อยู่ภายใน folder ของ JMeter. เช่น \apache-jmeter-2.12\lib ดัง Figure 1.

เป็นอันเสร็จสิ้นการเตรียมการ ต่อไปให้เปิด JMeter ขึ้นมาเลยฮะ.


การประมวลผล JSON ในตัวอย่างนี้ บัวบานจะประมวลผล JSON ที่ได้จาก auto-suggest service ของ google ให้ชม. โดยจะใช้ keyword ว่า "json …

[Tutorial] Performance test web application that needs credentials using JMeter (Windows platform)

รูปภาพ
บทความนี้บัวบานจะกล่าวถึงการทำ Performance test Web application ที่มีการ authenticate โดยตัว web application เองนะฮะ. ในอนาคตจะมีบทความใหม่เกี่ยวกับ authenticate ด้วย windows authentication.

โดยปกติแล้วการ authenticate ด้วยตัว application เองนั้นมักจะใช้วิธีใส่ username และ password ผ่าน web form แล้วให้ user submit form นั้น, ต่อมาฝั่ง application บน server ก็จะตรวจสอบตัวตน (Authenticate) และตรวจสอบสิทธิ์ (Authorization), ผลลัพธ์สุดท้าย ฝั่ง application บน server จะมอบ token กลับมาหนึ่งชุด (token ก็คือ string อะไรสักอย่างหนึ่ง)  ให้ web browser ของ client เก็บไว้ โดยมักจะจัดเก็บ token นั้นไว้ใน cookies.

Workflow of Testing
Figure 1 แสดง Workflow ของการทำ performance test web application ที่ทำ authenticate โดยตัว web application เอง. แบ่งเป็นขั้นตอนดังนี้ Open Login page and Extract VIEWSTATE
จุดประสงค์เพื่อเก็บ token บางอย่างที่อาจจะต้องใช้ในการ submit login form เช่น viewstate. เราต้องให้ JMeter ส่ง request ไปที่ URL ของ Login page, แล้วเก็บค่าที่ต้องการไว้ในตัวแปร.Submit login form
ส่…