เทคนิคการใช้ Robot Framework Argument

Setthapong.Im
1 min readMay 3, 2019

--

photo credit : https://robotframework.org/

ในการใช้ 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}=default
Positional + Kwargs
[Arguments] ${arg1} ${arg2} &{arg}
Named + Kwargs
[Arguments] ${arg1}=default &{arg}

สามารถ ดูข้อมูลการใช้งานเพิ่มเติมได้ที่ Robot Framework Argument

สรุป

หลังจากบทความนี้หวังว่าเพื่อนๆจะสามารถนำการใช้งาน Arguments ในรูปแบบต่างๆ ของ Robot Framework ไปใช้งานให้เหมาะสมยิ่งขึ้น รวมไปถึงการส่งค่ารับค่าระหว่าง Robot Framework เองกับ Library ที่พัฒนาขึ้นมาเองได้อีกด้วย

Be giving, enjoy sharing. :)

--

--

No responses yet