使用命令行参数

Python/Java学习交流群:369606713


使用命令行参数

Robot Framework提供了许多命令行选项,可用于控制如何执行测试用例以及生成什么输出。

可以使用 robot -h 查看命令行参数。

实例

robot -L debug demo.robot
robot --variable HOST:10.0.0.42 demo.robot

上述实例,第一个通过 -L 参数 设置日志级别为debug,第二个通过--variable设置变量和变量值.

命令行参数可以缩写

例如选择要执行的测试用例 可以使用 -t, 或者 --test。通过tag选择测试用例,可以使用-i, 或者 --include

命令行参数可以使用正则表达式

  • * 匹配任何字符串,甚至是空字符串。
  • ? 匹配任何单个字符。
  • [abc]匹配括号中的一个字符。
  • [!abc] 匹配一个不在括号内的字符。
  • [a-z] 匹配括号范围内的一个字符。
  • [!a-z] 匹配一个不在括号内的字符。

例如

--test Example*        # 匹配名称以“ Example”开头的测试。
--test Example[1-2]    # 匹配测试“ Example1”和“ Example2”。
--include f??          # 匹配以'f'开头的标签的测试的长度为三个字符。

标签模式

大多数与标签相关的选项都接受参数作为标签模式。它们具有与简单模式相同的特征,但是它们还支持ANDORNOT运算符。这些运算符可用于将两个或多个单独的标签或样式组合在一起。

  • AND 或者 & 如果所有单个模式都匹配,则整个模式匹配。AND等效:
--include fooANDbar     # 匹配包含标签“ foo”和“ bar”的测试。
--exclude xx&yy&zz      # 匹配包含标签“ xx”,“ yy”和“ zz”的测试。
  • OR 如果任何单个模式匹配,则整个模式匹配:
--include fooORbar      # 匹配包含标签“ foo”或标签“ bar”的测试。
--exclude xxORyyORzz    # 匹配包含标签“ xx”,“ yy”或“ zz”中任何一个的测试。
  • NOT 如果左侧的图案匹配,则整个图案匹配,而右侧的图案不匹配。如果多次使用,则第一个NOT之后的所有模式都不得不匹配:
--include fooNOTbar     # 匹配包含标签“ foo”但不包含标签“ bar”的测试。
--exclude xxNOTyyNOTzz  # 匹配包含标签“ xx”,“ yy”或“ zz”中任何一个的测试。