Robot的Telnet库如何工作?

时间:2015-06-08 13:10:33

标签: python testing robotframework

我一直在看机器人的Telnet库(https://github.com/robotframework/robotframework/blob/master/src/robot/libraries/Telnet.py),我在这个问题的文档中找不到答案。

我知道Telnet对象处理TelnetConnections的打开和关闭,并存储当前连接。但是当调用像write之类的东西时,Robot如何知道调用Telnet._conn.write()?

例如:

Open connection  192.254.64.3
Open connection  192.254.64.4
Write            This goes to the second IP

1 个答案:

答案 0 :(得分:1)

Telnet库使用一些内省魔法,由RF动态库接口支持。

当使用Telnet库时,会调用get_keyword_names。这也检查了TelnetConnection类的自己的方法,并将它们注册为关键字。在执行RF呼叫时,例如Telnet.write__getattr__方法处理,后者又调用基础TelnetConnection的相应方法。

这整个机制在第308-240行中实现。