บทความ

กำลังแสดงโพสต์จาก 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. Figure 1 Address ของ folder lib  เป็นอันเสร็จสิ้นการเตรียมการ ต่อไปให้เปิด JMeter ขึ้นมาเลยฮะ. การประมวลผล JSON ในตัวอย่างนี้ บัวบานจะประมวลผล 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 ที่ต้องการ credentials Figure 1 แสดง Workflow ของการทำ performance test web application ที่ทำ authenticate โดยตัว web application เอง. แบ่งเป็นขั้นตอนดังนี้ Open Login page and Extract VIEWSTATE จุดประสงค์เพื่อเก็บ token บางอย่างที่อาจจะต้องใช้ในการ submit login form เช่น view

[Tutorial] Server side web application performance test using JMeter (Windows platform)

รูปภาพ
มี tools จำนวนมากในตลาดที่ช่วยในการทำ performance test นะฮะ. JMeter (by apache) น่าจะเป็นตัวเก๋าที่ทุกๆคนรู้จัก. มีข้อดีหลักๆคือ อยู่มานาน ทำให้มี tutorial เยอะ, รองรับการใช้งานหลากหลาย เช่น http, SOAP, JDBC, MongoDB, LDAP, TCP, ..., และมีลูกเล่นเยอะแยะ เช่นใส่ script นู่นนี่เพื่อประมวลผล response, assert response, monitor response. บัวบานขอนำเสนอวิธีการใช้ JMeter ทำ performance test Web Application แบบง่ายๆ. เปิด JMeter เข้าไปที่ folder \bin แล้ว execute file jmeter.bat. Figure 1 แสดง folder bin ของ JMeter. Figure 1 Location ของ jmeter.bat Add Thread Group คลิกขวาที่ Test Plan, เลือก Add > Threads(User) > Thread Group. Figure 2 แสดงการเพิ่ม Thread Group และ Thread Group ที่ถูกสร้างขึ้นมา Figure 2 การเพิ่ม Thread Group Add Sampler > HTTP Request คลิกขวาที่ Thread Group, เลือก Add > Sampler > HTTP Request. Figure 3 แสดงการเพิ่ม HTTP Request. Figure 3 การเพิ่ม HTTP Request Config HTTP Request คลิกที่ HTTP Request ที่เพิ่งเพิ่มเข้าไป. บัวบานจะแสด