在执行自动化测试用例过程中,发现因为网络慢或其他原因导致driver.get(url) 时,页面一直在加载,页面没有加载完成就不会去继续执行下面的动作,但是实际上需要操作的元素已经加载出来了。
第一步:使用 set_script_timeout() 设置等待最大时间。
第二步:到了最大等待时间后页面如果仍然没有加载完成,执行js代码, driver.execute_script("window.stop()") 停止页面加载,执行下面的自动化测试步骤。
代码如下:
driver = self.driver
# 设置页面最大加载时间
driver.set_page_load_timeout(10)
try:
driver.get(self.base_url)
except TimeoutException:
print '!!!!!!time out after 10 seconds when loading page!!!!!!'
# 当页面加载时间超过设定时间,通过js来stop,即可执行后续动作
driver.execute_script("window.stop()")