บทความ

[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
ส่…

[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.
Add Thread Group
คลิกขวาที่ Test Plan, เลือก Add > Threads(User) > Thread Group. Figure 2 แสดงการเพิ่ม Thread Group และ Thread Group ที่ถูกสร้างขึ้นมา

Add Sampler > HTTP Request
คลิกขวาที่ Thread Group, เลือก Add > Sampler > HTTP Request. Figure 3 แสดงการเพิ่ม HTTP Request.Config HTTP Request
คลิกที่ HTTP Request ที่เพิ่งเพิ่มเข้าไป. บัวบานจะแสดงตัวอย่างการ request ไปเอา search result จาก google. Figure 4 แสดงการ config HTTP Request.

ตัวอย่าง URL: https://www.google.co.uk/…

บันทึกคุณบัวบานเยือนสาธารณรัฐประชาชนจีน - วันที่ 2

รูปภาพ
หลังจากเดินทางมาถึงปักกิ่ง และเยี่ยมชมกำแพงเมืองจีนในวันแรก ซึ่งเป็นวันจันทร์. วันที่สองเราก็ตื่นเช้ามาทานอาหารเช้าในโรงแรม อาหารจะจืดๆ หาอาหารเค็มได้ยาก, อยากจะหาซีอิ๊วขาวมาหยดลงบนไข่ดาวสักหน่อยก็ไม่มี. เริ่มสงสัยว่าไอ้ซีอิ๊วขาวนี่มันเครื่องปรุงของจีนหรือของไทยกันแน่.




ทานอาหารเสร็จก็ออกเดินทางสู่พระราชวังต้องห้าม ภาษาจีนเรียกว่ากู้กง  ออกเดินทางประมาณ 8:30 โดยขึ้นรถเมล์จากหน้าโรงแรม.






ประมาณ 30 นาทีก็มาถึงป้ายรถเมล์ใกล้ๆ กับพระราชวัง. เราแวะเข้าไปซื้อน้ำดื่ม ขนมปังและไส้กรอกแท่ง. ณ​ จุดนี้ก็ได้พบกับเหล้าดาวแดง เทียบได้กับเหล้าขาวของไทย แต่แพคเกจสวยงามกว่า.





จากนั้นเราก็เดินเท้าเรียบกำแพง โดยมีกำแพงอยู่ซ้ายมือและมีคลองน้ำอยู่ขวามือ ระหว่างทางก็พบกับคุณลุงเล่นดนตรีอย่างชิลๆ.



เดินไปสักพักก็จะพบกับจุดตรวจสัมภาระ แถวยาวมากๆ ประมาณ 100 - 200 เมตร, พั้นช์บอกว่านี่คนน้อยมากแล้ว ถ้าวันหยุดเสาร์อาทิตย์ปกติหรือช่วงหยุดยาว คนอาจจะแน่นเหมือนเดิน 7 กิโลภายในร้านนั่งเล่นเอกมัย. หลังจากส่งพี่พั้นช์ไปตรวจสอบ ก็พบกับความจริงว่า คนที่สะพายกระเป๋ามา ต้องเดินผ่านเครื่องตรวจ. เราก็เลยนำกระเป๋ารวมไว้ที่คนเด…