หลังจากที่ทำความเข้าใจกับ Requirement ของระบบงานแล้ว ต่อมา ก็คือการเขียน Test script พอเขียนเสร็จ ก็จะเป็นขั้นตอนของการลงมือ Test ระบบตาม Step ที่เขียนใน Test script ซีงในส่วนของวิธีการที่ทำจะ Test ก็แล้วแต่ว่า Case ไหนเราสามารถทำ Automate test ได้ หรือ Case ไหนที่เราควร Manual Test

โดยในบทความนี้เราจะกล่าวถึงการทำ Automate Test โดยใช้ Robot framework ค่ะ

          “ Robot Framework คือซอฟต์แวร์ Open Source ที่ใช้สำหรับการทำ Acceptance Testing และ ATDD (Acceptance Test-Driven Development) โดยมีรูปแบบ Syntax ที่เป็นภาษาเขียนธรรมดาทำให้การ Test ระบบไม่น่าเบื่ออีกต่อไป ”

 

ตัวอย่างประโยคในการเขียน Test Script

Case 1 : ลงชื่อเข้าสู่ระบบ Facebook  กรณีระบุ Username  และ Password ถูกต้อง ระบบจะแสดงหน้าหลักของเว็บไซต์ Facebook

11

 

จากตัวอย่าง case ข้างต้นเราก็จะเห็น Process การทำงานที่เรียงเป็นลำดับได้ดังนี้

12

 

จาก Process ดังกล่าว เราสามารถนำมาเขียนเป็น Script ใน Robot framework ได้ดังนี้

  1. เริ่มที่การวางโครงสร้างโดยใน sublime สามารถเรียกโครงสร้างของ Robot ได้โดยคลิกขวา > Robot Framework > Snippets

ก็จะปรากฎโครงสร้างส่วนต่าง ๆ ของ Robot ให้เลือกโดยที่เราไม่ต้องพิมพ์เองเลย

13

          บันทึกไฟล์ชื่อ case-1-facebook-login.txt ไว้ในโฟล์เดอร์ที่ต้องการ

14

  1. เมื่อสร้างโครงสร้างเรียบร้อยแล้วก็เริ่มเขียน Test case ได้เลย ในกรอบสี่เหลี่ยมสีชมพูคือคีย์เวิร์ด ที่สั่งให้สคริปทำงานนั่นเองค่ะ สามารถเข้าไปดู Keyword ใน Selenium2Library ได้ที่นี่

15

คำอธิบาย :

Note : ช่องว่างระหว่าง Keyword กับ Argument ต้องห่างกัน 2 วรรคขึ้นไป ไม่เช่นนั้น Robot จะถือว่าเป็น Keyword เดียวกัน

 

  • Open Browser https://www.facebook.com/    gc

คำสั่งเปิดเว็บไซต์ facebook  จากตัวอย่างจะเขียนตามด้วย  gc  คือจะเป็นการกำหนดเว็บบราวเซอร์เปิดโดยเว็บบราวเซอร์ Google Chrome แต่ถ้าไม่มีการกำหนด ก็จะเปิดเว็บไซต์ด้วย Default web browser นั่นคือ Firefox

  • Wait Until Page Contains โลโก้ Facebook

Wait Until Page Contains เป็นคำสั่งที่ตรวจสอบว่า เจอสิ่งที่เราคาดหวังหรือไม่ จากตัวอย่างคือ เมื่อเปิดเว็บไซต์ facebook ขึ้นมาจะต้องเจอ “โลโก้ Facebook” ซึ่งสิ่งที่เราคาดหวังเราจะหาได้โดยการกด inspec ในหน้าเว็บไซต์

16

          ทั้งนี้สิ่งที่เราคาดหวังอาจจะเป็นได้ทั้งข้อความ, รูปภาพ, Text box หรือ Element อื่น ๆ ก็ได้ แต่ Wait Until Page Contains จะใช้ในกรณีสิ่งที่เราคาดหวังเป็น Text เท่านั้น ถ้าสิ่งที่เราคาดหวังเป็นรูปภาพอาจจะใช้คีย์เวิร์ดอื่นแทน เช่น

Wait Until Page Contains Element    <<Element locator>>

          ซึ่ง Element locator ได้แก่

17

เป็นคำสั่งให้กรอกค่าลงไปใน Text box หรือ Text area ซึ่งระบุ Text box ที่ต้องการให้กรอกด้วย Element locator นั่นเอง

  • Input Password pass    xxx

คำสั่งนี้ลักษณะการทำงานจะเหมือนกับ Input Text แต่ค่าข้อมูลที่ระบุลงไปจะเป็นลักษณะของการกรอก Password

18

  • Click Button เข้าสู่ระบบ

เป็นคำสั่งให้คลิกปุ่ม

  • Wait Until Page Contains หน้าหลัก

ตรวจสอบว่าเมื่อคลิกปุ่มเข้าสู่ระบบแล้ว หากกรอกอีเมล์และรหัสผ่านถูกต้อง ระบบจะแสดงหน้าหลักของ Facebok

  • Close Browser

คำสั่งปิดบราวเซอร์ เมื่อเสร็จสิ้นการทำงาน

  1. หลังจากที่เราทำการเขียนครบทุกคีย์เวิร์ดแล้ว กดบันทึกอีกครั้งแล้วทำการรันโดยกด Ctrl+B Robot ก็จะทำงานโดยเริ่มจากคีย์เวิร์ดในบรรทัดแรกไปจนถึงบรรทัดสุดท้าย

19

20

เมื่อรันเสร็จสิ้น Sublime จะแสดงผลการรันดังนี้

21

 

นอกจากนี้ตัว Robot framework ก็จะ Generate Log file หลังจากที่เสร็จสิ้นการรันเป็น .html ไฟล์ ในโฟล์เดอร์เดียวกับไฟล์ .txt ของเราด้วยซึ่งจะมีลักษณะดังนี้

22

 

Note: คีย์เวิร์ด “Wait Until Page Contain” หรือ “Wait …”  เป็นคีย์เวิร์ดที่สำคัญและจำเป็นที่จะต้องมีหลังจากที่เกิดการกระทำกับระบบที่เราทำการ Test เช่น Mouse action ต่าง ๆ เนื่องจากเป็นการกำหนดว่า พอเกิดการกระทำจากคำสั่งใด ๆ แล้วผลลัพธ์เมื่อการกระทำนั้นเกิดขึ้นจะเป็นอย่างไร

 

________________________________________________________________________

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

________________________________________________________________________

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

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