【问题标题】:accessing multiple objects in robot framework在机器人框架中访问多个对象
【发布时间】:2014-04-10 01:06:52
【问题描述】:

有没有办法在机器人框架中显式访问同一类的多个对象。 我有一个类具有远程登录到主机的功能。 我想连接到两个不同的主机并在它们上运行不同的命令。 在我的机器人测试用例文件中,我有

myclass.Login To Host     | host1  |  user  |  password

myclass.Run Cmd            |  ls

myclass.Login To Host    |  host2 | user  |  password

myclass.Run Cmd           |   ls -l

我看到在这两种情况下,Run Cmd 都是在第一台主机 (host1) 上执行的。 有没有办法可以在特定对象上调用函数 由于这是我的测试用例的一部分,我不能将它们分成两个不同的测试用例。

我如何在作为 host2 登录到主机的结果创建的对象上调用第二个“运行 Cmd”?

谢谢 鲍比

【问题讨论】:

  • 能否分享一点你的课的源代码,以便更容易回答你?
  • 这是我的python代码
  • 这是我的 Python 代码 import pxssh
    import pexpect class test(): def __init__(self): self.conn = None def login_to_host(self, host, username='user', password ='password'): ''' SSH 到盒子 ''' print 'logging in to %s' %host try: s = pxssh.pxssh() s.login (host, username, password) self.conn = s除了 pxssh.ExceptionPxssh,e: print "pxssh 在登录 %s 时失败。" %host print str(e) print 'Successfully logged into %s' %host return s run_cmd (self, cmd): self.conn.sendline(cmd)
  • @user3517560:注释不是放置代码的合适位置。如果该评论中的代码澄清了您的问题,请将其放在问题中。无法按照评论中的格式阅读它们。

标签: python frameworks robotframework


【解决方案1】:

是的,这是可能的。例如,Selenium2Library 就是这样做的。如果这是你的课,你可以做任何你想做的事。例如,让您的登录关键字返回一个标识符——或者让测试用例提供一个标识符。然后,您可以修改您的 run 关键字以接受此标识符以了解要使用的连接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-27
    • 2018-07-09
    • 1970-01-01
    • 2015-12-05
    • 2022-01-16
    • 2018-04-25
    • 2022-11-11
    相关资源
    最近更新 更多