QA/Tester มาทำความรู้จักกับ Robot Framework กันเถอะ — ep.1
😸 สวัสดีครับ นี่จะเป็น ep แรกที่เกี่ยวกับซีรีย์ของการทำ Automate ด้วย Robot Framework with selenium ซึ่ง ep นี้จะมาพาทัวร์ทำความรู้จักกับ…
QA/Tester มาทำความรู้จักกับ Robot Framework กันเถอะ — ep.1

😸 สวัสดีครับ นี่จะเป็น ep แรกที่เกี่ยวกับซีรีย์ของการทำ Automate ด้วย Robot Framework with selenium ซึ่ง ep นี้จะมาพาทัวร์ทำความรู้จักกับ Robot Framework และโครงสร้างของ Robot Framework ครับ ก็ถ้าพร้อมแล้วก็มาเริ่มกันดีกว่าครับ
🤖 Robot Framework คืออะไร? 🧐
Robot Framework เป็น framework สำหรับการทดสอบแบบอัตโนมัติ (Automation Testing Framework)
- ใช้ภาษาแบบ Keyword-Driven Testing (ภาษาใกล้เคียงกับมนุษย์ ทำให้อ่านง่าย เขียนง่าย)
- รองรับหลายประเภทของการทดสอบ (เช่น Web, API, Database, CLI)
- รองรับการทำงานร่วมกับ library อื่น ๆ เช่น SeleniumLibrary, AppiumLibrary, และอื่นๆ
- เขียน Test case ได้ทั้งในรูปแบบ .robot file (Syntax พิเศษของ Robot) หรือแบบ Python
Selenium คืออะไร? 🤔
Selenium เป็นเครื่องมือ Open Source สำหรับการทดสอบเว็บแอปพลิเคชันผ่านเบราว์เซอร์
- เป็นตัวควบคุมการทำงานของเบราว์เซอร์ เช่น เปิดเว็บ, คลิก, พิมพ์ ฯลฯ
- สนับสนุนหลายภาษา (เช่น Python, Java, C#, JavaScript)
- สนับสนุนหลายเบราว์เซอร์ (Chrome, Firefox, Edge, Safari)
โครงสร้างของ Robot Framework 😤
โครงสร้างของ Robot Framework จะประกอบไปด้วย 4 ส่วนหลักๆดังนี้

Settings
Settings เป็นส่วนของการตั้งค่าเริ่มต้นโปรแกรม โดยกำหนดค่าต่างๆ เช่น library, Resource, Variables, Path ต่างๆ แล้วก็อย่าลืม Import SeleniumLibrary ด้วย เพื่อให้มันสามารถเข้าไปควบคุมตัว Browser ของเราได้
*** Settings ***
Library SeleniumLibrary
Resource resource.robot
Variables variables.py
Suite Setup Setup Environment
Suite Teardown Cleanup
Test Setup Open Browser
Test Teardown Close Browser
Library– โหลด Library ที่ต้องการใช้Resource– โหลดไฟล์ Resource ที่เก็บ keywordVariables– โหลดไฟล์ที่เก็บตัวแปรต้องนามสกุล.pyสามารถใช้Resourceในการเก็บVariablesได้Suite Setup/Teardown– คำสั่งที่รันก่อนและหลัง Test suiteTest Setup/Teardown– คำสั่งที่รันก่อนและหลังแต่ละ Test case
Variables
Variables เป็นส่วนของการประการค่าตัวแปรเพื่อง่ายต่อการเรียกใช้งานซึ่งมีทั้งหมดอยู่ 3 แบบคือ Scalar, List และ Dictionary …ไว้เดี๋ยวอธิบายส่วนนี้ในบทความถัดๆไปนะครับ
ตัวอย่าง
*** Variables ***
${URL} https://example.com
${BROWSER} Chrome
@{USERS} user1 user2 user3
&{CREDENTIALS} username=user password=pass
Keywords
Keywords เป็นส่วนของการเขียน Function หรือขั้นตอน เพื่อออกแบบว่าอยากให้มันทำอะไรบ้างเมื่อถูกเรียกใช้งาน ซึ่งสามารถเรียกใช้งานได้บ่อยๆ หรือใช้ซ้ำได้
ตัวอย่าง
*** Keywords ***
Login To Website
Input Text id=username ${CREDENTIALS['username']}
Input Text id=password ${CREDENTIALS['password']}
Click Button id=loginBtn
Test Cases
Test Cases เป็นที่ที่เราจะเขียนสิ่งที่ต้องการ Test ลงไป โดยใช้ชุด keyword ใส่ลงไป
ตัวอย่าง
*** Test Cases ***
Login Successfully
Open Browser ${URL} ${BROWSER}
Input Text id=username ${CREDENTIALS['username']}
Input Text id=password ${CREDENTIALS['password']}
Click Button id=loginBtn
Page Should Contain Welcome
[Teardown] Close Browser
- แต่ละ Test case เริ่มต้นด้วยชื่อเทส แล้วตามด้วยชุด keyword
- รองรับการใช้
[Setup]และ[Teardown]เฉพาะราย Test ได้
มาดูตัวอย่าง Robot Framework ใน 1 หน้ากันครับ (เขียนไม่ค่อยดีครับ55 ก็อปมา)
*** Settings ***
Library SeleniumLibrary
Resource ../resources/keywords.robot
Variables ../variables/global_variables.robot
Test Setup Open Browser To Login Page
Test Teardown Close Browser
*** Variables ***
${URL} https://example.com
${BROWSER} chrome
${VALID_USER} user1
${VALID_PASS} password1
*** Keywords ***
Open Browser To Login Page
Open Browser ${URL} ${BROWSER}
input text id=tt ${VALID_USER}
input text id=qq ${VALID_PASS}
*** Test Cases ***
Valid Login Test
Open Browser To Login Page
sleep 5
ถ้างานจริงก็ควรแยกไฟล์ Robot Framework ออกจากกัน มันจะเรียกว่า Page Object เพื่อง่ายต่อการทำงานอาจแยกได้ประมาณนี้ (ไปก็อปมา ไม่ต้องตามนี้ก็ได้ อันนี้ก็ไม่ดีเท่าไหร่ )
Project/
│
├── tests/
│ ├── login_tests.robot
│ ├── search_tests.robot
│ └── ...
│
├── resources/
│ └── keywords.robot ← รวม keywords
│
└── variables/
└── variables.robot ← ตัวแปรที่ใช้ร่วมกัน
คร่าวๆก็จะประมาณนี้ครับ อาจจะมีอะไรที่ผมตกหล่นไปหรือมีผิดพลาดบ้าง ก็ขออภัยมา ณ ที่นี้ด้วยครับ
🫠 ทั้งหมดก็จะมีประมาณนี้ ถ้าชอบก็อย่าลืมกดตบมือและแชร์เพื่อเป็นกำลังใจให้ผมด้วยนะครับ และอย่าลืมติดตามบทความถัดๆไปของผมด้วย ขอบคุณทุกๆท่านที่อ่านจนจบนะครับ ขอบคุณมากครับ 🥳
메타데이터
- post_id
- be214ebe663f
- slug
- qa-tester-มาทำความรู้จักกับ-robot-framework-กันเถอะ-ep-1-be214ebe663f
- url
- https://medium.com/@punthanet/qa-tester-%E0%B8%A1%E0%B8%B2%E0%B8%97%E0%B8%B3%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1%E0%B8%A3%E0%B8%B9%E0%B9%89%E0%B8%88%E0%B8%B1%E0%B8%81%E0%B8%81%E0%B8%B1%E0%B8%9A-robot-framework-%E0%B8%81%E0%B8%B1%E0%B8%99%E0%B9%80%E0%B8%96%E0%B8%AD%E0%B8%B0-ep-1-be214ebe663f
- canonical_url
- https://medium.com/@punthanet/qa-tester-%E0%B8%A1%E0%B8%B2%E0%B8%97%E0%B8%B3%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1%E0%B8%A3%E0%B8%B9%E0%B9%89%E0%B8%88%E0%B8%B1%E0%B8%81%E0%B8%81%E0%B8%B1%E0%B8%9A-robot-framework-%E0%B8%81%E0%B8%B1%E0%B8%99%E0%B9%80%E0%B8%96%E0%B8%AD%E0%B8%B0-ep-1-be214ebe663f
- author_url
- https://medium.com/@punthanet
- status
- ok
- fetched_at
- 2026-06-09 15:37:30