Saturday, June 28, 2014

Jenkins ควร start เอง

สวัสดีครับ วันนี้ขอเขียนบล็อกสั้นๆ บันทึกความ fail ของผมเองครับ

เรื่องก็คือ ผมจะเอา script RobotFramework ที่ทำเอาไว้จากตอนก่อนๆไปรันบน Jenkins แต่ปรากฏว่ามันไม่สามารถเปิดโปรแกรมที่ผมต้องการจะทดสอบขึ้นมาได้ มันจะค้างจนกระทั่ง time out
ในตัวอย่างจะเห็นว่าผมมีการใช้ Wait For Active Window อยู่ ซึ่งเป็นการรอให้หน้าต่างโปรแกรมที่เราจะทดสอบถูกเปิดขึ้นมาก่อน

ผมก็หาอยู่นานสองนาน สามนาน หาไปหามาก็พบคำตอบหนึ่งน่าสนใจมาก จาก stackoverflow.com เจ้าเก่า (ขออภัย ผมหา link ไม่เจอแล้ว) ในกระทู้นั้นมีปัญหาคล้ายๆกันคือแกเปิด Desktop app จาก Jenkins job ไม่ได้ แล้วก็มีคนใจดีมาตอบให้

วิธีการนั้นคือ อย่าไปใช้ Jenkins ที่เป็น Windows serviceครับ ให้ไปโหลดตัว war มา แล้วเอามา start เอง

ในที่สุดก็เทสผ่านแล้ว! น้ำตาจะไหล ; _ ;

สรุปว่า Windows service ช่วยอำนวยความสำดวกให้ แต่ก็ไม่ได้ work ไปหมดทุกอย่างนะครับ (หรือ Jenkins มันไม่ใช่ผลิตภัณฑ์ของ Microsoft ก็ไม่รู้เนอะ อิอิ) ตัวเราเองก็ควรจะรู้ด้วยว่าเครื่องมือที่เราเอามาใช้นั้น จะสั่งให้มันทำงานได้อย่างไร อย่าเอาแต่ Double click แล้วก็กด next รัวๆเลยนะครับ :)