如何在 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 库函数的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Robot Framework 中运行无头测试

如何识别 Facebook 时间线元素以使用 Robot Framework 发布内容?

如何使用 Robot Framework 比较两个 csv 文件

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

您如何在 Robot Framework 中编写具有多个标识符的动态元素?

如何在 Robot Framework 中编写循环