Selenium: как обрабатывать модальное диалоговое окно, отображаемое в зависимости от количества перенаправлений

1

Я использую Selenium Webdriver, используя С# (модель Factory Factory).

Мое приложение под тестированием дает диалог обратной связи после третьего перенаправления на сайте, независимо от того, на какой странице пользователь включен.

Каким будет лучший способ справиться с этим диалоговым окном обратной связи? Мне нужно просто закрыть диалог.

Должен ли я проверить это в конструкторе каждой страницы? или я должен держать счет перенаправления с использованием какой-либо глобальной переменной на уровне тестового случая и проверять, в этом случае, как я должен отслеживать перенаправления?

или любое другое лучшее решение?

Теги:
selenium
selenium-webdriver

1 ответ

1
Лучший ответ

Я не aС# selenium toding Tester (я использую Java). Для Model Dialog мы можем использовать это на основе этой ссылки.

private bool IsAlertPresent()
    {
        try
        {
            driver.SwitchTo().Alert();
            return true;
        }
        catch (NoAlertPresentException)
        {
            return false;
        }
    }

    private string CloseAlertAndGetItsText() {
        try {
            IAlert alert = driver.SwitchTo().Alert();
            string alertText = alert.Text;
            if (acceptNextAlert) {
                alert.Accept();
            } else {
                alert.Dismiss();
            }
            return alertText;
        } finally {
            acceptNextAlert = true;
        }
    }

и на основе этой ссылки. мы также можем использовать

WebDriver popup = webDriver.switchTo(). Window (handle);

    popup.close();

вы также можете проверить эту ссылку Диалог модели

  • 0
    Проблема в том, что это модальный диалог, а не JS Alert. :(
  • 1
    привет Kirtiraj, спасибо, я отредактировал сообщение.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню