RobotFrameworkLinux命令⾏
因为最近正准备把⾃动化执⾏托管到Jenkins下,所以会⽤到robot的命令⾏。看了⼀下,打算简单翻译⼀下pybot --help中的命令,整理成⽂档并附上例⼦。
命令⾏的语法:pybot|jybot|ipybot [options] data_sources
1.参数中若带星号表⽰可以赋多个值
2.⽂章介绍的所有命令都属于 [options]的范畴,所以⽆论写多少个选项记得在最后带上要执⾏的源
下⾯先看⼀下⽰例的⽬录结构和测试⽂档的内容。
现在开始开始逐个讲解。
-N –name  name
设置顶层测试套件的名称(在名称中的下划线被转换为空格),默认名称是被执⾏的数据源的名称。
-D –doc documentation
设置顶层测试套件的⽂档。⽂档中的下划线被转换为空格,它还可以包含简单的HTML格式(如*粗体* 和HTTP:/⽹址/)
-M –metadata name:value *
设置顶层套件的元数据。在名称/值中的下划线被转换为空格。值可以包含的HTML格式和doc命令中描述的⼀样。
-G --settag tag *
对所有已执⾏的⽤例设置标签,可以设置多个。但不会修改⽤例中实际的标签,仅本次有效。
-t --test name *
根据⽤例名选择要执⾏的⽤例,并且对⼤⼩写不敏感,可以使⽤通配符“*”和“?”匹配任意字符。如果使⽤“*”和“?”
-s --suite name *
通过名字选择要执⾏的测试⽤例集合. 当这个选项和
-
-test, --include 或—exclude⼀起使⽤时, 只有同时符合了所有条件的⽤例集合才会被选中执⾏。--suite和—test⼀样可以使⽤通配符,并且还能⽤“.”来表⽰⽗级。
-i --include tag *
根据标签来选择执⾏的⽤例. 和 --test的⽤法差不多,它对查的内容也不区分⼤⼩写,也可以使⽤通配符。并且标签名之间还可以包含`AND`, `OR`,和`NOT。
-e --exclude tag *
根据标签选择不执⾏的⽤例. 即便⽤--exclude的同时⼜⽤了—include,并且exclude的内容也符合include的标签规则,也不会执⾏这些⽤例。简⽽⾔之—exclude⽐—include优先级⾼. –exclude的具体使⽤格式和—include相似。
-R --rerunfailed output
根据output中的执⾏的失败记录,选择需要执⾏的⽤例。具体使⽤和 --test差不多。还有个--runfailed output作⽤是⼀样的,但从robot 2.8.4之后就不建议⽤了。
⾸先我们修改第⼀个测试⽤例使它出错linux命令查看文件夹大小
然后我们运⾏这个测试⽤例使它出错
之后看⼀下我们robot的版本号
我们叛逆的试⽤⼀下⽼版本的--runfailed,也可以执⾏,但报了⼀⾏警告:[ WARN ] Option --runfailed is deprecated and will be removed in the future. Use --rerunfailed instead.我们再⽤⼀下推荐的—rerunfailed,并没有警告。
那么如果output中没有错误还仍然执⾏这个命令会怎么样呢?答案是会报错[ ERROR ] Collecting failed tests from 'l' failed: All tests passed.因为没有失败的⽤例。
-c --critical tag *
将⼀些含有给定标签的⽤例当成是核⼼⽤例,仅对当前执⾏的⽤例做critical统计。如果没有哪个标签被指定为critical则所执⾏⽤例都是核⼼⽤例。参数具体格式可以参见—include。
-n --noncritical tag *
将⼀些含有给定标签的⽤例当成是⾮核⼼⽤例,仅对当前执⾏的⽤例做critical统计⽤。
-v --variable name:value *
在测试数据中设置变量,只⽀持值是字符串的scalar变量,并且变量名不需要⽤`${}`包裹。如何使⽤特殊字符请参见—escape,更强⼤的变量设置机制参考—variablefile。
我们先改⼀下测试⽤例
试着把有初始值和⽆初始值的两个变量都赋值
结果成功给两个变量赋值
如果没有初始值的变量在执⾏时候⼜没有赋值则会报错
-V --variablefile path *
可以把⼀个python或YAML⽂件中的变量和值传⼊测试⽤例。如果有需要传⼊⽂件的参数可以在⽂件名后⽤冒号或分号分割。以python⽂件environment.py为例,可以在其中写
⼀个函数get_variables⽤来接收传⼊的参数,并根据这个参数选择返回test环境的参数还是dev环境的参数。
我们再修改⼀下测试⽤例,把⼀些参数名改为environment.py中的参数名。
执⾏测试⽤例,给定参数是test
看到variablesTest中的参数被使⽤⽽dev中的参数未被使⽤
-d --outputdir dir
设定输出⽂件路径,默认的路径是测试⽤例执⾏的⽂件夹下。给定的dir可以是相对路径也可以是绝对路径。
我们让运⾏出错,执⾏完毕我们在/home下到新的输出⽂件,查看report是有失败⽤例的,⽽/home/robotTest下的输出⽂件还是刚才全部正确时候⽣成的。
-o --output file
将本次测试执⾏之后的结果新⽣成⼀个xml⽂件,默认是⽣成l,当⽤这条指令⽣成了新的xml⽂件时l就不再⽣成了。如果使⽤NONE作为参数则log.html和
report.html也不会⽣成了。
因为xml⽂件没有了,⽽另外两个html⽂件是基于它⽣成的,所以会报⼀个错[ ERROR ] Log file is not created l is disabled.但⽤例可以执⾏。
<img
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAioAAAEgCAIAAAAVIc8fAAAgAElEQVR4nOy9519bR9qAfav3BuqiCCHRexGiCBCSQBJCNCEJFYQaAtR7oXcwxRjbKXb6JrvZ7GZ3

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。