我试着了解代码中的问题所在:
class WebTest(unittest.TestCase):
@classmethod
def setUpClass(cls):
binary = FirefoxBinary('/home/andrew/Downloads/firefox 45/firefox')
cls.browser = webdriver.Firefox(firefox_binary=binary)
cls.wait = WebDriverWait(cls.browser, 10)
cls.browser.maximize_window()
cls.browser.get('http://www.test.com/')
def test_login_menu_elements(self):
self.wait.until(EC.element_to_be_clickable((By.XPATH, "//a[@id='menu_min']"))).click()
check_icons(self)
self.wait.until(EC.element_to_be_clickable((By.XPATH, "//a[@id='menu_min']"))).click()
check_fields(self)
def test_add_news(self):
self.wait.until(EC.element_to_be_clickable((By.XPATH, "//span[contains(.,'News')]"))).click()
self.wait.until(EC.element_to_be_clickable((By.XPATH, "//a[@href='/manager/news']"))).click()
@classmethod
def tearDownClass(cls):
cls.browser.quit()
if __name__=='__main__':
unittest.main()
每次收到TimeoutException,我真的不明白为什么,代码中的问题在哪里
答案 0 :(得分:0)
可以收到TimeoutException
,而不会在您的代码中出现任何逻辑或语法错误。
TimeoutException
预期条件,则会引发 wait.until
。
我找到了一些帮助的事情:
$x({{ XPATH_HERE }})
确认其有效来检查您正在使用的选择器