ไม่ได้เขียนอัพเดท Robot Framework มานาน เลยยกสรุป Feature เด่นๆ ตั้งแต่ version 4 – 6 มาใน blog เดียวเลย (IF/ELSE, FOR LOOP, TRY/EXCEPT, RETURN, Localization) โดยผมขอไม่เรียงตาม Version นะครับ เพราะจะได้เรียงอัพเดทตาม Feature เพื่อให้เข้าใจได้ง่ายกว่า โดยล่าสุดตอนเขียน blog จะอยู่ที่ version 6.0.1
ก่อนอื่นมาอัพเดท Robot Framework กันก่อน
เริ่มจากการอัพเดท Robot Framework เป็น version ล่าสุดด้วยกันรันคำสั่ง
# window
pip install --upgrade robotframework
# mac / linux
pip3 install --upgrade robotframework
หลังอัพเดทแล้ว เราสามารถเช็ค version ของ robotframework ได้ด้วยคำสั่ง
robot --version
Robot Framework 6.0.1
IF/ELSE
ก่อนนี้ถ้าจะเขียน condition เราต้องใช้คำสั่ง Run Keyword If แต่ตอนนี้เราใช้ IF ELSE ได้ตรงๆเลยมาดูตัวอย่างนี้กันครับ
IF "${direction}" == "STRAIGHT" Log Going straight ELSE IF "${direction}" == "LEFT" Log Turning left ELSE IF "${direction}" == "RIGHT" Log Turning right ELSE Fail Unrecognized direction: ${direction} END
For Loop
ทั้ง For Loop และ While Loop รองรับ Syntax ที่เป็น programming style มากขึ้น
Demo new for loop @{List} Create List LEFT RIGHT FOR ${element} IN @{LIST} Log ${element} END Demo new while loop ${count} Set Variable 3 WHILE ${count} > 0 Log This is run limit to 3 times. ${count} Evaluate ${count} - 1 END
RETURN
คำสั่ง RETURN ใหม่สามารถใช้งานได้หลากหลาย และเข้าใจง่ายกว่าเดิม
Is adult by age [Arguments] ${age} IF ${age} >= 18 Log Adult RETURN Adult ELSE RETURN Children END
TRY / EXCEPT
จะเหมือนกัน Try Catch ใน ภาษา Programming ทั่วไปแล้ว ทำให้เราเขียน Script ที่ซับซ้อน ได้ง่ายกว่าเดิม
Demo Try Except TRY Log ${not existing variable} EXCEPT Log found error FINALLY Log always log END
Localization
เปิดโอกาศให้เราสามารถใช้ ภาษาอื่นๆในการเขียน Test Script แต่ก็ยังมีข้อจำกัดหลายๆอย่างเช่น IDE ส่วนใหญ่ยังไม่รองรับ รวมถึง Library ที่เป็น 3rd Party ก็ยังไม่รองรับเช่นกัน
Language: Thai *** การตั้งค่า *** ชุดคำสั่งที่ใช้ Dialogs *** การทดสอบ *** ทดสอบการ log ภาษาไทย Log ทดสอบ Dialogs.Pause Execution
จะเห็นได้ว่าอัพเดทส่วนใหญ่เริ่มเป็นการปรับให้ Robot Framework รองรับการเขียน Test Script ที่ซับซ้อนได้มากขึ้น โดยการนำคำสั่งพื้นฐานของการเขียนโปรแกรมไปใส่ไว้ใน Test Step ได้ตรงๆ แต่ก็อยากให้เพื่อนๆระวังไว้เสมอว่า เราไม่ควรมี Test Step ที่ซับซ้อนมากเกินจำเป็น
นอกจากที่ผมเอามาแนะนำด้านบน ยังมี Feature อื่นๆอีกเพียบให้เราลองใช้ แนะนำให้ลองเข้าไปดูได้จาก Release Note
สนใจเรียนรู้แบบเจาะลึก
Robot Framework Selenium
Web Automated Test ด้วย
Robot Framework และ Selenium 6
[…] นอกจากอัพเดทของ Selenium Library แล้ว Robot Framework 6 ก็มีอัพเดทอีกเพียบตามมาอ่านเลย คลิก […]