Webdriver не находит элементы в удаленном IE - PullRequest
4 голосов
/ 08 августа 2011

У меня странная проблема с webdriver.У меня есть локальная среда и удаленная среда для выполнения моих тестов;они отлично работают в Firefox в обеих средах, но в Internet Explorer 8 они работают только локально.

Всякий раз, когда я запускаю тесты на удаленном сервере, он даже не находит элементы текстового поля для входа в систему.Я использую ожидание при поиске элементов, и я пытался увеличить время до минут, но ничего.Я вижу элемент в IE, просматривая исходный код.Я даже сравнил html, сгенерированный из них обоих, и он одинаковый.

Я использую селен через JBehave (JBehave-web-selenium-3.3.4 с selenium-ie-driver-2.0b3)

Чтобы извлечь элемент, который я использую:

public WebElement getElementById(String elementId){
    return getMyWaiter()
    .waitForMe(By.id(elementId), TEST_DELAY_IN_S);
}

public WebElement waitForMe(By locator, int timeout) {
        WebDriverWait wait = new WebDriverWait(driver, timeout);
        return wait.until(Waiter.presenceOfElementLocated(locator));
}


public static Function<WebDriver, WebElement> presenceOfElementLocated(
            final By locator) {
        return new Function<WebDriver, WebElement>() {
            @Override
            public WebElement apply(WebDriver driver) {
                return driver.findElement(locator);
            }
        };
    }

Есть идеи, почему такое поведение?

Ответы [ 2 ]

11 голосов
/ 12 августа 2011

Я нашел проблему, это проблема безопасности с Internet Explorer и удаленными серверами.Чтобы это исправить, просто добавьте удаленный сервер в доверенные сайты (Tools > Options > Security Tab > Trusted Site)

0 голосов
/ 16 мая 2019

Это работает для. В IE перейдите в Internet Option -> Безопасность -> Снимите флажок Включить защищенный режим для всех вкладок. И перезапустите свой проект

...