วันนี้มาลองเล่น Robot framework โดยวันนี้ลองใช้ RequestsLibrary ในการทดสอบ API ของเรากัน
ขอเกริ่นสักเล็กน้อย….
Robot Framework คือ?
เป็น tool ตัวนึงสำหรับการทำ automation framework ในระดับ acceptance test driven development (ATDD) โดยภาษาที่ใช้เขียนเป็นภาษาที่อ่านง่ายและใช้งานได้ง่ายอีกด้วย ซึ่งลักษณะการเขียนของมันจะใช้ keyword เป็นหลักในการสร้าง test case นั้นเอง (keyword ที่ใช้ส่วนใหญ่จะเป็นภาษามนุษย์ ซึ่งคนที่ไม่ได้เป็นสาย programming จ๋า จะสามารถอ่านและเข้าใจได้
และเจ้า Robot Framework ก็มี Library ต่างๆมากมายให้เราเลือกใช้กันด้วย สามารถเข้ามาดู > เพิ่มได้ <
ซึ่ง Robot Framework มีอยู่บน GitHub ด้วย สามารถเข้ามาดูตัวอย่าง source code ได้ด้วยนะ
ซึ่งใน blog นี้เลือกใช้ Request Library มาใช้ในการทดสอบ Request HTTP client.
https://github.com/bulkan/robotframework-requests/#readme
1.ติดตั้ง Library กันก่อน
pip install -U requests
pip install -U robotframework-requests
2.เขียน test case ที่จะใช้ทดสอบ
- Settings ในส่วนนี้เอาไว้สำหรับเรียกใช้ Library ต่างๆ ซึ่งเราเรียกใช้ RequestLibrary และ Collections เข้ามา
- Test cases ในส่วนนี้จะมีการกำหนดชื่อ Test case และ การนำ Keyword มาเขียนการทำงาน
บรรทัดที่ 6 Create HTTP session เข้าไป
Create Session <name> <url>
บรรทัดที่ 7 กำหนด path ที่เราจะ request เข้าและสร้างตัวแปรมารับค่าของ api ตัวนี้ ${response}
บรรทัดที่ 8 เช็ค status code ว่าเป็น 200 หรือไม่
บรรทัดที่ 9 เช็คว่า json value ของเรานั้นมีคำว่า “สวัสดีชาวโลก” หรือไม่
RequestsLibrary จะ return object เป็น format JSON โดยไปเรียก json() ตามด้วย key ของ JSON ที่ต้องการจะเทียบค่า
3.สร้าง JSON Server
{ "say": { "message": "สวัสดีชาวโลก" }}
สำหรับการจำลอง API ในการทดสอบ
npm install -g json-server // ติดตั้ง json-serverjson-server --watch file_name.json // เปิด json-server
4. ทำการ run robot framework ทดสอบ
robot file_name.robot
ในส่วนนี้กาดยังไม่ได้ลองเล่นเยอะสักเท่าไหร่ ลองอ่านจากเอกสารเอา แล้วมาลองเขียน เดี๋ยวไว้จะมาเล่น Request Library เพิ่มในวันหลัง ส่วนใครที่อยากเล่นมากกว่านี้ ตาม reference ด้านล่างเล้ย
Reference :