Я получаю NoSuchWindowException @ при нажатии кнопки ОК во всплывающем окне (после этого всплывающее окно закрывается) - PullRequest
0 голосов
/ 10 июля 2019

Я получаю Method threw 'org.openqa.selenium.NoSuchWindowException' exception. Cannot evaluate com.sun.proxy.$Proxy10.toString() после нажатия кнопки ОК во всплывающем окне в режиме отладки.

This is causing the next error in the console:
[1562769428.065][SEVERE]: Unable to receive message from renderer
[1562769428.065][SEVERE]: Unable to receive message from renderer

Странно то, что код продолжает выполняться.После нажатия «ОК» он переключается в главное окно и успешно выполняет остальную часть кода.Пожалуйста, помогите мне избавиться от этой ошибки?

   public void clickBelangrijkeNotitie() {
       wait.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(Constant.BELANGRIJKE_NOTITIE_ACTIVITY_CSS_LOCATOR_VALUE)));
       HandleNewWindow.setMainWindow(driver);
       elements.belangrijkeNotitie.click();
       HandleNewWindow.switchToNewWindow(driver, wait);
       System.out.println("switching to new window");
   }

public void typeNotitie(String notitie) {
  wait.until(ExpectedConditions.elementToBeClickable(By.id(Constant.NOTITIE_INPUT_FIELD_ID_LOCATOR_VALUE)));
       elements.notitie.clear();
       elements.notitie.sendKeys(notitie);
   }

   public void clickOkButton() {
       elements.okButton.click();
       HandleNewWindow.switchToMainWindow(driver);
   }

   public class HandleNewWindow {
    protected static String mainWindow;
    public static void setMainWindow(WebDriver driver) {
        mainWindow = driver.getWindowHandle();
    }

    public static void switchToNewWindow(WebDriver driver, WebDriverWait wait) {
        wait.until(ExpectedConditions.numberOfWindowsToBe(2));
        Set<String> allWindows = driver.getWindowHandles();
        for (String newWindow : allWindows) {
            if (!newWindow.equals(mainWindow)) {
                driver.switchTo().window(newWindow);
            }
        }
    }
    public static void switchToMainWindow(WebDriver driver) {
        driver.switchTo().window(mainWindow);
    }
}
     @Test (testName = "Create belangrijke and standaard notitie")
    public void testBelangrijkeEnStandaardNotitie() {
            logIn.logInToPowerCurveWithUserX(npa.USERNAME, npa.PASSWORD);
            search.searchAccount(accountNummer3);
            activities.clickNotitieParentActivity();
            activities.clickBelangrijkeNotitie();
            popUpActivities.typeNotitie("Een belangrijke notitie: Dit is een effectieve test....");
            popUpActivities.clickOkButton();
            activities.clickNotitieParentActivity();
            activities.clickStandaardNotitie();
            popUpActivities.typeNotitie("Standaard notitie ook maar even doen.......");
            popUpActivities.clickOkButton();
            toolbarActivities.clickAccountOntladenButton();
            logOut.logOutFromPowerCurve();
    }
}

, так что это вызывает исключение: elements.okButton.click ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...