将对象作为参数传递给机器人框架中的关键字

时间:2019-11-21 13:33:18

标签: python-2.7 robotframework keyword

我在机器人文件中创建了两个这样的对象。

Library  HwTest   COM17   SN2  WITH NAME  Smart Node 2

Library  HwTest   COM13   SN1  WITH NAME  Smart Node 1 

我需要在用户定义的关键字中传递智能节点1和智能节点2。

但是当我在关键字后给对象名称时,它被视为python中的unicode,而不是对象。我收到类似unicode对象没有属性的错误。 AttributeError:'unicode'对象没有属性'filename'

1 个答案:

答案 0 :(得分:1)

您的问题没有足够的详细信息,但是我要作一个有根据的猜测,您有一个关键字要求您传入一个对象,但是您要将库名传递给它,如下所示:

The keyword  Smart Node 2

如果是这样,那不是在robot中使用关键字库的方法。 “智能节点2”仅是库的名称,而不是库本身。如果您试图将库用作对象,则需要先获取该库的实例,然后再将其传递给关键字。

机器人具有一个名为Get library instance的内置关键字,该关键字可以返回该库的实例。您将需要调用它来获取实例,然后将该实例传递给您的关键字。

示例:

${object}=  Get library instance  Smart Node 2
The keyword  ${object}