Robot框架变量文件可以创建一个在测试用例中可用的字典吗?

2024-09-30 01:32:58 发布

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

我正在尝试使用robot框架变量文件来创建一个字典来描述我的测试床中的硬件。根据提供的参数值,将返回不同的硬件。在

例如,这是我尝试使用的变量文件(名为拓扑.py)公司名称:

import sys
testbed = sys.argv[1]
UUT1 = {}
UUT2 = {}

if testbed == 'development':
    UUT1 = {'platform': 'xyz', 'address': '192.168.1.1'}
    UUT2 = {'platform': 'xyz', 'address': '192.168.1.2'}
if testbed == 'production':
    UUT1 = {'platform': 'pdq', 'address': '192.168.2.1'}
    UUT2 = {'platform': 'pdq', 'address': '192.168.2.2'}

我的目标是能够在测试用例中引用这个字典。例如:

^{pr2}$

我面临的问题是,每当我调用变量文件时,robot会立即退出,并出现以下错误:

[ ERROR ] Execution stopped by user.

用这种方式使用词典有可能吗?在


Tags: 文件框架if字典硬件addresssysrobot
1条回答
网友
1楼 · 发布于 2024-09-30 01:32:58

是的,变量文件可以创建字典。robot框架用户指南gives an example。在

引用值时使用了错误的语法。使用extended variable syntax时,必须在大括号内使用python引用,因为大括号内的所有内容都被视为python表达式。变量引用应该是${UUT1["address"]}

如果sys.argv[1]既不是"development",也不是"platform",在这种情况下,UUT1和{}将不会被定义,那么您的代码也可能会失败。在

所有这些都可能不会导致错误[ ERROR ] Execution stopped by user.如果你使用了错误的语法,你会得到不同的错误,所以你问题中的错误似乎与另一个问题有关。在

相关问题 更多 >

    热门问题