ทุกคนน่าจะคุ้นชื่อกับ Robotframework กันบ้างแล้ว ที่จะใช้ทดสอบ UI โดยใช้ Library Selenium หรือทดสอบ API โดยใช้ Library Request
เราอาจจะเคยทดสอบ UI หรือ API ที่ทดสอบไปแล้ว 10 Cases แล้วบังเอิญเจอ Bug Case ที่ 8 พอแก้แล้วก็จะต้องมา Run ใหม่ตั้งแต่ต้นอีกและทำให้ต้องเสียเวลารอนาน เช่น จะต้องเตรียมข้อมูล user ใหม่, เคลียร์ database ใหม่ เพื่อให้สามารถทดสอบซ้ำได้ เป็นต้น Robotframework เขามี feature ที่ชื่อว่า Tag โดยเราสามารถกำหนดชื่อ Tag ที่ทดสอบไปแล้วหรือยังไม่ได้ทดสอบได้ด้วยนะ เป็นการกำหนดสถานะให้เรารู้ได้ว่าเราทำถึงได้แล้ว (แอบช่วยให้ไม่ต้องพึ่ง excel ไหม)
*** ในตัวอย่างที่ใช้ทำจะเป็นการทดสอบด้วย API โดยใช้ Robotframework คู่กับ RequestsLibrary ***
โดยการใช้คำสั่งนี้จะมีให้เลือก 2 แบบ คือ
- include => ถ้าเรามี test cases ที่ใส่ tag done เอาไว้ เมื่อใช้คำสั่งก็จะ run test เฉพาะที่มี tag done
robot -i done checkout-success-template.robot
Example
ผลลัพธ์ที่ได้
- exclude ก็จะตรงข้ามกับ include เลย เมื่อใช้คำสั่งก็จะ run test เฉพาะที่มี tag ที่ไม่ใช่ done
robot -e done checkout-success-template.robot
Example
ผลลัพธ์ที่ได้
และถ้าเราไม่ได้กำหนด include หรือ exclude ก็จะ run ทุก test cases ที่เรามีให้ทั้งหมดและเมื่อเราดูที่ไฟล์ report.html จะขึ้นชื่อ tag ที่มีทั้งหมดให้
ภาคต่อของ Tags ใน Robot framework
Reference : https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#tagging-test-cases