Robot Framework

วิธีทำ Automated APIs Testing ด้วย Robot Framework

Run Keyword And Return Status

Robot Framework มีความสามารถสูงในการทดสอบ REST API ด้วยการใช้ library ต่างๆ ที่ให้มาด้วย เช่น RequestsLibrary หรือ RESTInstance

การทดสอบ REST API ด้วย Robot Framework สามารถทำได้โดยการเขียน keyword ที่จะส่ง request และรับ response จาก API นั้น และเปรียบเทียบผลลัพธ์กับความต้องการที่กำหนดไว้

ตัวอย่าง keyword ที่สามารถใช้ในการทดสอบ REST API ด้วย Robot Framework:

  • Create Session: สร้าง session สำหรับการเชื่อมต่อ API
  • Send Request: ส่ง request ไปยัง API
  • Get Response: รับ response จาก API
  • Get JSON Value: ดึงค่าจาก JSON response
  • Get JSON Length: ดึงจำนวนของค่าใน JSON response
  • Verify JSON Value: ตรวจสอบค่าจาก JSON response ให้ตรงกับความต้องการ

ตัวอย่าง code การทดสอบ REST API ด้วย Robot Framework:

*** Settings ***
Library           RequestsLibrary

*** Test Cases ***
Test REST API
    Create Session    my_session
    # Send a GET request to retrieve the list of users
    ${response}=    Send Request    my_session    GET    https://api.example.com/users

    # Verify the status code is 200 (OK)
    Should Be Equal    ${response.status_code}    200

    # Get the response content as a JSON object
    ${json_response}=    To Json    ${response.text}

    # Verify the number of users in the response
    ${number_of_users}=    Get Json Length    ${json_response}['users']
    Should Be Equal    ${number_of_users}    10

    # Verify the first user in the response
    ${first_user}=    Get Json Value    ${json_response}['users'][0]
    Should Be Equal    ${first_user['name']}    'John Doe'
    Should Be Equal    ${first_user['email']}    'john.doe@example.com'

นี้คือตัวอย่าง code การทดสอบ REST API ด้วย Robot Framework ซึ่งใช้ library RequestsLibrary ในการสร้าง session และส่ง request ไปยัง API และดึง response จาก API นั้น และตรวจสอบผลลัพธ์ให้ตรงกับความต้องการ.

นอกจากนี้ในการทดสอบ REST API ด้วย Robot Framework ยังสามารถสร้าง test case ที่มีการทดสอบหลาย endpoint ได้ โดยใช้ keyword ต่างๆ ที่ให้มาด้วย เช่น

  • Iterate Over List: วนลูปทดสอบหลาย endpoint ในเว็บไซต์
  • Run Keyword If: ทำ keyword ถ้าเงื่อนไขนั้นเป็นจริง
  • For Loop: วนลูปทดสอบ endpoint จาก list ของ endpoint

ตัวอย่าง code การทดสอบ REST API ด้วย Robot Framework สำหรับหลาย endpoint:

*** Test Cases ***
Test Multiple Endpoints
    ${endpoints}    Create List    https://api.example.com/users    https://api.example.com/posts

    :FOR    ${endpoint}    IN    @{endpoints}
        ${response}=    Send Request    my_session    GET    ${endpoint}
        ${json_response}=    To Json    ${response.text}
        Log    ${json_response}

        :IF    "${endpoint}" == "https://api.example.com/users"
            ${number_of_users}=    Get Json Length    ${json_response}['users']
            Should Be Equal    ${number_of_users}    10

            ${first_user}=    Get Json Value    ${json_response}['users'][0]
            Should Be Equal    ${first_user['name']}    'John Doe'
            Should Be Equal    ${first_user['email']}    'john.doe@example.com'

        :ELSE
            ${number_of_posts}=    Get Json Length    ${json_response}['posts']
            Should Be Equal    ${number_of_posts}    20

            ${first_post}=    Get Json Value    ${json_response}['posts'][0]
            Should Be Equal    ${first_post['title']}    'Hello World'
            Should Be Equal    ${first_post['content']}    'This is a sample post.'
    # Send a POST request to create a new user
    ${data}=    Create Dictionary    name=Jane Doe    email=jane.doe@example.com
    ${headers}=    Create Dictionary    Content-Type=application/json
    ${response}=    Send Request    my_session    POST    https://api.example.com/users    data=${data}    headers=${headers}

    # Verify the status code is 201 (Created)
    Should Be Equal    ${response.status_code}    201

    # Get the response content as a JSON object
    ${json_response}=    To Json    ${response.text}

    # Verify the new user in the response
    Should Be Equal    ${json_response['name']}    'Jane Doe'
    Should Be Equal    ${json_response['email']}    'jane.doe@example.com'

ตัวอย่าง code นี้คือการทดสอบ REST API ด้วย Robot Framework สำหรับ endpoint ในการสร้างข้อมูล (Create) ใน API โดยการส่ง request แบบ POST และดึง response จาก API และตรวจสอบผลลัพธ์ให้ตรงกับความต้องการ.

Patter S

You may also like

Robot Framework

วิธีใช้ Screenshots ใน Robot Framework

การใช้งานฟีเจอร์ Screenshots ใน Robot Framework เป็นวิธีที่ดีในการสร้างเอกสารและรายงานทดสอบ มันช่วยให้เราเห็นถึงสถานะของ UI ในขณะที่การทดสอบกำลังดำเนินการ หรือในระหว่างการตรวจสอบข้อผิดพลาด มาดูวิธีการใช้งานฟีเจอร์นี้กัน ขั้นตอนที่ 1: ...
Robot Framework

วิธีใช้ Execute Java Script ใน Robot Framework

ใน Robot Framework คุณสามารถใช้คำสั่ง “Execute JavaScript” ในการรัน JavaScript ได้ วิธีนี้เป็นวิธีที่ดีในการทำงานกับ elements บนหน้าเว็บหรือรันสคริปต์ที่มีความซับซ้อนเพิ่มขึ้น โดยเฉพาะกับการทดสอบ ...

Leave a reply

Your email address will not be published. Required fields are marked *

Robot Framework

Keywords ใน Robot Framework คืออะไร

Keyword ใน Robot Framework เป็นส่วนหนึ่งที่สำคัญสำหรับการทดสอบ เพราะว่า Keyword จะช่วยให้คุณสามารถแบ่งแยกการทำงานของ Test Case เป็นส่วนๆ ย่อยๆ และสามารถใช้ ...
Robot Framework

Variables ใน Robot Framework คืออะไร

Robot Framework มีการจัดการตัวแปรที่หลากหลายและง่ายต่อการใช้งาน ซึ่งสามารถประกาศและใช้ตัวแปรได้ในทุกส่วนของ Test Case หรือ Keyword ต่างๆ ดังตัวอย่างต่อไปนี้: ในตัวอย่างนี้ ตัวแปร ${test_variable} ...