robotframework 接続先 切り替え

robotframework
本ページはプロモーションが含まれています

はじめに

複数のNW機器にログインして、機器の接続状態を確認する必要がありました。

例としては、
装置Aにログイン
装置Bにログイン
装置Aから装置Bのデバイスの状態を表示
装置Bから装置Aのデバイスの状態を表示
装置Aの設定を変更
装置Bから装置Aのデバイスの状態を表示
装置Aのログアウト
装置Bのログアウト

という様な具合です。
ネットワーク機器はこうした設定の確認をする事が多いです。

そこでRobotframeworkで装置の切り替えが出来れば、作業の自動化ができるなと思いTelnetやSSHで接続した機器の切り替えが出来ないかを調べた時のメモです。

サンプルソースコード

サンプルコードは装置R1にSSHで接続した後に装置R2へもSSHで接続。
(両方ともCiscoの機器とします)
その後、装置R1に切り替えてルーティング状態を表示し、装置R2へ再度切り替えして同じくルーティングを表示するというものです。

切り替えには『Switch Connection』を使用します。
SSHLibraryをインポートする必要があります。

*** Settings ***
Library SSHLibrary
Library OperatingSystem

*** Variables ***
${R1_user_name}    R1
${R1_pass}         cisco
${R2_user_name}    R2
${R2_pass}         cisco
${R1_ip}           192\.168\.1\.10
${R2_ip}           192\.168\.2\.20

*** Test Cases ***
Switch Connectionテスト
    ${R1}=         Open Connection        ${R1_ip}
    Login          ${R1_user_name}        ${R1_pass}
    ${R2}=         Open Connection        ${R2_ip}
    Login          ${R2_user_name}        ${R2_pass}
    
    # R1へ装置の切り替え
    Switch Connection    ${R1}
    Write terminal length 0
    Write show ip route
    ${output}= Read delay=3s
    Log To Console ${\n}${output}
    
    # R2へ装置の切り替え
    Switch Connection    ${R2}
    Write terminal length 0
    Write show ip route
    ${output}= Read delay=3s
    Log To Console ${\n}${output}

Open Connectionoの情報を${R1}と${R2}で受け取り、切り替えを行いたい時にSwitch Connectionに引数として渡します。

そうすることで複数の接続先で装置の切り替えが行えます。

さいごに

サンプルはシンプルな例ですが、これを元に必要な処理があれば追加していく事で、ある程度のことは出来ると思います。
装置もCiscoの装置以外の機器でも可能です(LinuxとかでもSSHで入れば切り替えが出来ます)

まとめると、
ということで、装置を切り替えるには『Switch Connection』を使う
という事でした。

この記事がお役に立ったのならば嬉しいです。
最後までお読みいただきありがとうございました。

タイトルとURLをコピーしました