How to Automate test with Robot framework - up1/soa_group2 GitHub Wiki
- Settings
- Variables
- Keywords
- Test Cases
สร้างไฟล์ .robot ขึ้นมาแล้วเปิด code editor แล้วใส่ setting ตามนี้
*** Settings ***
Library Selenium2Library
Test Setup Start Browser
Test Teardown Close All Browsers
เป็นการ setting เพื่อบอกว่าเป็นการ import Selenium Library
**หมายเหตุ คำว่า Library กับ Selenium2Library ต้องเว้นวรรคห่างกัน 4 space ขึ้นไปเท่านั้น
ส่วนนี้เอาไปสำหรับตั้งตัวแปรและใส่ค่าตัวแปรต่างๆที่จะเอาไปใช้บ่อย หรือ เพื่อให้สวยงาม
*** Variables ***
${TESTADDRESS} https://www.youtube.com/
${BROWSER} chrome
${FIVESECOND} 5.0
${TENSECOND} 10.0
**หมายเหตุ การตั้งตัวแปร ต้องเว้นวรรคระหว่างตัวแปรกับค่าที่จะใส่ 4 space ขึ้นไป
Keywords คือการกระทำที่เราตั้งค่าให้ว่า จะให้ทำอะไรบ้างเช่น
*** Keywords ***
Start Browser
Open Browser ${TESTADDRESS} ${BROWSER}
Maximize Browser Window
Check Rick Roll
Wait Until Page Contains Element tag=video ${TENSECOND}
Sleep ${TENSECOND}
Page Should Contain Rick Astley - Never Gonna Give You Up
Page Should Contain RickAstleyVEVO
จาก code ข้างบน จะทำการสร้าง keyword ชื่อ Start browser ขึ้นมา ซึ่งเมื่อเราเอา keyword ไปใช้จริงจะเกิดการกระทำ 2 อย่าง ดังนี้
- เปิดเว็บบราวเซอร์ จาก ตัวแปร ${BROWSER} ซึ่งก็คือ google chrome นั่นเอง
- ขยายหน้าต่่างเว็บบราวเซอร์ให้เต็มจอ
**หมายเหตุ การตั้ง keyword นั้นต้องพิมพ์ชื่อ keyword (แนะนำให้ตั้งชื่อแบบCapitalize) และเคาะ enter หนึ่งครั้งเพื่อเว้นบรรทัด เสร็จแล้วก็ต้องเว้นวรรค 4 space (ด้วยการเคาะ spacebar 4 ครั้ง) แล้วจึงใส่ คำสั่งว่า จะให้ทำอะไร และก็ต้องดูว่า คำสั่งนั้นต้องการ argument ด้วยหรือไม่ ถ้ามีเช่น คำสั่ง Open Browser เมื่อพิมพ์ Open Browser เสร็จก็ต้อง เว้นวรรค 4 space แล้วจึงใส่ค่า argument ต่างๆ ดังตัวอย่างข้างต้น
Test Cases เป็นส่วนที่เอาไว้ รัน test case ต่างๆ ตามที่เราเขียนลงไป
*** Test Cases ***
ทดสอบค้นหาเพลง never gonna give you up ด้วยการค้นหาแบบเต็มคำ
Input Text masthead-search-term never gonna give you up
Click Button xpath=//*[@id="search-btn"]
Wait Until Page Contains Rick Astley ${FIVESECOND}
Wait Until Page Contains Element link=Rick Astley - Never Gonna Give You Up
Click Link link=Rick Astley - Never Gonna Give You Up
Check Rick Roll
ทดสอบค้นหาเพลง never gonna give you up ด้วยการค้นหาแบบไม่เต็มคำ
Input Text masthead-search-term never gonna
Click Button xpath=//*[@id="search-btn"]
Wait Until Page Contains Rick Astley ${FIVESECOND}
Wait Until Page Contains Element link=Rick Astley - Never Gonna Give You Up
Click Link link=Rick Astley - Never Gonna Give You Up
Check Rick Roll
จาก code ดังกล่าว จะ ทำการทดสอบ 2 test case โดยมีชื่อ test case ว่า
- "ทดสอบค้นหาเพลง never gonna give you up ด้วยการค้นหาแบบเต็มคำ"
- "ทดสอบค้นหาเพลง never gonna give you up ด้วยการค้นหาแบบไม่เต็มคำ"
**ในหนึ่ง test case ใช้ได้หลาย keyword และสามารถใช้ได้ทั้ง keyword ที่เราสร้างขึ้นมาหรือจะใช้ default keyword ของ Selenium2Library ก็ได้
ปกติเวลาเราใช้ default keyword เช่น Click Element
keyword นี้ต้องการ argument ที่เป็น locator เพื่อบอกว่า จะให้ไปคลิ๊กที่แห่งหนใด
ตัวอย่างการใช้ locator
ใช้แบบหาจาก HTML element id เช่น
Click Element id=search-btn
-><button id='search-btn'>Search</button>
ใช้แบบหาจาก HTML DOM element เช่น
Click Element dom=document.links[11]
-><a href="#">Go to 11 street</a>
ใช้แบบหาจาก HTML name attribute เช่น
Input Text name=search-box lorem ipsum
-><input name='search-box' />
ใช้แบบหาจาก CSS Selectors เช่น
Click Element css=div.my-button
-><div><button class='my-button'></button></div>
ใช้แบบหาจาก XPATH เช่น
Click Element xpath=//*[@id="btn"]
-><div><button id='btn'>Search</button></div>
ใช้แบบหาจาก Link Text เช่น
Click Link link=go top
-><div><a href='#'>go top</a></div>