Setup และ Teardown (Robot Freamwork)

หลังจากที่เราเริ่มเขียน Test Script ไปสักพัก ก็จะเริ่มมี Test Step ที่เรามักต้องทำซ้ำ ๆ กัน เช่นเวลาเริ่มต้นและส่วนท้ายของ Test Script ทำให้ Test Script ของเราดูรก อ่านยาก มี Code ซ้ำ ๆ กันเต็มไปหมด และ Test Script เองก็มี Step ที่ไม่เกี่ยวกับการ Test ปนมาเพียบเลย

วันนี้เลยขอเสนอให้ลองใช้ Setup และ Tear Down เพื่อช่วยลด Step เหล่านี้จาก Test Script ของเราดู โดย Setup และ Tear Down คืออะไรมารู้จักกัน

Suite Setup = ก่อนที่จะเริ่ม Run Test ทั้งหมด จะต้องเริ่มการทำงานตัวนี้ก่อน

Suite Teardown = หลังจาก Run Test เสร็จทั้งหมดแล้วจะสั่งให้ทำอะไรตอนสุดท้าย

Test Setup = ก่อนที่จะเริ่มเข้า Test Case ให้เริ่มการกระทำนี้ก่อน

Test Teardown = หลังจากจบ Test Case แต่ละ Case ให้ทำการกระทำนี้

ตัวอย่าง

จากรูปด้านบน ก่อนที่จะเริ่ม Run Test ทั้งหมด ให้เริ่มทำการเปิด Browser ก่อน เมื่อเริ่ม Test Case ให้แสดงคำว่า Start!!! และเมื่อจบ Test Case ให้แสดงคำว่า “Finish!!!” แล้วพอจบ Test ให้ทำการ ปิด Browser นี้

ดังนั้น กรณีหากเรามี Case แค่ Case เดียวอาจจะไม่จำเป็นที่จะต้องใช้ Test Setup กับ Test Teardown ก็ได้ เพราะว่าเราสามารถใช้ Suite Setup ในการเริ่มต้น และ Suite Teardown ในการจบการกระทำเลยก็ได้

***สมมติว่า Test Case เรามี Pre-Condition ที่มี Step เหมือนกันทุก Test Case ก็ควรเอา Step นี้อยู่ใน Test Setup

ข้อดีของ Setup และ Teardown

  • ลดความซ้ำซ้อนของแต่ละ Test Script ลง ช่วยให้ดูง่ายขึ้น
  • ช่วยทำให้เราโฟกัส กับสิ่งที่เราต้องการจะ Test ในแต่ละ Test Case ได้จริงๆ โดยไม่มี Setup Step และ Teardown Step มาทำให้ดูวุ่นวาย เกินความจำเป็น
  • ช่วยเครียร์ Test Environment เสมอก่อนจากรัน Test และหลังจากรัน Test เสร็จ
  • ถึง Test จะ Failed  แต่ Teardown ก็ยังทำงานต่อ จึงมั่นใจได้ว่า Test Environment ของเราสะอาดเสมอก่อนจะรัน Test ข้อต่อไป ^_^