首页 > 解决方案 > 如何根据机器人框架中的命令行参数在机器人脚本中声明可选的全局变量

问题描述

我有一个场景,我需要根据命令行参数在我的机器人脚本中设置全局变量。在某些情况下,我可以从命令行传递 2 个参数和其他 3 个参数。

样品机器人

Set Global Variable  ${arg1}  ${ARG1}
Set Global Variable  ${arg2}  ${ARG2}
Set Global Variable  ${arg3}  ${ARG3}

情景一

命令行参数传递

robot --variable ARG1:arg1 --variable ARG2:arg2 sample.robot

在代码执行期间,脚本会抛出“未找到变量 '${ARG3}'”的错误。

情景二

命令行参数传递

robot --variable ARG1:arg1 --variable ARG2:arg2 --variable ARG3:arg3 sample.robot

在代码执行期间,一切正常。

要求

我在这里需要的是,即使我没有传递一些命令行参数,它也不应该抛出任何错误。也许某种方式可以将一些全局变量声明为可选变量,而将其他变量声明为强制变量。使用“argparse”模块可以在 python 中实现类似的功能。

标签: pythonrobotframework

解决方案


  1. 要在机器人框架中设置全局变量,您可以使用Set Global Variable机器人框架中的内置关键字-您可以在此处查看参考

  2. 要了解有关命令行选项的更多信息,您可以通过此链接

  3. 要读取变量 bu,如果没有提供命令行参数,您希望设置一个默认值

${value} = Get Variable Value &{var} default value #Set your default value here

现在使用 list 或 dict 变量来动态保存不同数量的参数。因此,如果没有为该套件提供命令行参数。


推荐阅读