All posts by admin

Selenium JavaScript Executor (English version)

Javascript Executor in Selenium have a lot of benefits that normal Selenium API cannot provide.

For instance,

  • You want to fetch data from server but it needs an authentication.
  • You want data inside a response of fetch or AJAX (XHR).
  • You want to get value from Javascript such as data from performance API (Navigation Timing, User Timing, etc.)

Continue reading Selenium JavaScript Executor (English version)

Selenium JavaScript Executor

JavaScript Executor ใน Selenium นั้นมันมีประโยชน์มาก. ถ้าใช้ให้ถูกวิธีจะสามารถเพิ่มความสามารถให้ Selenium ได้อย่างอลังการ. ยกตัวอย่างเช่น:

  • อยากจะ AJAX, XHR, หรือ Fetch แต่ติดปัญหาเรื่อง credential หรือ cross domain.
  • อยากจะรู้ว่า AJAX, XHR, หรือ Fetch นั้นได้ค่าอะไรกลับมา.
  • อยากจะเรียก JavaScript function บน app นั้นเพื่อทำงานบางอย่างเช่น expand/collapse dropdown, hide element.
  • อยากจะเก็บค่า performance พวก navigation timing, user timeline, resource timing.

Continue reading Selenium JavaScript Executor

WebSocket Performance Test on JMeter

วันนี้อยู่ๆก็มีอารมณ์อยากลองทำ performance test ของ websocket ขึ้นมา. ก็เลยทดลองเล่น JMeter 3 with plugin JMeter-WebSocketSampler.
เชิญชมวิธีการทำ performance test บน websocket (ws/wss) กัน. Continue reading WebSocket Performance Test on JMeter

Selenium – Page Object คืออะไร?

Page Object เป็น design pattern ในการเขียนโค้ดสำหรับ automation testing. แนวคิดก็คือสร้าง Class ที่ทำหน้าที่เป็น interface ระหว่าง application และ test case.

ก่อนที่เราจะพูดเรื่อง Page Object, ผมขอเกริ่นนำก่อนว่า Page Object นี้เกิดมาเพื่อสิ่งใด? เริ่มต้นด้วยตัวอย่างการเขียนเทสแบบไม่ใช้ Page Object (จากนี้ไปจะเรียก Page Object Model ย่อๆว่า POM). Continue reading Selenium – Page Object คืออะไร?

JMeter – การใช้ JMeter แบบง่ายๆ

jmeter-logoมี tools จำนวนมากในตลาดที่ช่วยในการทำ performance test นะฮะ. JMeter (by apache) น่าจะเป็นตัวเก๋าที่ทุกๆคนรู้จัก. มีข้อดีหลักๆคือ อยู่มานาน ทำให้มี tutorial เยอะ, รองรับการใช้งานหลากหลาย เช่น http, SOAP, JDBC, MongoDB, LDAP, TCP, …, และมีลูกเล่นเยอะแยะ เช่นใส่ script นู่นนี่เพื่อประมวลผล response, assert response, monitor response.

บัวบานขอนำเสนอวิธีการใช้ JMeter ทำ performance test Web Application แบบง่ายๆ. Continue reading JMeter – การใช้ JMeter แบบง่ายๆ

บันทึกบัวบานเยือนสาธารณรัฐประชาชนจีน – day 2 – พระราชวังต้องห้าม เฉียนเหมิน และหวังฝูจิ่ง

กำแพงทิศเหนือของพระราชวังต้องห้าม

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

JMeter – Process JSON response with BeanShell Processor

jmeter-logo      บ่อยครั้งที่ request message นั้นต้องการเอาค่าจาก response ของอีก service หนึ่ง. ยกตัวอย่างเช่น เว็บไซต์ห้องสมุดต้องการแสดงรายการ favourite books, จะต้องมีการเรียกข้อมูล id หนังสือจาก FavouriteBookService ก่อนแล้วจึงเรียกข้อมูลหนังสือจาก BookInfoService  ดัง sequence diagram ใน Figure 1.

Figure 1. Sequence diagram แสดงการเรียกข้อมูล Favourite Books
Figure 1. Sequence diagram แสดงการเรียกข้อมูล Favourite Books

Continue reading JMeter – Process JSON response with BeanShell Processor

บันทึกบัวบานเยือนสาธารณรัฐประชาชนจีน – day 1 – กำแพงเมืองจีนและหม้อไฟเจ้าแรกของโลก

flagครอบครัวบัวบานเดินทางเยือนสาธารณรัฐประชาชนจีน เพื่อร่วมเป็นเกียรติในงานแต่งงานพี่สาวที่จีน ระหว่างวันที่ 28 – 4 พฤษภาคม 2557 โดยมีเป้าหมายสองอย่างคือเที่ยวเมืองปักกิ่ง (Beijing) และไปงานแต่งงานที่เมืองจ้าวจวง (Zaozhuang) มณฑลซานตง (Shandong).

Continue reading บันทึกบัวบานเยือนสาธารณรัฐประชาชนจีน – day 1 – กำแพงเมืองจีนและหม้อไฟเจ้าแรกของโลก