gpt4 book ai didi

python - 从预运行修改器访问 Robot Framework 全局变量

转载 作者:太空宇宙 更新时间:2023-11-03 11:21:20 24 4
gpt4 key购买 nike

我正在使用如下命令在文件夹上调用 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_TYPEIMAGE_TYPE?显示的方法 here不起作用,因为我想在测试开始执行之前访问变量,因此我得到一个 RobotNotRunningError 消息 Cannot access execution context

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

最佳答案

似乎没有公共(public) API 提供此信息,但调试主要代码确实提供了另一种获取信息的方法。不得不说,这个示例代码将适用于 3.0.2 版,但将来可能无法使用,因为这些是可能会发生变化的内部功能。也就是说,我确实认为这种方法会保留下来。

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

import sys

cli_args = sys.argv[1:]

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

from robot.run import RobotFramework
import sys

options, arguments = RobotFramework().parse_arguments(sys.argv[1:])

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

arguments[0] = IMAGE_TYPE:BAR

这应该允许您访问所需的信息。

关于python - 从预运行修改器访问 Robot Framework 全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42509470/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com