Java 使用WebDriver执行测试用例时,结果始终显示失败
我有下面的一段代码,当执行时,它会纠正我所期望的页面,并单击所需的链接。但是,结果总是显示失败而不是通过。在for循环的最后一步之后,焦点跳到catch循环并打印Java 使用WebDriver执行测试用例时,结果始终显示失败,java,selenium,webdriver,Java,Selenium,Webdriver,我有下面的一段代码,当执行时,它会纠正我所期望的页面,并单击所需的链接。但是,结果总是显示失败而不是通过。在for循环的最后一步之后,焦点跳到catch循环并打印resultDetails.setFlag(false),case失败。请告诉我哪里错了 driver.findElement(By.linkText("ALL EQUIPMENT")).click(); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
resultDetails.setFlag(false)
,case失败。请告诉我哪里错了
driver.findElement(By.linkText("ALL EQUIPMENT")).click();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
List <WebElement> listings = driver.findElements(By.cssSelector("a[href*='/listing?listingid']"));
try {
for (int i=0; i < listings.size(); i++) {
WebElement requiredlisting = listings.get(i);
requiredlisting.click();
getvalue = driver.findElement(By.xpath("//div[7]/span")).getText();
System.out.println(getvalue);
driver.findElement(By.xpath("//div[3]/div[2]/input")).click();
Thread.sleep(10000);
driver.findElement(By.id("listingQuestion")).click();
Thread.sleep(10000);
driver.findElement(By.id("listingQuestion")).sendKeys("Where is the listing located");
Thread.sleep(10000);
driver.findElement(By.name("submitq")).click();
Thread.sleep(10000);
driver.findElement(By.xpath("//div/div[2]/div[3]/input")).click();
Thread.sleep(10000);
driver.findElement(By.id("uname")).click();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.findElement(By.linkText("Sign Out")).click();
driver.manage().deleteAllCookies();
driver.navigate().refresh();
driver.get(field);
driver.findElement(By.id("aurid")).sendKeys("mglaz@assetnation.com");
driver.findElement(By.id("apwd")).sendKeys("Equipment1$");
driver.findElement(By.xpath("//input[@value='Login']")).click();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.findElement(By.id("userAgreementBtn")).click();
Thread.sleep(10000);
System.out.println(getvalue);
driver.findElement(By.id("quicksearch")).sendKeys(getvalue);
Thread.sleep(10000);
driver.findElement(By.cssSelector("input.quicksearch_go")).click();
Thread.sleep(20000);
driver.findElement(By.linkText("Lot Q/A")).click();
Thread.sleep(10000);
driver.getPageSource().contains("my question");
driver.manage().deleteAllCookies();
driver.navigate().refresh();
resultDetails.setFlag(true);
}
}
catch (Exception e ) {
resultDetails.setFlag(false);
}
driver.findElement(By.linkText(“所有设备”))。单击();
driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
列表列表=driver.findElements(由.cssSelector(“a[href*=”/listing?listingid']);
试一试{
对于(int i=0;i
您在“列表”中持有webelemets。通过使用for循环,您将获得一个元素并执行许多操作,因此页面将发生更改。如果您从列表中调用另一个webelement,而当它被更改时,它通常会失去对页面的关注,那么您将得到一个陈旧的元素异常
如果我没有错的话,我希望你需要检查/改变这里的逻辑
谢谢,,
Murali您是否尝试过(int i=0;i
。单击()
s,因此我猜其中一些正在从原始页面导航。这将导致您的列表变得陈旧。看看这里,寻求可能的帮助。