Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用WebDriver执行测试用例时,结果始终显示失败_Java_Selenium_Webdriver - Fatal编程技术网

Java 使用WebDriver执行测试用例时,结果始终显示失败

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);

我有下面的一段代码,当执行时,它会纠正我所期望的页面,并单击所需的链接。但是,结果总是显示失败而不是通过。在for循环的最后一步之后,焦点跳到catch循环并打印
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,因此我猜其中一些正在从原始页面导航。这将导致您的
列表变得陈旧。看看这里,寻求可能的帮助。