如何同时执行Robot Framework指定用例与整个测试套件?
解决方案
你的命令之所以只执行了case10,是因为Robot Framework的过滤参数(-s/--suite、-t/--test)是组合生效的:当你同时指定-s d2、-s d1和-t case10时,相当于要求测试用例同时属于d1或d2套件,且用例名为case10——而d2里没有这个用例,所以最终只执行了d1中的case10。
除了标签方式外,有两种更直接的实现方法:
方法一:直接指定带用例的文件路径 + 完整套件路径
通过在命令行中同时指定两个测试目标,分别对应「指定用例」和「整个套件」:
robot mytestcase/d1/f1.robot::case10 mytestcase/d2
mytestcase/d1/f1.robot::case10:精确指定只执行f1.robot中的case10用例mytestcase/d2:指定执行d2文件夹下的所有测试用例(即f2.robot的全部用例)
方法二:拆分过滤条件为独立的目标参数
如果不想写完整文件路径,也可以用--test指定完整用例路径,同时用--suite指定套件,通过多目标的方式实现:
robot --test d1.f1.case10 --suite d2 mytestcase
这里的--test d1.f1.case10会匹配d1套件下f1文件中的case10,--suite d2会匹配d2套件下的所有用例,两个条件是逻辑或的关系,因此会同时执行这两部分内容。
内容的提问来源于stack exchange,提问作者jiasheng
相关产品推荐
相关产品推荐

