หยุดใช้ Sleep แล้วมาติดสปีดให้ Selenium Test Script กัน

หลายๆครั้งที่เราเริ่มมีจำนวนเทสสคริปที่มากขึ้นๆ สิ่งนึงที่จะตามมาเป็นเงาตามตัวก็คือ ระยะเวลาในการเทสที่มากขึ้นเช่นกัน บทความนี้เราจะมาพูดคุยกันถึง หนึ่งในสาเหตุที่ทำให้เทสสคริปของคุณช้า และไม่เสถียรเลย นั่นก็คือการใช้ Sleep มากมายในเทสสคริปครับ Sleep คืออะไร Sleep คือการใช้คำสั่งเพื่อให้เทสสคริปของเราหยุดการทำงานชั่วคราว ประมาณให้มันหลับไปซักตื่นแล้วค่อยมารัน test step ถัดไป ก็ประมาณนี้แหละครับ "Pauses the test executed for the given time." จาก Robot Framework document โดยปกติเวลาเราใช้คำสั่ง Sleep ก็จะต้องกำหนดเวลาด้วยว่าจะหยุดเป็นเวลากี่ วินาที หรือ กี่นาที ก่อนจะให้โปรแกรมรันเทสต่อไปนั่นเอง จากตัวอย่างด้านบน...

จัดกลุ่ม Selenium Keyword ให้เป็น Page Object กัน

ถ้าใครได้ใช้ Robot กับ Selenium2Library จะพบว่าตัว Test Script ที่เราเขียนมานั้น ค่อนข้างจะดูแลยาก โดยเรามักเขียน script ไล่คำสั่งไปเรื่อยๆ หรืออย่างมากก็อาจสร้างเป็น resource file มาเก็บไว้ แต่ Selenium เองก็มีแนวคิดของ Page Object Pattern ซึ่งเป็นแนวคิดการจัดการความซักซ้อนของการที่เราต้องทำสอบ หน้า page จำนวนมากๆ ได้ แต่ปัญหามันอยู่ที่ Selenium2Library เองนั้น ไม่ได้ออกแบบตาม Page Object Pattern เราจึงจำเป็นต้องใช้วิธีเสมือนการสร้าง...

มาตั้งชื่อ Test case ให้เหมือนหน้าปกหนังสือกัน

ปกติเวลาที่เราเลือกซื้อหนังสือ สิ่งแรกที่เราใช้เพื่อตัดสินใจจะหยิบหนังสือมาอ่านก็คือ ชื่อหนังสือ ใช่ไหมครับ แน่นอนมันเป็นตัวบอกให้เรารู้ว่า หนังสือเล่มนี้จะบอกอะไรกับเรา ถ้าเราอ่านหน้าปกแล้วไม่เข้าใจว่าหนังสือพยายามจะสื่อสารอะไรกับเรา หรือเมื่ออ่านข้างในแล้วหน้าปกกับเนื้อหาไปกันคนละทาง เราคงไม่ซื้อเป็นแน่แท้ เช่นเดียวกับการตั้งชื่อ test case หรือ test script ครับ เราจำเป็นต้องตั้งให้สื่อความหมาย ให้คนที่มาอ่านเข้าใจถึงจุดประสงค์ของเรา ว่าต้องการทดสอบอะไรให้ชัดเจน แล้วแบบไหนถึงจะเรียกว่าชัดเจนล่ะ สำหรับบทความนี้ผมขออ้างอิงรูปแบบของ Robot Framework ละกันนะครับ โดยจะแบ่ง หลักๆเป็น 2 ส่วนใหญ่ๆคือ Test Suite และ Test Case การตั้งชื่อ Test Suite ชื่อ Test...

ไม่มี Web browser เปิดขึ้นมาให้กวนใจ เมื่อรันเทสด้วย Chrome Headless Mode

เนื่องจากที่ผ่านมามีหลายคนถามคำถามเดียวกันเข้ามาค่ะ... "พี่ๆ ผมไม่อยากให้มันเปิด web browser ขึ้นมาตอนรันเทสอ่ะ?" "พี่ๆ มีวิธีทำให้ run automated test แบบ background มะ?" วันนี้พี่พลอยก็เลยจะมาตอบว่า "มีจ้าาาาา" และจะมาสอนการ setup web browser ให้สามารถ run automated test ด้วย Chrome แบบที่ไม่มี web browser แสดงขึ้นมา หรือที่เรียกกันว่า Headless Mode นั่นเองค่า Headless Mode feature ใหม่ของ Google Chrome version...

เก็บผลเทส และดึงเทสดาต้า จาก Excel ด้วย Robot framework

เนื่องจากหลายๆครั้ง QA เองจำเป็นจะต้องส่งผลการเทส และรับเทสดาต้ามาจากลูกค้าโดยตรง ซึ่งลูกค้าก็มักจะคุ้นเคยการใช้งาน โปรแกรม Excel เพื่อตรวจสอบความคืบหน้า(Test Report) อีกทั้งยังใช้ส่งข้อมูลเทสดาต้า ให้กับ QA Team เพื่อใช้ในการรันทดสอบ จึงเป็นที่มาของบทความนี้ครับ เราจะแบ่งตัวอย่างเป็นสองส่วนหลักๆคือ การจัดเก็บผลเทสของ Robot framework ลง CSV file การอ่านเทสดาต้าจาก CSV file เพื่อใช้งานใน Robot framework   CSV file คืออะไร CSV file หรือ Comma Separate Value...