เริ่มจาก Click Button 1 ก่อนนะครับ อันนี้คือเราต้องการให้มันคลิกที่ปุ่มเลข 1 ในโปรแกรมเครื่องคิดเลข เราก็ไปดูที่ Document ของ AutoItLibrary เหมือนตอนที่แล้วนะครับ แต่คราวนี้มาดูจะกดปุ่มเนี่ย ต้องใช้คำสั่งอะไร
หาๆไปก็เจอ Control Click ที่มากับ Parameter อีกนิดหน่อย
ก็ดูไม่มีอะไรซับซ้อนนะ แต่ไอ้ Parameter พวกนี้จะเอามาจากไหนล่ะ
AutoItLibrary มีเครื่องมือมาให้แล้วครับ มีชื่อว่า Au3Info.exe มันนอนรอเราอยู่ที่
>C:\RobotFramework\Extensions\AutoItLibrary
เปิดขึ้นมาก็จะเจอหน้าตาแบบนี้
วิธีใช้งานนะครับ ก็ต้องเปิดโปรแกรมที่เราจะทำการทดสอบขึ้นมาก่อน แล้วก็ลากสัญลักษณ์กลมๆในช่อง Finder tool ไปที่ที่เราต้องการจะทราบข้อมูลของมัน ในตัวอย่างนี้ก็คือ ปุ่ม 1 ในโปรแกรมเครื่องคิดเลข ลองดูครับ
พอลากไปแล้ว สังเกตว่าจะมีข้อมูลปรากฏขึ้น ตรงที่ผมตีกรอบไว้นั่นคือ Parameter ตัวแรกของเราครับ ซึ่งมันก็คือข้อความใน Title bar ของโปรแกรมนั่นแหละ
Parameter ตัวที่2(strText)นั้นไม่จำเป็น เราสามารถข้ามไปตัวที่3(strControl)ได้เลย
โดยการคลิกที่แท็บ Control
ตัวที่ตีกรอบไว้นั่นแหละครับ คือข้อมูลที่เราจะเอามาใส่เป็น parameter ตัวที่สาม
เอามาใส่ใน Test ของเราครับ
${EMPTY} หมายถึงค่าว่างครับ เหมือนกับ Null หรือ None ใน Python คือถ้าเราไม่ต้องการใส่ Parameter ตัวไหน หรือต้องการปล่อยให้มันว่างๆไว้ ก็ใช้ตัวนี้ครับ
อย่าลืมเคาะ Space bar 2ทีระหว่าง parameter นะครับ เสร็จแล้วลองรันดู
ก็ดูเหมือนจะโอเคแล้วนะ แต่ไม่เห็นมันจะกดปุ่มเลยอ่ะ
จริงๆแล้วไม่ใช่มันไม่กดครับ แต่มันกดไม่ทัน เพราะตัว Script มันจะทำงานเร็วมาก เราต้องบอกให้มันรอให้ Window ของโปรแกรมที่เราจะทดสอบเปิดขึ้นมาก่อนครับ
ผมจะเติมเข้าไปที่ Start Calculator นะครับ
แล้วลองรันดูอีกที เลข 1 ถูกกดแล้ว
เหลือ Keyword อันสุดท้าย ก็ทำเหมือนเดิมครับ ไปหาดูว่าจะเอาข้อมูลจาก Control เค้าทำยังไง
Control Get Text นี่น่าจะใช่แฮะ ลองเอามาใช้ดู
ซึ่งใน Keyword อันนี้เราจะนำค่าที่ได้มาทำการเปรียบเทียบ ก็ต้องมีตัวแปรมาเก็บไว้ ทำแบบนี้ครับ
เสร็จแล้วเอามาเทียบกันโดยการใช้ Keyword 'Should Be Equal' (เป็น Built in keyword ของ Robotframework)
เอาไว้เปรียบเทียบค่าต่างๆสองตัว ถ้าไม่เท่ากันก็ Fail รับ Parameter 4 ตัว แต่เราสนใจแค่ 2 ตัวแรกก็พอ
ตัวแรกคือข้อความจากในช่อง Answer ของโปรแกรม
ส่วนตัวที่สองก็คือ ${ANSWER_TEXT} ที่เราเก็บไว้นั่นเอง
แล้วลองรันดู ยังไม่ผ่านแฮะ
ตรงนี้ต้องใช้เวลากับความพยายามสักหน่อยนะครับ ในการหาสาเหตุและแก้ปัญหาของมัน
ผมบอกเลยละกันครับ มันเป็นเพราะว่า ใน ${ANSWER_TEXT} ที่ได้มา มันมี space ต่อท้ายมาด้วยครับ ซึ่งเราแก้ปัญหาได้หลายแบบ วันนี้ขอแนะนำแบบง่ายๆ ก็คือใช้ฟังก์ชั่น strip() เพื่อกำจัด space ออกไปครับ
ลองดูอีกที ผ่านแล้ว!
ไม่นึกว่าเขียนไปเขียนมามันจะยาวขนาดนี้นะเนี่ย ตอนนี้ไปฉลองความสำเร็จให้กับ Test case เล็กๆกันก่อนครับ ตอนหน้ามาลองทดสอบปุ่มอื่นๆกัน
แถม Link ไปดูว่ามี Builtin keyword อะไรบ้าง
http://robotframework.googlecode.com/hg/doc/libraries/BuiltIn.html?r=2.8.4
No comments:
Post a Comment