我是Robot Framework的新手-我试图将这段代码称为Robot Framework,但无济于事。我只需要一些帮助,即可在机器人框架中运行python脚本并在该应用程序中返回PASS和FAIL。任何帮助,将不胜感激。
# -*- coding: utf-8 -*-
import paramiko
import time,sys
from datetime import datetime
from time import sleep
prompt = "#"
datetime = datetime.now()
ssh_pre = paramiko.SSHClient()
ssh_pre.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_pre.connect("192.168.0.1",22, "admin", "admin")
output=""
ssh = ssh_pre.invoke_shell()
sys.stdout=open("ssh_session_dump.txt","w")
print("Script Start Date and Time: ", '%s/%s/%s' % (datetime.month, datetime.day, datetime.year), '%s:%s:%s' % (datetime.hour, datetime.minute, datetime.second))
model="XV4-17034"
ssh.send("more off\n")
if ssh.recv_ready():
output = ssh.recv(1000)
ssh.send("show system-info\n")
sleep(5)
output = ssh.recv(5000)
output=output.decode('utf-8')
lines=output.split("\n")
for item in lines:
if "Model:" in item:
line=item.split()
if line[1]==model+',':
print("Test Case 1.1 - PASS - Model is an " + model)
else:
print("Test Case 1.1 - FAIL - Model is not an " + model)
ssh.send( "quit\n" )
ssh.close()
datetime = datetime.now()
print("")
print("Script End Date and Time: ", '%s/%s/%s' % (datetime.month, datetime.day, datetime.year), '%s:%s:%s' % (datetime.hour, datetime.minute, datetime.second))
print("")
sys.stdout.close()
如果这是我的项目,则将代码转换为一个函数,然后创建一个包含该函数的关键字库。
例如,您可以使用以下定义的函数创建一个名为CustomLibrary.py的文件:
def verify_model(model):
prompt = "#"
datetime = datetime.now()
ssh_pre = paramiko.SSHClient()
...
for item in lines:
if "Model:" in item:
line=item.split()
if line[1]==model+',':
return True
else:
raise Exception("Model was %s, expected %s" % (line[1], model))
...
然后,您可以创建一个机器人测试,如下所示:
*** Settings ***
Library CustomLibrary
*** Test cases ***
Verify model is Foo
verify model foo
当然,这要复杂得多。例如,您可能需要更改函数中的逻辑以确保在返回之前关闭连接。总体而言,这是通用方法:创建一个或多个函数,将它们导入为库,然后从机器人测试中调用这些函数。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。