Robot Framework 사용해보기②

4110 단어 centos7robotframework

원격 호스트에서 명령을 실행해보기



Robot Framework 사용해보기①
시도하고 싶은 것의 첫 번째 : vyos의 show 명령의 출력 결과를 얻는 것에 도전한다.

ht tp // 로보 tf 라메를 rk. rg / sh b et ry / s s ぃ b et ry. HTML
execute/read/start/write 당으로 명령 발행과 그 결과 취득을 할 수 있을 것 같다.

수동으로 show version을 실행하면 다음과 같다.

show version
vyos@vyos:~$ show version
Version:      VyOS 1.1.8
Description:  VyOS 1.1.8 (helium)
Copyright:    2017 VyOS maintainers and contributors
Built by:     [email protected]
Built on:     Sat Nov 11 13:44:36 UTC 2017
Build ID:     1711111344-b483efc
System type:  x86 64-bit
Boot via:     disk
Hypervisor:   KVM
HW model:     KVM
HW S/N:       Not Specified
HW UUID:      76DF13EB-09FB-88F7-4C03-EC12D5287D9E
Uptime:       04:26:44 up 100 days, 13:45,  1 user,  load average: 0.01, 0.03, 0.05

vyos@vyos:~$

우선 성공 경험에 매달린다



ssh 접속의 확인으로 execute command 로의 실행 결과를 변수에 격납할 수 있었으므로 모방한다.

execute command



test03.robot
# cat test03.robot
*** Settings ***
Library  SSHLibrary

*** Variables ***
${user}       vyos
${password}   vyos
${ip1}  172.17.0.2
${ip2}  172.17.0.3

*** Test Cases ***
ssh test of vyos
    vyosに接続
    vyosにログイン
    ${output} =  Execute Command  echo SSH to vyos is OK!
    Log To Console  ${\n}${output}
    Should Be Equal  ${output}  SSH to vyos is OK!

show version
    ${out1} =  Execute Command  show version
    Log Variables
    Close All Connections

*** Keywords ***
vyosに接続
    Open Connection  ${ip1}
vyosにログイン
    Login  ${user}  ${password}
#

에서 실행.

결과
# robot test03.robot
==============================================================================
Test03
==============================================================================
ssh test of vyos                                                      ...
SSH to vyos is OK!
ssh test of vyos                                                      | PASS |
------------------------------------------------------------------------------
show version                                                          | PASS |
------------------------------------------------------------------------------
Test03                                                                | PASS |
2 critical tests, 2 passed, 0 failed
2 tests total, 2 passed, 0 failed
==============================================================================
Output:  /root/output.xml
Log:     /root/log.html
Report:  /root/report.html
#

오, PASS했다!
log 보면

아무것도 들어 있지 않다. . . 네요 ~ 세상 그런 달콤하지 않네요 ~
치트 시트에서는, Start Command의 설명이 「리모트 커맨드의 실행을 개시해, 종료를 기다리지 않고 처리를 되돌린다」라고 되어 있다. execute가 끝날 때까지 기다리고 있습니까? 우선 시도한다.

Start Command


show version
    ${out1} =  Start Command  show version
    Log Variables

결과는 PASS했지만, ${out1} = None이 되어 기대 동작은 되지 않는다. 종료 기다리지 않았기 때문에 None을 넣었는지? ? ? 감정을 바꾸고 다음.

Read Command Output


show version
    Start Command  show version
    ${out1} =  Read Command Output
    Log Variables

결과는 execute command 때와 함께. echo등으로 일행 출력이라고 기대대로가 되는 것 같지만,, 복수행은 무리인가?

Write and Read until


show version
    Write  show version
    ${out} =  Read Until  ~$
    Log Variables
    Close All Connections


왔다! 어쩐지 줄 끝에 개행 코드나 제어 문자나 이상한 것들이 붙어 있지만 일단 취해졌다.

일단 할 수 있었다. . .
좀 더 시행 착오하고 추가하자.

좋은 웹페이지 즐겨찾기