Robot Framework
Robot Framework เป็นเครื่องมือสำหรับการทดสอบแบบอัตโนมัติที่มีความยืดหยุ่นและใช้งานง่าย สามารถใช้ในการทดสอบหลายประเภท เช่น Functional Testing, Acceptance Testing, และอื่น ๆ
2024-06-16 22:41:37 - @ratanon
คุณสมบัติหลักของ 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 และการทดสอบอื่น ๆ โดยสามารถใช้ร่วมกับไลบรารีเสริมต่าง ๆ เพื่อเพิ่มประสิทธิภาพในการทดสอบได้