Selenium HtmlUnit зависает при случайной загрузке веб-страницы - PullRequest
1 голос
/ 08 сентября 2011

У меня проблема с HtmlUnitDriver с использованием Selenium.

Я использую версию Selenium 2.5.

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

мой код примерно такой:

инициализация ...

private WebDriver driver;
    driver = new HtmlUnitDriver(BrowserVersion.FIREFOX_3_6);((HtmlUnitDriver) driver).setJavascriptEnabled(true);
        //driver = new FirefoxDriver();
        driver.manage().timeouts().implicitlyWait(0, TimeUnit.MILLISECONDS);
        driver.manage().timeouts().setScriptTimeout(0, TimeUnit.MILLISECONDS);

, а затем много таких блоков:

new Actions(driver).moveToElement(driver.findElement(By.linkText("Someting"))).perform(); 
        driver.findElement(By.linkText("something else")).click();
        driver.findElement(By.name("something")).sendKeys("8");
        driver.findElement(By.xpath("//img[@title='something']")).click();

после каждого клика () загружает новую страницу.

Я обычно заканчиваю весь тест правильно, и я попробовал перехватить все блоки, чтобы сеть не была проблемой.

Веб-драйвер игнорирует тайм-ауты (я пробую много разных таймаутов, и проблема сохраняется), и я не могу остановить драйвер из других потоков, вызывая "quit ()" или "close ()"

Я ищу везде, но не могу найти решение.

¿Кто-нибудь может мне помочь?

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 15 сентября 2011

Я решаю, выкладываю свое решение, если у кого-то есть такая же проблема.

Я нажимаю клавишу esc из другого потока (основное занято в ожидании ...)

((HtmlUnitDriver) test.getDriver()).getKeyboard().pressKey(Keys.ESCAPE);

и затем я убиваю браузер и перезапускаю тест

test.getDriver().quit(); restart();//create a new test instance
0 голосов
/ 13 сентября 2011

Я сталкивался с таким поведением раньше.

Я бы сначала обновился до 2.9 и повторил попытку

Тогда я бы проверил страницы, которые я нажимаю, потому что, если у них есть фреймы или фреймы, они тоже загружаются, и если вы не контролируете их содержимое, все может произойти

Взгляните на эту ссылку , потому что она может найти решение, которое вы ищете.

Надеюсь, это поможет.

...