0

Phần 2: Robot Framework (Giới thiệu qua về các cấu trúc viết kịch bản cách khai báo biến trong robot framework )

Hi Lại là Mình đây, tiếp tục với chuỗi bài robot framework Chúng ta sẽ bắt đầu từ cấu trúc khi viết kịch bản test bằng robot framework : Tài liệu mình tham khảo trên trang này nhé : https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#creating-dictionary-variables

Settings: sử dụng để import các resource file, libraries, là nơi định nghĩa các metadata dành cho test suites và test case

Documentation : sử dụng mô tả nội dung test

Suite Setup : được sử dụng thiết lập khởi đầu cho toàn bộ kịch bản, chỉ chạy 1 lần duy nhất ban đầu

Suite Teardown: sử dụng setup khi chạy xong toàn bộ test case, chạy 1 lần khi chạy xong toàn bộ test case

Test setup: sử dụng thiết lập cho mỗi test case

Test teardown: được sử dụng khi chạy xong test case

Library: các thư viện hỗ trợ sử dụng

resource: sử dụng để import các file chứa các keywords , để tái sử dụng các keywords

test templates: cho phép chuyển test case thông thường theo hướng dữ liệu.

Variables:Thành phần này cho phép chúng ta định nghĩa các biến sử dụng trong test case và keywords, cho phép việc xây dựng kịch bản test dễ dàng hơn và dễ dàng hơn cho việc maintain thích hợp cho Data-driven test.

Test Cases: thần test case là phần chính => được sử dụng để định nghĩa ra các trường hợp cần kiểm thử, => trong phần test case này sẽ gọi các keyword kiểm tra Output xem có đúng như expected

Tasks:cho phép chạy test hiệu quả hơn, sử dụng trong việc run test case, cho phép lựa chọn các test case để thực thi

Keywords: Keywords chính là các step để sử dụng cho việc chuẩn bị và việc kiểm tra kết quả trong test case, Keyword có thể gọi đến các keywords khác để thực hiện các keyword khác

Comments: robot sẽ ignored ko chạy phần comment

Các khai báo biến trong robot

$ để khai báo trước 1 biến

@ để khai báo biến có kiểu list

& sử dụng khai báo biến có kiểu dictionary

% sử dụng để khai báo biến môi trường

ví dụ : Tạo biến dưới Variables

*** Variables ***
${NAME}         Robot Framework
${VERSION}      2.0
${ROBOT}        ${NAME} ${VERSION}

bạn có thể dùng ký tự = sau biến

*** Variables ***
${NAME} =       Robot Framework
${VERSION} =    2.0

Ngoài ra có thể dùng … khai báo tiếp tục

${EXAMPLE}      This value is joined
...             together with a space.
${MULTILINE}    SEPARATOR=\n
...             First line.
...             Second line.
...             Third line.

*** Testcases ***

TC01 - Bien
   log to console      ${NAME}
   log to console      ${VERSION}
   log to console      ${EXAMPLE}
   log to console      ${MULTILINE}

Khai báo biến local:

  • khai báo hai số nguyên a = 5, b = 4 và tính tổng hai số nguyên đó => sử dụng từ khóa Set Variable
TC02 - bien
  ${a}    Set Variable   ${4}
  ${b}    Set Variable   ${5}
  ${tong}     Evaluate    ${a} + ${b}
  log to console      ${tong}

Khai báo biến global: sử dụng keyword Set Global Variable

TC003 - Xet biet global
  ${a}                 Set Variable    ${5}
  ${b}                 Set Variable    ${4}
  ${c}                 Evaluate        ${a} + ${b}
  Set Global Variable                  ${c}
  Log To Console       Tổng 2 số nguyên: ${a} + ${b} là ${c}

TC004 - Xet biet global
  ${a}                 Set Variable    ${5}
  ${b}                 Set Variable    ${4}
  ${tong}              Evaluate        ${a}+${b}+${c}
  Log To Console       Tổng 3 số nguyên: ${a} + ${b} + ${c} là ${tong}

Khai báo List

*** Variables ***
@{NAMES}        Matti       Teppo
@{NAMES2}       @{NAMES}    Seppo
@{NOTHING}
@{MANY}         one         two      three      four
...             five        six      seven
${items} =    Create List    first    second    third

*** Testcases ***
TC01 - List
   ${items} =    Create List    first    second    third
   log Many    ${items}[1:]
   ${nested} =    Evaluate    [['a', 'b', 'c'], {'key':['x', 'y']}]
   Log Many    @{nested}[0]         # Logs 'a', 'b' and 'c'.
   Log Many    ${nested}[1]
   Log Many    ${nested}[1][key]    # Logs 'x' and 'y'.

**khai báo Dictionary **

*** Variables ***
&{USER 1}       name=Matti    address=xxx         phone=123
&{USER 2}       name=Teppo    address=yyy         phone=456
&{MANY}         first=1       second=${2}         ${3}=third
&{EVEN MORE}    &{MANY}       first=override      empty=
...             =empty        key\=here=value

*** Test Cases ***
TC02 - Dictionary
   &{dict} =    Create Dictionary    first=1    second=${2}    ${3}=third
   Length Should Be    ${dict}    3
   Log    ${dict}[first]
   Log    ${dict.first}

Cách sử dụng test templates:

  • Cho phép chuyển test case thông thường theo hướng dữ liệu.

Ví dụ :

*** Testcases ***
TC01 - Template with embedded arguments
  [Template]    The result should be
   2
   3

*** Keywords ***
The result should be
  [Arguments]         ${bien}
  log to console     ${bien}

Bạn có thể thiết lập trong Setting

*** Settings ***
Test Template   The result should be
*** Testcases ***
TC01 - Template with embedded arguments
   2
   3

*** Keywords ***
The result should be
  [Arguments]         ${bien}
  log to console     ${bien}
  

** Templates với vòng lặp**

*** Test Cases ***
TC02 - Template with for
   [Template]    The result should be
   FOR     ${index}    in     1  2   3
       ${index}
   END
*** Keywords ***
The result should be
  [Arguments]         ${bien}
  log to console     ${bien}

All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí