如何在 Robot Framework 中使用 Get Library Instance 调用 Python 库函数

Posted

技术标签:

【中文标题】如何在 Robot Framework 中使用 Get Library Instance 调用 Python 库函数【英文标题】:How to call Python Library Function using Get Library Instance in Robot Framework 【发布时间】:2017-07-30 07:21:39 【问题描述】:

我尝试使用机器人框架的 Get Library Instance Builtin 方法调用 Python 函数,但收到错误为“关键字名称不能为空”。 我的测试用例代码是

 *** Settings ***
Documentation  This is the register API testsuite
Library    ../../lib/ServerAPI.py  $FEIP  $DBIP   $schemaid   $appid   $subscriber

*** Test Cases ***
[TC-001]-Registering a device with INVALID SUBSCRIBER name to the server

     $serverlib=  Get Library Instance   ServerAPI
     log  $serverlib
     log  $serverlib.subscriber
     $serverlib.register device    $token   $devid

对于$serverlib.register device $token $devid 行,我收到错误“关键字名称不能为空”。register_device 是文件 ServerAPI.py 中的函数之一 日志$serverlib 上方的日志行给了我 ServerAPI 对象。我不确定它是否是从 python 库调用函数的正确方法。

【问题讨论】:

没有必要为您的目的显式创建实例(如$serverlib)。语句Library 创建您的库的实例,然后您只需调用关键字Register Device 【参考方案1】:

如果register_device是库中的函数,直接调用即可:

Register device    $token    $devid

【讨论】:

我可以像这样使用我的库,但问题是,我想更改一些 ServerAPI 的类变量,以便在我的测试用例中进一步使用。就像我们在 Python 中所做的那样。如果有任何方法,请告诉我 有人可以帮我吗?我想做这样的事情:class a: def __init__(self,a): self.a = a 在一个名为 x.py 的文件中。测试用例类似于 Library x 'new' *** Test Cases *** [TC-001]-Changing the Variable $ab= Get Library Instance x, $ab.a set value new2

以上是关于如何在 Robot Framework 中使用 Get Library Instance 调用 Python 库函数的主要内容,如果未能解决你的问题,请参考以下文章