2014-09-18 92 views
0

我有一个模块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倍。 实现这种功能的方式是什么?

回答

0

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

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

嘿谢@RudyS。我在SWStatus的工作类方法中使用了一个变量'status'。根据一些检查,它是真或假。我可以在类“HWStatus”中访问类“SWStatus”的变量吗?谢谢 – tryPy 2014-09-19 14:32:47