在机器人框架中无限地运行几个测试

时间:2017-10-26 08:12:18

标签: robotframework

如何在机器人框架中无限地或至少有限地运行多次测试。

例如:

测试案例1 。 。

测试案例2 。 。 。 测试案例3 。 。 。 我希望测试以1,2,3,1,2,3的顺序运行...有限(大数)或无限运行。

我知道如何进行单次测试。但我想让它回来并在测试3之后进行测试1.我希望这个批次能够循环运行。

1 个答案:

答案 0 :(得分:2)

无法在RF中创建无限循环,无限循环地反复运行当前文件。相反,你可以创建一个指向RF文件的脚本,为你处理无穷大(ness),然后在需要时,杀死进程并将所有output.xml连接在一起,创建所有的母亲母亲RF报告。这是Python中的一个简单示例:

import subprocess
import os
import glob

try:
    while True:
        subprocess.call("robot EnterFileNameHere.robot")  # Add any robot options you may want
except KeyboardInterrupt:
    total = []
    os.chdir("/DirectoryWhich/HasAll/TheXML/Files")
    for GrabbedFiles in glob.glob("*.xml"):
        total += GrabbedFiles
    Converted = " ".join(str(x) for x in total)
    subprocess.call("rebot {0}".format(Converted))  # Add any rebot options you may want

更改目录以匹配文件所在的位置,这应该无限制地启动您选择的机器人文件,不断创建报告文件/输出文件。一旦你杀了它(使用CTRL + C),它将接受为KeyboardInterrupt,然后为你合并所有输出文件,然后关闭终端。

在RF本身中执行此操作的唯一方法是通过此答案here,但这只会在循环完成后为您生成报告。如果你突然杀了RF,我不知道如何处理报告生成。我认为它根本不会创建任何报告。所以我个人认为这是你最好的选择。

有任何问题让我知道。