ratanon.com - developer

Robot Framework

Robot Framework เป็นเครื่องมือสำหรับการทดสอบแบบอัตโนมัติที่มีความยืดหยุ่นและใช้งานง่าย สามารถใช้ในการทดสอบหลายประเภท เช่น Functional Testing, Acceptance Testing, และอื่น ๆ

คุณสมบัติหลักของ Robot Framework

Keyword-driven Testing: ใช้การทดสอบที่อิงตามคีย์เวิร์ด ซึ่งทำให้สามารถอ่านและเข้าใจได้ง่าย

Reusable Test Cases: สามารถสร้างและใช้ซ้ำ Test Cases ได้

Extensible: สามารถขยายความสามารถได้ด้วยการเพิ่มไลบรารีใหม่ ๆ หรือการเขียนไลบรารีเองด้วย Python หรือ Java

Data-driven Testing: รองรับการทดสอบที่ใช้ข้อมูลหลากหลายรูปแบบ

Reporting: สร้างรายงานผลการทดสอบในรูปแบบ HTML ที่อ่านง่าย

การติดตั้ง Robot Framework

ในการเริ่มต้นใช้งาน Robot Framework จะต้องติดตั้ง Python ก่อน จากนั้นสามารถติดตั้ง Robot Framework ผ่าน pip ดังนี้:

pip install robotframework

ถ้าต้องการทดสอบเว็บแอปพลิเคชัน สามารถติดตั้ง Selenium Library และ WebDriver ด้วยคำสั่ง:

pip install robotframework-seleniumlibrary
pip install selenium


การใช้งาน Robot Framework

ไฟล์ทดสอบใน Robot Framework จะมีนามสกุล .robot โดยมีโครงสร้างที่แบ่งออกเป็น 4 ส่วนหลัก ๆ ได้แก่ Settings, Variables, Test Cases, และ Keywords


ตัวอย่างไฟล์ทดสอบ (test_example.robot):

*** Settings ***
Library    SeleniumLibrary

*** Variables ***
${URL}     https://example.com
${BROWSER}  Chrome

*** Test Cases ***
Open Browser And Verify Title
    [Documentation]    เปิดเว็บและตรวจสอบหัวข้อ
    Open Browser    ${URL}    ${BROWSER}
    Title Should Be    Example Domain
    [Teardown]    Close Browser

*** Keywords ***


การรันทดสอบ

สามารถรันไฟล์ทดสอบด้วยคำสั่ง:

robot test_example.robot


การสร้างและใช้งาน Keywords

Keywords ช่วยให้สามารถทำการทดสอบได้ง่ายขึ้น โดยการรวมคำสั่งหลาย ๆ คำสั่งไว้ในคำสั่งเดียว

ตัวอย่างการสร้าง Keywords ในไฟล์ .robot:

*** Keywords ***
Open Browser To Example
    Open Browser    ${URL}    ${BROWSER}
    Title Should Be    Example Domain

แล้วนำไปใช้ใน Test Cases:

*** Test Cases ***
Open Browser And Verify Title Using Keyword
    [Documentation]    เปิดเว็บและตรวจสอบหัวข้อโดยใช้คีย์เวิร์ด
    Open Browser To Example
    [Teardown]    Close Browser


การจัดการ Test Data ด้วย Variables

สามารถใช้ตัวแปรเพื่อจัดการข้อมูลทดสอบที่ซ้ำซ้อนหรือมีการเปลี่ยนแปลงบ่อย:

*** Variables ***
${URL}     https://example.com
${BROWSER}  Chrome
${USERNAME}  testuser
${PASSWORD}  testpass


การสร้างรายงานผลการทดสอบ

หลังจากรันการทดสอบ Robot Framework จะสร้างรายงานและล็อกไฟล์ในรูปแบบ HTML อัตโนมัติ ทำให้สามารถตรวจสอบผลการทดสอบได้ง่าย:

  • report.html: รายงานผลการทดสอบ
  • log.html: ล็อกไฟล์ที่มีรายละเอียดของการทดสอบ


การใช้งานเพิ่มเติมและไลบรารีอื่น ๆ

นอกจาก Selenium Library แล้ว ยังมีไลบรารีอื่น ๆ ที่สามารถใช้งานร่วมกับ Robot Framework ได้ เช่น:

  • RequestsLibrary: สำหรับการทดสอบ API
  • DatabaseLibrary: สำหรับการทดสอบการเชื่อมต่อฐานข้อมูล
  • AppiumLibrary: สำหรับการทดสอบแอปพลิเคชันมือถือ


ตัวอย่างการทดสอบ API ด้วย RequestsLibrary

ติดตั้ง RequestsLibrary:

pip install robotframework-requests

ไฟล์ทดสอบ (test_api.robot):

*** Settings ***
Library    RequestsLibrary

*** Variables ***
${API_URL}     https://jsonplaceholder.typicode.com/posts

*** Test Cases ***
Get Posts
    [Documentation]    ทดสอบการเรียก API
    ${response}=    GET    ${API_URL}
    Status Should Be    200
    Log    ${response.json()}


สรุป

Robot Framework เป็นเครื่องมือที่มีความสามารถสูงและมีความยืดหยุ่นในการทำการทดสอบแบบอัตโนมัติ รองรับการใช้งานหลากหลายรูปแบบทั้งการทดสอบเว็บแอปพลิเคชัน การทดสอบ API และการทดสอบอื่น ๆ โดยสามารถใช้ร่วมกับไลบรารีเสริมต่าง ๆ เพื่อเพิ่มประสิทธิภาพในการทดสอบได้

0
38