Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Robotframework ROBOT框架:在参数文件中使用环境变量_Robotframework - Fatal编程技术网

Robotframework ROBOT框架:在参数文件中使用环境变量

Robotframework ROBOT框架:在参数文件中使用环境变量,robotframework,Robotframework,下面是我想做的一个基本概述: 我想使用参数文件调用脚本。但是参数文件需要处理路径的环境变量。因此,例如,参数文件可能是: args.robot [ROBOT_HOME variable]/test1.robot [ROBOT_HOME variable]/test2.robot [ROBOT_HOME variable]/test3.robot 我将在环境级别定义ROBOT\u HOME变量: $ export ROBOT_HOME=/path/to/tests/ $ pybot -A arg

下面是我想做的一个基本概述:

我想使用参数文件调用脚本。但是参数文件需要处理路径的环境变量。因此,例如,参数文件可能是:

args.robot

[ROBOT_HOME variable]/test1.robot
[ROBOT_HOME variable]/test2.robot
[ROBOT_HOME variable]/test3.robot
我将在环境级别定义
ROBOT\u HOME
变量:

$ export ROBOT_HOME=/path/to/tests/
$ pybot -A args.robot
args.ROBOT文件中的
[ROBOT\u HOME variable]
的以下替换均无效:

  • $ROBOT\u HOME
  • ${ROBOT_HOME}
  • %{ROBOT_HOME}
以下两个pybot命令都不起作用:

  • pybot-A args.robot
  • pybot-v ROBOT\u HOME:$ROBOT\u HOME-A args.ROBOT

我想做的事情可能吗?

@Rao为这个问题提供了一个很好的解决方案。本教程的最后一部分演示如何以编程方式生成argumentfile,并将其与一行程序一起使用

generate_arguments.sh | robot --argumentfile STDIN
generate_arguments.sh | robot --name Example --argumentfile STDIN tests.robot
现在剩下的问题是
可以生成什么参数.sh
呢?我喜欢使用envsub替换脚本中的环境变量(对于linux env)


不确定是否有帮助,请看。@Rao是的,我看了那里,没有看到关于这种事情的任何东西。
envsubst '$HOME' < "argumentfile.txt" > "argumentfile.txt"
echo "argumentfile.txt"
generate_arguments.sh && robot --argumentfile "argumentfile.txt"