由于过时的元素,我在Sauce Labs上进行了硒测试失败。该测试打开一个页面,点击网站中的一些链接,点击一个链接,将您带到Facebook,然后返回,这就是事情停止工作的地方。由于某些原因,在返回原始页面后,驱动程序无法再找到“新鲜”元素。这似乎只发生在Sauce Labs上使用Android时。代码如下,如果您有任何关于如何解决它的建议,请告诉我(我不在乎它是否完美,只是想让它工作)。
@Test
public void testFooter() throws Exception {
driver.get(baseUrl + "/");
// these links are all on my domain, work just fine
driver.findElement(linkText("About Us")).click();
driver.findElement(linkText("Press")).click();
driver.findElement(linkText("Careers")).click();
driver.findElement(linkText("FAQ")).click();
driver.findElement(linkText("Industry Resources")).click();
driver.findElement(linkText("Share")).click();
// going out to facebook works
driver.findElement(linkText("Facebook")).click();
driver.navigate().back();
// coming back to the page and clicking the twitter link fails due to
// org.openqa.selenium.StaleElementReferenceException: WebElement is stale.
driver.findElement(linkText("Twitter")).click();
driver.navigate().back();
}