bin*_*thb 3 python automation robotframework
如果我在Robot Framework中有一个大型测试套件,并且有很多标签可以了解套件中可用的标签名称列表?
有点像pybot --listtags ??
对于实际要进行测试的人来说,它会很有用.
例如,在与发布新闻文章相关的场景中,测试用例可以被标记为"发布","发布"或"发布".
测试人员不会随意使用RIDE.因此他/她可能不知道确切的标签名称.
在这些情况下,我认为提取要显示的可用标记是有用的 - 无需运行任何测试.然后他/她可以选择使用所需的标签运行测试
我搜索了机器人框架用户指南,但没有看到任何执行此操作的命令行选项.
Bry*_*ley 10
机器人没有提供任何信息来提供这些信息.但是,编写一个使用机器人解析器获取所有标记信息的python脚本非常容易.这是一个我觉得正确的快速破解(尽管我只是非常简单地测试过):
from robot.parsing import TestData
import sys
def main(path):
suite = TestData(parent=None, source=path)
tags = get_tags(suite)
print ", ".join(sorted(set(tags)))
def get_tags(suite):
tags = []
if suite.setting_table.force_tags:
tags.extend(suite.setting_table.force_tags.value)
if suite.setting_table.default_tags:
tags.extend(suite.setting_table.default_tags.value)
for testcase in suite.testcase_table.tests:
if testcase.tags:
tags.extend(testcase.tags.value)
for child_suite in suite.children:
tags.extend(get_tags(child_suite))
return tags
if __name__ == "__main__":
main(sys.argv[1])
Run Code Online (Sandbox Code Playgroud)
请注意,这不会获得Set Tags关键字创建的任何标记,也不会考虑删除标记删除的标记.
将代码保存到文件,例如get_tags.py,然后像这样运行:
$ python /tmp/get_tags.py /tmp/tests/
a tag, another force tag, another tag, default tag, force tag, tag-1, tag-2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2214 次 |
| 最近记录: |