【发布时间】:2017-10-22 19:57:32
【问题描述】:
我是robotframework 和netmiko 的初学者。 我尝试在 python 中使用 netmiko 打印出 whoami。
import netmiko
mydevice = {
'device_type': 'linux',
'ip': '127.0.0.1',
'username': 'gns3',
'password': 'gns3',
'verbose':True
}
conn = netmiko.ConnectHandler(**mydevice)
cmd = 'whoami\n'
output = conn.send_command(cmd)
def display_cmd():
print(conn.find_prompt() + cmd + output + '\n')
if __name__ == '__main__':
print (display_cmd())
看起来工作正常。
gns3@gns3vm:~/project$ python netmiko_test.py
SSH connection established to 127.0.0.1:22
Interactive SSH session established
gns3@gns3vm:~$whoami
gns3
None
然后我尝试在这里制作快速简单的机器人文件。
*** Settings ***
Library netmiko_test.py
*** Test Case ***
whoami display whoami
*** Keywords ***
display whoami
${result} display cmd
Log To Console ${result}
我预计 log.html 中会出现相同的 python 输出,并且全部通过,但出现以下错误。
gns3@gns3vm:~/project$ robot rf_test.robot
[ ERROR ] Error in file '/home/gns3/project/rf_test.robot': Importing test library '/home/gns3/project/netmiko_test.py' failed: SSHException: No existing session
Traceback (most recent call last):
File "/home/gns3/project/netmiko_test.py", line 11, in <module>
conn = netmiko.ConnectHandler(**mydevice)
File "/usr/local/lib/python2.7/dist-packages/netmiko/ssh_dispatcher.py", line 131, in ConnectHandler
return ConnectionClass(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/netmiko/base_connection.py", line 151, in __init__
self.establish_connection()
File "/usr/local/lib/python2.7/dist-packages/netmiko/base_connection.py", line 532, in establish_connection
self.remote_conn_pre.connect(**ssh_connect_params)
File "/usr/local/lib/python2.7/dist-packages/paramiko/client.py", line 391, in connect
server_key = t.get_remote_server_key()
File "/usr/local/lib/python2.7/dist-packages/paramiko/transport.py", line 718, in get_remote_server_key
raise SSHException('No existing session')
PYTHONPATH:
/usr/local/bin
/usr/lib/python2.7
/usr/lib/python2.7/plat-x86_64-linux-gnu
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/lib-old
/usr/lib/python2.7/lib-dynload
/usr/local/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages
==============================================================================
Rf Test
==============================================================================
whoami | FAIL |
No keyword with name 'display cmd' found.
------------------------------------------------------------------------------
Rf Test | FAIL |
1 critical test, 0 passed, 1 failed
1 test total, 0 passed, 1 failed
==============================================================================
Output: /home/gns3/project/output.xml
Log: /home/gns3/project/log.html
Report: /home/gns3/project/report.html
你能告诉我哪里错了吗?
谢谢。
【问题讨论】:
-
你的 Python 文件的名称是什么?
-
代码中也是一样的,“netmiko_test.py”
标签: robotframework