หลังจากที่เราสามารถ ถอด Test Script ให้เป็น Robot Script และรัน Automate Test เป็นผลสำเร็จ เย้!!! \^O^/

แล้ว….ถ้าเกิดกรณีใน Test case มันดันมี Test scenario มากกว่า 1 Scenario ล่ะ เราจะเขียน Script ใน Robot framework อย่างไร?

 

ตัวอย่าง Test case ที่มี มากกว่า 1 Scenario

Case 2 : ลงชื่อเข้าสู่ระบบ Facebook  ถ้าระบุ Email Address หรือ Password ไม่ถูกต้อง ระบบจะแสดงข้อความแจ้งเตือนเพื่อให้ระบุค่าให้ถูกต้อง

31

 

Process การทำงานของแต่ละ Scenario ใน Test case จะมีลักษณะดังนี้

32

 

ทีนี้มาเริ่มเขียน Script กันเลย

33

 

คำอธิบาย :

**ใน Part นี้ขออธิบายตามโครงสร้างแต่ละส่วนละกันนะจ๊ะ

  1. Settings

ใน Part นี้นอกจากเราจะเอาไว้เรียก Library แล้ว ยังมีคีย์เวิร์ดเพิ่มขึ้นมา 2 ตัวนั่นคือ Test Setup และ Test Teardown

Test Setup กับ Test Teardown จะเหมือนเป็นการ Start – End process  เอาไว้ใช้ในกรณีที่ใน Test case มีหลาย ๆ Test Scenario แล้วในแต่ละ Scenario ต้องใช้คีย์เวิร์ดเหมือน ๆ กัน เช่นในกรณีนี้คือ แต่ละ Scenario ต้องทำการเปิดเว็บไซต์ขึ้นมาเพื่อกระทำ และ ปิดเว็บไซต์ทุกครั้ง ดังนั้น เราจึงนำ Test Setup และ Test Teardown มาใช้เพื่อจะได้ไม่ต้องพิมพ์คีย์เวิร์ด Open Browser และ Close Browser หลาย ๆ ครั้งให้ยืดยาว เปลืองเนื้อที่

นอกจากนี้ยังมี Test Template , Suite Setup , Suite Teardown ซึ่งเป็น Keyword ที่ทำงานในลักษณะคล้าย ๆ กัน ไว้จะมาอธิบายคราวหลังเนอะ

  1. Keywords

ตามตัวอย่างมีการสร้าง Keyword ขึ้นมา 2 ตัว คือ

Open facebook สร้างไว้สำหรับเรียกใช้ใน Test Setup เนื่องจาก เราไม่สามารถที่จะเอา Keyword ที่มี Argument ไปใส่โดด ๆ ตรงนั้น เราจึงจำเป็นต้องสร้าง Keyword ขึ้นมาก่อน

Log in   ปกติสคริปต์ที่เราเขียนเมื่อจะ Log in เข้าสู่ระบบของ facebook จะเป็นดังนี้

 34

ต้องพิมพ์ถึง 3 บรรทัดเลยทีเดียว ในกรณีที่ใน Test case มีหลาย Scenario เราต้องพิมพ์คีย์เวิร์ดชุดนี้ซ้ำ ๆ ดังนั้นจึงนำมาสร้างเป็นคีย์เวิร์ดและทำการกำหนด Argument ไว้สำหรับรับค่า

  1. Test cases

ทีนี้เราก็เพียงแค่เรียกคีย์เวิร์ดที่เราสร้างมาใช้ แล้วกำหนดสิ่งที่เราคาดหวัง หรือผลลัพธ์ที่จะต้องปรากฎ ด้วยคีย์เวิร์ดWait Until Page Contains หรือ Wait Until Page Contains Element

เสร็จแล้วก็สั่งรันกด Ctrl+B

35

 

36

37

ผลการรันใน Sublime

39

ไฟล์ log.html

40

 

________________________________________________________________________

บทความอื่น ๆ ที่เกี่ยวกับ Robot framework

________________________________________________________________________

เรียบเรียงโดย

ทัศนีย์ คัดเจริญ
Quality Assurance