目前使用SSHLibrary我在测试套件文件或关键字文件中执行ssh命令。是否可以在我当前的库文件中执行此操作?这意味着我的库函数现在只是形成字符串。我想在库文件中的ssh连接中执行它。
测试/ testsuit.robot
*** 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
答案 0 :(得分:1)
在库文件中,您可以使用内置关键字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