Is it possible to set a time limit for a Selenium test?
我们为Chrome,Firefox和Safari开发扩展程序,并使用Selenium测试我们的Chrome和Firefox扩展程序。 但问题是,一些Firefox测试卡住了几个小时,它们只在我们杀死显示器
1 2 3 4 5 6 | self.driver = webdriver.Firefox(firefox_profile=firefox_profile) time.sleep(30) self.driver.set_window_size(width=1920, height=1080) size = self.driver.get_window_size() print("Window size: width = {}px, height = {}px.".format(size["width"], size["height"])) self.driver.set_page_load_timeout(time_to_wait=45) |
我们正在使用Selenium
我的类继承自
您可以尝试超时装饰器进行测试
1 2 3 4 5 6 7 8 9 10 11 12 | import time import timeout_decorator @timeout_decorator.timeout(5) def mytest(): print"Start" for i in range(1,10): time.sleep(1) print"%d seconds have passed" % i if __name__ == '__main__': mytest() |
有关更多详细信息,请参阅:timeout-decorator
好吧,一个奇怪的工作是使用线程。
线程是一种同时运行Python程序的两个部分的方法。 您可以在其他代码旁边运行计时器,并在计时器用完时运行
例如
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | from thread import start_new_thread import os import time def your_code(): # Your code def timer(): # Say the time limit is 15 minutes for i in range(16): for z in range(60): time.sleep(1) print i,z if i >= 15: os.system("sudo killall Xvbf") start_new_thread(your_code) start_new_thread(timer) while 1: pass |
其他资源:
http://www.tutorialspoint.com/python/python_multithreading.htm
快乐的编码! 祝你好运!