从另一个测试中多次运行测试

时间:2014-09-18 22:40:56

标签: python testing module automation testng

我有一个运行所有测试的模块testrun.py。其中一项测试是SWStatus 这样

class HWStatus(myTest):
    def __init__(self):
        super(SWStatus, self).__init__()

    def setup(self):
        return

    def work(self):
    """
    doing my work here
    """

要运行此测试,我会python testrun.py SWStatus,它会给我结果。

我想创建一个HWStatus测试,使其实际运行SWStatus次10次。

class HWStatus(myTest):
    def __init__(self):
        super(SWStatus, self).__init__()

    def setup(self):
        return

    def work(self):
    """
    run SWStatus test 10 times
    """

所以,如果我python testrun.py HWStatus,它实际上应该python testrun.py SWStatus 10次。 实现这种功能的方法是什么?

1 个答案:

答案 0 :(得分:0)

也许你可以使用子进程。将测试脚本作为子进程打开,然后轮询()以确定测试何时完成,然后再次启动它。

for i in xrange(10):
    args = ['python', 'testrun.py', 'HWStatus']
    p = subprocess.Popen(args)
    while p.poll() != 0:
        time.sleep(amount_of_time)