Robot Framework — ep.3 Suite Setup, Test Setup, Variable ทั้ง 3 แบบและอื่นๆ
😸 สวัสดีครับ เท้าความจาก ep.1 ซึ่ง ep นี้จะเป็นการเสริมรายละเอียดต่างๆ, detail, หรือความรู้เพิ่มเติมในแต่ละส่วนของโครงสร้าง Robot…
Robot Framework — ep.3 Suite Setup, Test Setup, Variable ทั้ง 3 แบบและอื่นๆ

😸 สวัสดีครับ เท้าความจาก ep.1 ซึ่ง ep นี้จะเป็นการเสริมรายละเอียดต่างๆ, detail, หรือความรู้เพิ่มเติมในแต่ละส่วนของโครงสร้าง Robot Framework เช่น Suite Setup/Teardown , Test Setup/Teardown , Variable ทั้ง 3 แบบ Scalar, List, Dictionary และอื่นๆครับ ก็ถ้าพร้อมแล้วก็มาเริ่มกันดีกว่าครับ
Settings ✏️เสริม ⬆️
Suite Setup/Teardown และ Test Setup/Teardown 😤
Suite Setup/Suite Teardown 🫥
Suite Setup→ ทำก่อนเริ่ม Test Case แรกSuite Teardown→ ทำหลังจบ Test Case สุดท้ายสุด
*** Settings ***
Suite Setup เปิด Browser
Suite Teardown ปิด Browser
*** Test Cases ***
TC1
ขั้นตอน TC1
TC2
ขั้นตอน TC2
ลำดับการทำงานจะเป็นแบบนี้
- ✅ เริ่มด้วย Suite Setup → เปิด Browser
- ▶️ รัน Test Case 1 (TC1)
- ▶️ รัน Test Case 2 (TC2)
- ✅ ปิดท้ายด้วย Suite Teardown → ปิด Browser
Test Setup/Test Teardown 🫥
Test Setup→ ทำก่อนแต่ละ Test CaseTest Teardown→ ทำหลังแต่ละ Test Case
*** Settings ***
Test Setup เตรียมข้อมูลก่อนเทสต์
Test Teardown ล้างข้อมูลหลังเทสต์
สรุป

Variables ✏️เสริม ⬆️
ในส่วนของ Variable ซึ่งมีทั้งหมด 3 แบบ Scalar, List, Dictionary
1. Scalar Variable (${variable})
- ตัวแปรแบบ Scalar คือ ตัวแปรที่เก็บค่าเดี่ยวๆ หนึ่งค่า (สัญลักษณ์
${}) - ค่าที่เก็บได้หลากหลาย เช่น ข้อความ (String), ตัวเลข (Number), Boolean, หรือแม้แต่ Object ใดๆ
*** Variables ***
${username} NameTesttttt
*** Test Cases ***
Example Scalar
Log Username is ${username}
2. List Variable (@{variable})
- ตัวแปรแบบ List คือ ตัวแปรที่เก็บค่า หลายค่า ในรูปแบบลำดับ (Sequence) (สัญลักษณ์
@{}) - ใช้เก็บชุดข้อมูล เช่น รายการชื่อ, ตัวเลข, หรือ Object หลายๆ ตัว
*** Variables ***
@{fruits} apple banana cherry
@{numbers} 1 2 3 4 5
*** Test Cases ***
Example List
Log Many @{fruits} # เขียนแบบนี้ก็ได้
Log First fruit is ${fruits}[0] # ระบุเป็นตัวซึ่ง index นับจาก 0,1,2,...

- ดูง่ายๆเลยว่า
${fruits}[0]คือ index ที่ 0 ก็คือ apple นั้นเอง
3. Dictionary Variable (&{variable})
- ตัวแปรแบบ Dictionary คือ ตัวแปรที่เก็บคู่ key-value (สัญลักษณ์
&{}) - ใช้เก็บข้อมูลที่ต้องการ Index ด้วย key แทนตำแหน่ง เช่น ข้อมูลที่มีชื่อ Field ระบุชัดเจน
*** Variables ***
&{user} name=JohnDoe age=30 country=Congo
*** Test Cases ***
Example Dictionary
Log User name ${user['name']}
Log User age ${user['age']}
Log User country ${user['country']}

- ก็จะเห็นว่าเก็บข้อมูลแบบ key-value
name=JohnDoe age=30 country=Congoถ้าเรียก key ตัวไหน value ตัวนั้นก็ออก
Variables ด้วยไฟล์ .yaml
เราสามารถสร้างไฟล์เพื่อเก็บ Variables ในรูปแบบไฟล์ .yaml ได้นะ อย่าลืม Import YAMLLibrary ด้วยนะ สามารถโหลดได้ด้วยคำสั่งด้านล่างเลย
pip install robotframework-yaml
*** Settings ***
Library SeleniumLibrary
Library YAMLLibrary
Variables ../resources/config/config.yaml
Variables ../resources/testdata/testdata.yaml
ข้อดีของไฟล์ .yaml
- ไฟล์
.yamlคือไฟล์ข้อมูลที่เก็บอยู่ใน รูปแบบ key-value
Robot Framework จะมองว่า key ทั้งหมดกลายเป็น ตัวแปรของ Robot Framework โดยที่ ค่าใน YAML จะยังเป็น String ตามประเภทเดิม
ตัวอย่าง .yaml
baseUrl: https://Testttt.co/
timeout: 5
enabled: true
tags: [login, smoke]
=> ถ้ากลายเป็นใน Robot Framework
${baseUrl} = "https://Testttt.co/"
${timeout} = 5
${enabled} = True
${tags} = [‘login’, ‘smoke’]
จะเห็นว่าไฟล์ .yaml จะเขียนง่ายมากๆ ทำให้ไฟล์ variables ของเราไม่ต้องไปใส่พวกวงเล็บ ${} ทำให้สะดวกมากๆ (แต่ผมไม่ค่อยชิน เลยไม่ใช้เลย55 )
Keywords ✏️เสริม ⬆️
เราสามารถใส่ ชื่อไฟล์. ข้างหน้า keyword ได้ เช่น CommonKeywords.Login to website
- เพื่่อช่วยให้ชัดเจนว่า keyword นี้มาจากไฟล์ไหน (แต่ไม่จำเป็นต้องใส่ก็ได้นะ ผมก็ไม่ใส่) โดยเฉพาะในกรณีที่มีหลายไฟล์ Resource ถูก Import เข้ามา
*** Keywords ***
Login to website
CommonKeywords.Login to website xxxxx
CommonKeywords.input some values xxxxx
คร่าวๆก็จะประมาณนี้ครับ อาจจะมีอะไรที่ผมตกหล่นไปหรือมีผิดพลาดบ้าง ก็ขออภัยมา ณ ที่นี้ด้วยครับ
🫠 ทั้งหมดก็จะมีประมาณนี้ ถ้าชอบก็อย่าลืมกดตบมือและแชร์เพื่อเป็นกำลังใจให้ผมด้วยนะครับ และอย่าลืมติดตามบทความถัดๆไปของผมด้วย ขอบคุณทุกๆท่านที่อ่านจนจบนะครับ ขอบคุณมากครับ 🥳
메타데이터
- post_id
- 2d42e8d57426
- slug
- robot-framework-ep-3-suite-setup-test-setup-variable-ทั้ง-3-แบบและอื่นๆ-2d42e8d57426
- url
- https://medium.com/@punthanet/robot-framework-ep-3-suite-setup-test-setup-variable-%E0%B8%97%E0%B8%B1%E0%B9%89%E0%B8%87-3-%E0%B9%81%E0%B8%9A%E0%B8%9A%E0%B9%81%E0%B8%A5%E0%B8%B0%E0%B8%AD%E0%B8%B7%E0%B9%88%E0%B8%99%E0%B9%86-2d42e8d57426
- canonical_url
- https://medium.com/@punthanet/robot-framework-ep-3-suite-setup-test-setup-variable-%E0%B8%97%E0%B8%B1%E0%B9%89%E0%B8%87-3-%E0%B9%81%E0%B8%9A%E0%B8%9A%E0%B9%81%E0%B8%A5%E0%B8%B0%E0%B8%AD%E0%B8%B7%E0%B9%88%E0%B8%99%E0%B9%86-2d42e8d57426
- author_url
- https://medium.com/@punthanet
- status
- ok
- fetched_at
- 2026-06-09 15:37:30