เทคนิคการใช้ Robot Framework Argument
ในการใช้ Arguments ใน Robot Framework นั้นจะแบ่งออกเป็น 4 แบบหลักๆคือ Positional, Named, Vararg, Kwargs ในบทความด้านล่างจะอธิบายการใช้งานและข้อแตกต่างกันระหว่าง การใช้งานทั้ง 4 แบบ
Positional การใช้ตัวแปรแบบนี้จะเหมาะกับ การรับค่าที่รู้ตำแหน่งแน่นอนไม่สามารถเปลี่ยนแปลงได้
My Keyword
[Arguments] ${arg1} ${arg2} ${arg3}
Named คล้ายๆกับ การกำหนดค่า Default ให้กับ Arguments ของเราเหมาะกับการรับค่าที่ ระบุค่าหรือไม่ระบุก็ได้ ระบบจะ Default ให้ค่าเป็นที่กำหนดไว้
My Keyword
[Arguments] ${arg}=default
Vararg เหมาะกับการใช้ในกณีที่ไม่รู้จำนวนสิ้นสุดของ Arguments ที่จะรับเข้ามา โดยการใช้งานส่วนใหญ่จะรับ Arguments เข้ามาเป็น lists แล้ว ทำการ For Loop เพื่อนำค่าไปใช้งานภายใน Function หรือ Keyword
*** Test Cases ***
Test Vararg
My Keyword arg1 arg2 arg3 arg4 arg5 arg6*** Keywords ***
My Keyword
[Arguments] @{arg}
:FOR ${value} IN @{arg}
\ log ${value}
Kwargs เหมาะกับการใช้งานที่ไม่รู้จำนวนสิ้นสุดของ Arguments เหมือนกัน เพียงแต่ว่าจะรับค่าอยู่ในรูปแบบของ Dictionary การนำค่าไปใช้งานสามารถใช้งานผ่าน Key ตัวอย่างการใช้งานตาม โค้ดด้านล่าง
*** Test Cases ***
Test Kwargs
My Keyword Firstname=Fname Lastname=Lname*** Keywords ***
My Keyword
[Arguments] &{arg}
log &{arg}[Firstname]
log &{arg}[Lastname]
นอกจากนี้แล้วเราสามารถนำ Arguments ที่กล่าวมาข้างต้นมาใช้งานร่วมกันได้ ยกตัวอย่างเช่น
Positional + Named
[Arguments] ${arg1} ${arg2}=defaultPositional + Kwargs
[Arguments] ${arg1} ${arg2} &{arg}Named + Kwargs
[Arguments] ${arg1}=default &{arg}
สามารถ ดูข้อมูลการใช้งานเพิ่มเติมได้ที่ Robot Framework Argument
สรุป
หลังจากบทความนี้หวังว่าเพื่อนๆจะสามารถนำการใช้งาน Arguments ในรูปแบบต่างๆ ของ Robot Framework ไปใช้งานให้เหมาะสมยิ่งขึ้น รวมไปถึงการส่งค่ารับค่าระหว่าง Robot Framework เองกับ Library ที่พัฒนาขึ้นมาเองได้อีกด้วย
Be giving, enjoy sharing. :)