Python 如何在robot框架中将列表作为命令行参数传递。?
我试图使用-v选项将列表作为命令行参数传递给robot脚本。因为这不是直接支持的,所以我正在尝试一些解决方法,比如Python 如何在robot框架中将列表作为命令行参数传递。?,python,robotframework,Python,Robotframework,我试图使用-v选项将列表作为命令行参数传递给robot脚本。因为这不是直接支持的,所以我正在尝试一些解决方法,比如 robot -v list_arg:a__b__c -E space:_ sample.robot 这在一定程度上完成了这项工作,因为当我将值登录到控制台时,可以看到以空格分隔的值。像 abc。 但是,我无法迭代使用FOR的所有列表成员。我只看到一个项目(“abc”)正在迭代 在robot框架中,还有其他优雅的方法通过命令行传递列表吗?虽然我不太喜欢它,但我能够从String库中
robot -v list_arg:a__b__c -E space:_ sample.robot
这在一定程度上完成了这项工作,因为当我将值登录到控制台时,可以看到以空格分隔的值。像abc
。
但是,我无法迭代使用FOR的所有列表成员。我只看到一个项目(“abc”)正在迭代
在robot框架中,还有其他优雅的方法通过命令行传递列表吗?虽然我不太喜欢它,但我能够从
String
库中迭代通过Split String
创建的列表
*** Settings ***
Library String
*** Test Cases ***
List Of Variables From CLI
@{list_of_vars} Split String ${my_vars}
:FOR ${var} IN @{list_of_vars}
\ Log ${var} WARN
robot-v my\u vars:1\u 2-E space:u-t“CLI中的变量列表”。
当使用将数据结构传递到robot框架时,考虑到您已经在将一个结构转换为与命令行兼容的结构,可能是一个更好的选择。添加变量文件使用-vc:/path/to/file.ext
语法
大致有两种方法:
- Python:使用正则变量语法声明变量结构
- YAML:使用它可以创建机器人框架列表、字典和字符串
- 简单Python函数:使用
是返回动态变量数或动态数据结构的最简单方法李>get_variables(arg)
- 动态Python类:使用一个函数,可以隐藏某些变量,有一组固定的变量,这些变量由基于给定输入的
补充,或者动态生成所有变量init()
string: Hello, world!
integer: 42
list:
- one
- two
dict:
one: yksi
two: kaksi
original: &org
item1: foo
item2: bar
reference
org: *org