机器人 SSHLibrary 将 ssh 连接传递给我的库类



目前我在测试套件文件或关键字文件中执行SSH命令。是否可以在我当前的库文件中执行此操作?这意味着我的库函数现在只是形成字符串。我想在库文件的 ssh 连接中执行它。

测试

/测试服.机器人

*** Settings ***
Library         SSHLibrary
Library         ${EXEC_DIR}/lib/mylib.py  WITH NAME  llib
Suite Setup     open_connection_and_login
Suite Teardown  Close All Connections
*** Variables ***
${HOST}      10.x.x.x.x
${USERNAME}  myuser
${PASSWORD}  mypassword
*** Test Cases ***
example test
    ${sshstring}= llib.form_the_sshstring   ls
    ${output}=  Execute Command     {sshstring}
*** Keywords ***
open_connection_and_login
    Open Connection  ${HOST}
    Login  ${USERNAME}  ${PASSWORD}

lib/mylib.py

def form_the_sshstring(input):
    sshstring = "{}".format(ls)
    return sshstring

期待类似的东西..

*** Test Cases ***
example test
    ${output}= llib.run_the_sshstring   ls
/

lib/mylib.py

import SSHLibrary
    def run_the_sshstring(input):
        sshstring = "{}".format(ls)
        out = SSHLibrary.SSHCleint(sshstring)
        return out

从库文件中,您可以使用内置关键字Get Library Instance获取对导入的SSHLibrary的引用 - 因此,它是关键字。有了它,你可以调用SSHLibrary关键字Execute Command

例:

# mylib.py
from robot.libraries.BuiltIn import BuiltIn
def run_the_sshstring(input):
    sshlib = BuiltIn().get_library_instance("SSHLibrary")
    result = sshlib.execute_command(input)
    return result

相关内容

  • 没有找到相关文章

最新更新