我们为Chrome,Firefox和Safari开发扩展程序,并使用Selenium测试我们的Chrome和Firefox扩展程序。我最近添加了timeout_decorator
来停止测试,如果他们运行超过15分钟(你可以看到我的former question的答案),它适用于Linux(Ubuntu)。但问题是,它无法在Windows上运行。这是我的代码:
import timeout_decorator
....
class BaseSeleniumTestCase(unittest.TestCase):
....
@timeout_decorator.timeout(seconds=900)
def _test_gmail_1_with_extension(self):
....
测试类继承自BaseSeleniumTestCase
并运行测试。我每次在Windows中运行测试之前都可以对装饰器进行评论,但是我希望有一个更好的解决方案,而不需要创建不同的测试。但是可以调用另一个函数来检查我们是在Windows还是Linux,如果我们在Windows中它将在没有装饰器的情况下运行测试,而在Linux中它将应用装饰器并运行测试。有什么建议吗?
答案 0 :(得分:3)
您可以重新定义<.(@
以接受相同的签名并在Windows上提供无操作:
timeout_decorator