从预运行modifi访问Robot框架全局变量

2024-09-29 20:25:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用如下命令在文件夹上调用Robot Framework:

robot --name MyTestSuite --variablefile lib/global_variables.py --variable TARGET_TYPE:FOO --variable IMAGE_TYPE:BAR --prerunmodifier MyCustomModifier.py ./tests

MyCustomModifier.py包含一个简单的SuiteVisitor类,该类包含/排除标记,并基于某些变量值集执行其他一些操作。在

如何访问该类中的TARGET_TYPE和{}?显示的方法here不起作用,因为我希望在测试开始执行之前访问变量,因此我得到一个RobotNotRunningError,其中包含消息Cannot access execution context。在

在找到this issue report之后,我试图降级到2.9.1版本,但是没有任何改变。在


Tags: namepy命令文件夹targetlibtyperobot
1条回答
网友
1楼 · 发布于 2024-09-29 20:25:24

似乎没有一个公共API提供这些信息,但是调试主代码确实提供了一种获取信息的替代方法。必须指出的是,这个示例代码将与3.0.2版一起使用,但将来可能不起作用,因为这些内部函数可能会发生更改。也就是说,我确实认为这种做法将继续存在。在

由于Robot Framework是一个应用程序,它通过它的主要函数run_cli(从命令行运行时)获取命令行参数。此函数由系统本身的参数填充,可以通过以下方式在每个python脚本中获取:

import sys

cli_args = sys.argv[1:]

Robot Framework有一个函数,可以解释命令行参数列表并使其成为一个更可读的对象:

^{pr2}$

参数变量是一个列表,其中添加了命令行中的所有变量。例如:

arguments[0] = IMAGE_TYPE:BAR

这将允许您访问所需的信息。在

相关问题 更多 >

    热门问题