Robot Framework 4.0 is now

Sakul Montha
3 min readApr 7, 2021

--

Robot Framework ถือได้ว่าเป็นเครื่องมือ ที่ช่วยในการทำ Automate Test ที่นิยมที่สุดตัวนึงของโลกเลยก็ว่าได้ ปัจจุบันที่ผมเขียนอยู่นี่ ก็ได้ออกเวอร์ชั่น 4.0.3 beta เป็นที่เรียบร้อย เพื่อมาแก้บัคตัว 4.0.0 release เราไปดูกันว่าเวอร์ชั่นนี้ มีอะไรเปลี่ยนแปลงไปจากเดิมบ้าง…

ROBOTFRAMEWORK 4.0

Robot Framework 4.0 released เมื่อ Thursday March 11, 2021 นับเป็น Major release ที่มาพร้อมกับ Features ใหม่ ๆ แบบอย่างเยอะ ยกตัวอย่างเช่นการมาของ SKIP status รวมไปถึงการมาของ native IF/ELSE

สำหรับท่านที่มี pip อยู่แล้วสามารถรันได้ด้วยคำสั่ง pip install --upgrade robotframework หรือ pip install robotframework==4.0

สำหรับใครที่อาจจะยังไม่เคยใช้งาน หรืออยากทำความรู้จัก Robot Framework พร้อม Workshop สามารถกดลิ้งด้านล่างนี้ได้นะครับ

Robot Framework 4.0

มาดู Features ใหม่ ๆ กัน

  • SKIP ก่อนน่านี้มีแต่ SKIP ตอนนี้เค้าเพิ่ม SKIP IF เข้ามาแล้วจ้าา กล่าวคือมี Condition ในการข้ามอะแหละ
  • Criticality has been removed อันนี้ จัดว่าดีงาม ก่อนน่านี้ ถ้าเราทำเทสพัง ก็คือหยุดหมด หลังจากนี้ชีวิตเราจะดีขึ้นครับ โดยที่เราสามารถใช้ Function ใหม่นี้ด้วยการใส่ Option --criticaland --noncritical ลงไป
  • IF/ELSE ใน Release นี้เราจะได้เขียน Robotframework ให้มันเป็นเหมือนการเขียนโปรแกรมมากขึ้นด้วยการมาของ Condition
*** Test Cases ***
Example
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
  • Support nested control structures นี่ก็เป็นอีก Features นึงที่มันทำให้รู้สึกถึงการเขียนโปรแกรมมากขึ้น มาดูตัวอย่างกัน
FOR    ${row}    IN    @{rows}
FOR ${cell} IN @{row}
IF "${cell}" != "IGNORE"
Process Cell ${cell}
END
END
END

นอกจากนี้ก็ยังมีอีกหลาย Features เลยครับ

@{items} =    Set Variable    ${var}[items]
FOR ${item} IN @{items}
Log ${item}
END

Backwards incompatible changes

ดู Features ใหม่ ๆ เจริญหูเจริญตากันแล้ว ไปดูสิ่งที่ ไม่ Support กับของเก่ากันบ้าง (ก็คือถ้ามีของเก่าอยู่ แล้วอยากจะมาใช้ Version ใหม่นี้ ต้องแก้นะไม่งั้นพัง)

  • Old :FOR loop syntax is not supported anymore ใครที่ยังใช้ Syntax :FOR ตั้งแต่สมัย Robot Framework สมัยพระเจ้าเหา เค้า Deprecated ตั้งแต่ Robot Framework 3.2 แต่ตอนนี้ 4.0 เค้า Remove แล้วน้าาาา
ของเก่า
:FOR ${animal} IN cat dog cow
\ Keyword ${animal}
\ Another keyword
ของใหม่ ซึ่งใช้มาตั้งแต่ Robotframework 3.1
FOR ${animal} IN cat dog cow
Keyword ${animal}
Another keyword
END

Conclusion

เรียกได้ว่าการมาของ Release นี้เพิ่ม Features มาอย่างเยอะ ผมไม่ได้เขียนอธิบายทั้งหมด ที่หยิบมาจะเป็นส่วนที่ Critical ที่ทาง Robot Framework เค้ากำหนด Priority มา ซึ่งท่านสามารถอ่านต่อได้จาก Release note

https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-4.0.rst#id115

ทั้งนี้ทางทีมงาน Robot Framework เค้าก็ได้มีช่องทางสำหรับคำถาม หรือการแสดงความคิดเห็นได้ที่ robotframework-users, Robot Framework Slack หรือรายงาน ISSUE ได้ที่ issue tracker

--

--

Sakul Montha
Sakul Montha

Written by Sakul Montha

Chief Product Officer, a man who’s falling in love with the galaxy.

No responses yet