如何在 Robot Framework 中的侦听器和(一个或多个)测试用例之间传递信息?
How to pass information between a listener and a (one or more) test cases in Robot Framework?
我有一个测试需要将结果写入数据库。我想通过侦听器中的 startSuite 函数建立与数据库的连接(使用用户名、密码、数据库、主机)(这将 运行 在所有测试用例的开头)并在 endSuite 中关闭它。我的问题是,如何将连接(或游标)传递回机器人框架代码以在测试用例中使用。
目前我正在这样做:
*** Test Cases ***
RecordinTestflow
Setup1
${return} = Record Start in Testflow ${data}
其中 Setup1 是一个 python 函数,它将设置连接,RecordStartinTestFlow 将使用该连接。我想将 Setup1 移动到侦听器 python 脚本。
谢谢。
外部侦听器无法向测试用例发送信息。但是,如果您使用关键字库作为侦听器,则可以。缺点是你必须在测试套件中导入监听器,而不是在命令行中指定它。
机器人框架用户指南的章节标题 Test libraries as listeners 描述了如何操作。
这是一个人为的例子,展示了侦听器方法如何设置测试用例随后可以使用的套件变量。
一、听众:
from robot.libraries.BuiltIn import BuiltIn
class ListenerExample(object):
ROBOT_LISTENER_API_VERSION = 2
ROBOT_LIBRARY_SCOPE = "GLOBAL"
def __init__(self):
self.ROBOT_LIBRARY_LISTENER = self
def _start_suite(self, name, attrs):
message = "hello, world"
BuiltIn().set_suite_variable("${from listener}", message)
接下来,一个简单的测试用例展示了如何在套件启动后立即设置变量。请注意,测试本身并未定义 ${from listener}
。相反,一旦调用侦听器方法,它就会被定义。
*** Settings ***
| Library | ListenerExample.py
*** Test Cases ***
| Example of getting data from a listener
| | should be equal | ${from listener} | hello, world
在您的情况下,当然,您可以将 message
更改为您的数据库游标或您想要的任何其他内容。
当然你也可以在这个库里放关键字,你也可以用
我有一个测试需要将结果写入数据库。我想通过侦听器中的 startSuite 函数建立与数据库的连接(使用用户名、密码、数据库、主机)(这将 运行 在所有测试用例的开头)并在 endSuite 中关闭它。我的问题是,如何将连接(或游标)传递回机器人框架代码以在测试用例中使用。 目前我正在这样做:
*** Test Cases ***
RecordinTestflow
Setup1
${return} = Record Start in Testflow ${data}
其中 Setup1 是一个 python 函数,它将设置连接,RecordStartinTestFlow 将使用该连接。我想将 Setup1 移动到侦听器 python 脚本。
谢谢。
外部侦听器无法向测试用例发送信息。但是,如果您使用关键字库作为侦听器,则可以。缺点是你必须在测试套件中导入监听器,而不是在命令行中指定它。
机器人框架用户指南的章节标题 Test libraries as listeners 描述了如何操作。
这是一个人为的例子,展示了侦听器方法如何设置测试用例随后可以使用的套件变量。
一、听众:
from robot.libraries.BuiltIn import BuiltIn
class ListenerExample(object):
ROBOT_LISTENER_API_VERSION = 2
ROBOT_LIBRARY_SCOPE = "GLOBAL"
def __init__(self):
self.ROBOT_LIBRARY_LISTENER = self
def _start_suite(self, name, attrs):
message = "hello, world"
BuiltIn().set_suite_variable("${from listener}", message)
接下来,一个简单的测试用例展示了如何在套件启动后立即设置变量。请注意,测试本身并未定义 ${from listener}
。相反,一旦调用侦听器方法,它就会被定义。
*** Settings ***
| Library | ListenerExample.py
*** Test Cases ***
| Example of getting data from a listener
| | should be equal | ${from listener} | hello, world
在您的情况下,当然,您可以将 message
更改为您的数据库游标或您想要的任何其他内容。
当然你也可以在这个库里放关键字,你也可以用