Selenium中元素加载和等待

本来实现了退出功能的,但是想把自动化写得功能完善点。我加了个方法,给个等待时间,判断元素是否存在。

结果悲剧了。

函数执行有问题,把能跑过的case,给整失败了。元素没有获取到。

我只得退回原来的情况,把退出重新写起来。

结果也失败了。然后debug,  debug能过,把加载时间延长。

结果有的时候能过,有的时候不能过,shit.

 

   public LoginPage logout() {

          System.out.println("hehe");

          WebDriverWrapper.waitPageLoad(driver,8);

 //          System.out.println(WebDriverWrapper.doesWebElementExist(driver,logoutButton));

 

  //     if (WebDriverWrapper.doesWebElementExist(driver, logoutButton))

  //     {

        logoutButton.click();

      // driver.findElement(logoutButton).click();

        WebDriverWrapper.waitPageLoad(driver,2);

        Alert alert =driver.switchTo().alert();

        String str = alert.getText();

        System.out.println(str);

        alert.accept();

    //   }

      // else

      // {

       //        System.out.println("用户没有登陆,请先登陆");

      // }

           System.out.println("hehe");

        WebDriverWrapper.waitPageLoad(driver,3);

        returnPageFactory.initElements(this.getDriver(),

                       LoginPage.class);

 

今天又做了无用功。

怎么这么不顺呢?


后面我还原了,能跑起来了。

public LoginPage logout() {
        System.out.println("hehe");
        WebDriverWrapper.waitPageLoad(driver, 8);
        // System.out.println(WebDriverWrapper.doesWebElementExist(driver,
        // logoutButton));

        // if (WebDriverWrapper.doesWebElementExist(driver, logoutButton))
        // {
        logoutButton.click();
        // driver.findElement(logoutButton).click();
        WebDriverWrapper.waitPageLoad(driver, 2);
        Alert alert = driver.switchTo().alert();
        String str = alert.getText();
        System.out.println(str);
        alert.accept();
        // }
        // else
        // {
        // System.out.println("用户没有登陆,请先登陆");
        // }
        System.out.println("hehe");
        WebDriverWrapper.waitPageLoad(driver, 3);
        return PageFactory.initElements(this.getDriver(), LoginPage.class);
    }

你可能感兴趣的:(Selenium中元素加载和等待)