由于过时的元素,我在 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();
}