ความเข้าใจในการใช้ Suite Setup , Suite Teardown , Test Setup , Test Teardown ใน Robot Framework

ความเข้าใจในการใช้ Suite Setup , Suite Teardown , Test Setup , Test Teardown ใน Robot Framework
28/01/19   |   539   |  

เคยไหมที่สับสนการใช้ Suite Setup , Suite Teardown , Test Setup และ Test Teardown

ใน Setting ของเรา ถ้าจะให้อธิบายสั้น ๆ ง่าย ๆ การทำงานของแต่ละตัว

 

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

4 คำสั่งนี้ ไม่จำเป็นที่จะต้องมีใน Settings ของเราก็ได้ ถ้า Test Case ที่เราออกแบบมา

ค่อนข้างที่จะเป็นอิสระ หรือ Case ที่จะทำมีแค่ Case เดียวก็ไม่ต้องมี 4 คำสั่งก็ได้

แบบด้านบนก็สามารถรันได้เหมือนกันใช่ไหมครับ? แต่ถ้าเราเอา Step ใน Case

ไปไว้ใน Setttings ล่ะ จะทำให้ Code เราอ่านง่ายกว่าหรือเปล่า?

 

อย่างรูปด้านบนก็จะรู้ได้ว่า ก่อนที่จะเริ่ม Run Test ทั้งหมดเนี่ย

ให้เริ่มทำการเปิด Browser ก่อน (Suite Setup) 

แล้วพอจบ Test ให้ทำการ ปิด Browser นี้ซะ (Suite Teardown) ก็ดูเข้าใจง่ายขึ้นไปอีก

 

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

Test Teardown ก็ได้ เพราะว่าเราสามารถใช้ Suite Setup ในการเริ่มต้น

และ Suite Teardown ในการจบการกระทำเลยก็ได้

แล้วถ้าเรามีหลายๆ Case ล่ะ ทำไงดี?

 

กรณีที่เรามี Case เยอะๆ แล้ว flow การทำงานเหมือนกันทุก Case

อย่างเช่น กรณีด้านบน คือการตรวจสอบการ Log in ของ Gmail. flow การทำงานของมันคือ

  • เริ่มต้น Run File นี้โดยเปิดเว็บ google (Suite Setup : เปิด Browser)
  • เริ่มต้นก่อนเข้า Case คือการไปหน้า Log in (Test Setup : คลิกปุ่ม ลงชื่อเข้าสู่ระบบ )
  • ตอนจบ Case ต้องกลับมาหน้าแรก เพื่อเริ่มต้นการทำงานใน Case ใหม่ได้ 

(Test Teardown : ไปที่ www.google.com)

  • พอเริ่ม Case ที่ 2 3 4 5 6 หรือ Case ที่ 100 มันก็จะเริ่ม Test Setup ก่อนเข้า Case และจบ Case ให้ Test Teardown
  • จบ Case สุดท้าย ก็ให้ปิด Browser นั่นซะ (Suite Teardown : ปิด Browser)

 

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

 

ข้อดีของมันก็คือการลด Line of Code แล้วแน่ ๆ เห็นไหมว่า ถ้ามันมี Flow ที่มี Step แบบนี้ เป็นร้อย ๆ Case

แล้วมี Test Setup , Test Teardown เข้ามาช่วย เราจะสามารถลดบรรทัดได้เป็น 200 บรรทัดเลยนะ



ติดตามข่าวสารและเรื่องราวดีๆ ทาง Email