【发布时间】:2021-09-26 22:16:10
【问题描述】:
我这里有一个测试用例:
我的页面左侧部分是手风琴菜单。当我执行单击父菜单时,它起作用了。并且网站右侧会显示“你没有权限”并返回首页。
当我第二次访问时,右侧部分将显示正常内容。所以我应该再次单击菜单,然后在我的测试代码中这样写。但它没有执行任何点击操作——只是将点击操作传递到下一步。所以我的测试失败并抛出错误。
我查看了由 selenium webdriver 控制的浏览器。页面重新加载到主页后,它显然被冻结了。
错误信息显示:
Test method AutomationTesting.cuteTest.CheckChocolate threw exception:
OpenQA.Selenium.WebDriverTimeoutException: Timed out after 5 seconds ---> OpenQA.Selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@class='menuChocolate']/a"}
我的测试代码:(为什么一定要点击第二次是因为这个页面需要第二次来才能显示正常的UI)
DessertsMenu.Click();
WebDriverWait waitForMenu= new WebDriverWait(Driver, TimeSpan.FromSeconds(5));
waitForMenu.Until(ExpectedConditions.ElementIsVisible(By.XPath("//*[@class='menuChocolate']/a"))).Click();
DessertsMenu.Click();
WebDriverWait waitAgain= new WebDriverWait(Driver, TimeSpan.FromSeconds(5));
waitAgain.Until(ExpectedConditions.ElementIsVisible(By.XPath("//*[@class='menuChocolate']/a"))).Click();
我查看了由 selenium 控制的浏览器,它实际上是单击菜单。但我不知道为什么它没有再次点击。 我有什么遗漏吗?
【问题讨论】:
-
谢谢大家,我用Driver.Navigate().Refresh();解决了我不知道它为什么起作用,奇怪。
标签: selenium selenium-webdriver