티스토리 뷰

728x90
반응형

 

 

 

아래의 코드는 Robot Framework의 공홈에 나온 코드 예제입니다. 

 

해당 코드를 기반으로 학습을 해 보도록 하겠습니다. 

Documentation     This is a resource file, that can contain variables and keywords.
...               Keywords defined here can be used where this Keywords.resource in loaded.
Library           CustomLibrary.py


*** Keywords ***
Connect to Server
    Connect    fe80::aede:48ff:fe00:1122

Close Server Connection
    Disconnect

Login User
    [Arguments]    ${login}    ${password}
    Set Login Name    ${login}
    Set Password    ${password}
    Execute Login

Verify Valid Login
    [Arguments]    ${exp_full_name}
    ${version}=    Get Server Version
    Should Not Be Empty    ${version}
    ${name}=    Get User Name
    Should Be Equal    ${name}    ${exp_full_name}

Verify Unauthorised Access
    Run Keyword And Expect Error    PermissionError*    Get Server Version

Login Admin
    [Documentation]    'Login Admin' is a Keyword.
    ...                It calls 'Login User' from 'CustomLibrary.py'
    Login User    admin    @RBTFRMWRK@
    Verify Valid Login    Administrator

 

 

로봇 프레임워크의 문법을 이해하기 쉽게 위의 코드를 분석해 보도록 하겠습니다.

아래는 주어진 로봇 프레임워크 코드의 각 줄에 대한 설명입니다.

robot

*** Settings ***
  • Settings 섹션: 이 섹션은 라이브러리, 리소스 파일, 설정 등을 정의합니다.

robot

Documentation     This is a resource file, that can contain variables and keywords.
...               Keywords defined here can be used where this Keywords.resource in loaded.
  • Documentation: 이 리소스 파일의 목적을 설명합니다. 주로 변수와 키워드를 포함할 수 있다는 내용을 담고 있습니다.

robot

Library           CustomLibrary.py
  • Library: CustomLibrary.py라는 파이썬 파일에서 정의된 사용자 정의 라이브러리를 로드합니다. 이 라이브러리의 함수와 키워드를 사용할 수 있게 됩니다.

robot

*** Keywords ***
  • Keywords 섹션: 이 섹션에서는 사용자 정의 키워드를 정의합니다.

robot

Connect to Server
    Connect    fe80::aede:48ff:fe00:1122
  • Connect to Server: 서버에 연결하는 키워드입니다.
  • Connect: CustomLibrary.py에 정의된 함수 호출로, 주어진 IP 주소(fe80::aede:48ff:fe00:1122)에 연결합니다.

robot

Close Server Connection
    Disconnect
  • Close Server Connection: 서버 연결을 종료하는 키워드입니다.
  • Disconnect: CustomLibrary.py에 정의된 함수 호출로, 현재 연결된 서버와의 연결을 종료합니다.

robot

Login User
    [Arguments]    ${login}    ${password}
  • Login User: 사용자 로그인을 처리하는 키워드입니다.
  • [Arguments]: 이 키워드는 ${login}과 ${password}라는 두 개의 인수를 받습니다.

robot

    Set Login Name    ${login}
  • Set Login Name: 받은 ${login} 인수를 사용하여 로그인 이름을 설정하는 함수 호출입니다.

robot

    Set Password    ${password}
  • Set Password: 받은 ${password} 인수를 사용하여 비밀번호를 설정하는 함수 호출입니다.

robot

    Execute Login
  • Execute Login: 로그인 프로세스를 실행하는 함수 호출입니다.

robot

Verify Valid Login
    [Arguments]    ${exp_full_name}
  • Verify Valid Login: 로그인 검증을 수행하는 키워드입니다.
  • [Arguments]: ${exp_full_name}이라는 인수를 받아 사용자의 전체 이름을 비교합니다.

robot

    ${version}=    Get Server Version
  • Get Server Version: 서버의 버전을 가져와서 ${version} 변수에 저장합니다.

robot

    Should Not Be Empty    ${version}
  • Should Not Be Empty: ${version} 변수가 비어 있지 않아야 한다는 검증을 수행합니다.

robot

    ${name}=    Get User Name
  • Get User Name: 현재 로그인된 사용자의 이름을 가져와서 ${name} 변수에 저장합니다.

robot

    Should Be Equal    ${name}    ${exp_full_name}
  • Should Be Equal: ${name}과 ${exp_full_name}이 동일해야 한다는 검증을 수행합니다.

robot

Verify Unauthorised Access
    Run Keyword And Expect Error    PermissionError*    Get Server Version
  • Verify Unauthorised Access: 권한 없는 접근을 검증하는 키워드입니다.
  • Run Keyword And Expect Error: Get Server Version을 실행하고, PermissionError가 발생할 것으로 예상합니다.

robot

Login Admin
    [Documentation]    'Login Admin' is a Keyword.
    ...                It calls 'Login User' from 'CustomLibrary.py'
  • Login Admin: 관리자 로그인을 처리하는 키워드입니다.
  • [Documentation]: 이 키워드에 대한 설명입니다. CustomLibrary.py에서 정의된 Login User를 호출합니다.

robot

    Login User    admin    @RBTFRMWRK@
  • Login User: admin 사용자와 @RBTFRMWRK@ 비밀번호로 로그인을 시도합니다.

robot

    Verify Valid Login    Administrator
  • Verify Valid Login: 로그인 후, 로그인된 사용자의 전체 이름이 Administrator인지 검증합니다.

이 코드는 서버에 연결하고 사용자 로그인을 처리하며, 로그인 검증 및 권한 없는 접근을 검사하는 기능을 포함하고 있습니다.

728x90
반응형