ลองหัดทดสอบ API ด้วย Robot framework

KakyKad
2 min readSep 5, 2019

--

วันนี้มาลองเล่น 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 :

https://bulkan.github.io/robotframework-requests

--

--

KakyKad
KakyKad

Written by KakyKad

เขียนไปเรื่อย

No responses yet