Тест на селен в Internet Explorer всегда заканчивается? - PullRequest
3 голосов
/ 30 июля 2010

Я пытаюсь запустить базовый тест в Internet Explorer через Selenium-RC / PHPUnit, и он всегда возвращается с

# phpunit c:\googletest.php
PHPUnit 3.4.15 by Sebastian Bergmann.

E

Time: 35 seconds, Memory: 4.75Mb

There was 1 error:

1) Example::testMyTestCase
PHPUnit_Framework_Exception: Response from Selenium RC server for testComplete()
.
Timed out after 30000ms.


C:\googletest.php:17

FAILURES!
Tests: 1, Assertions: 0, Errors: 1.

Paul@PAUL-TS-LAPTOP C:\xampp
#

Последняя команда в истории команд это waitForPageToLoad (30000). Тот же тест работает нормально и завершается в Firefox. Как я могу получить этот тест для запуска и завершения в Internet Explorer?

Спасибо

Ответы [ 4 ]

3 голосов
/ 18 августа 2011

В Селене есть открытая ошибка, из-за которой waitForPageToLoad иногда блокируется в IE.

http://jira.openqa.org/browse/SRC-552

Она помечена как возникающая в IE6, но я испытываю ту же ошибку вминимум IE9.

Обходной путь - это ждать, например, определенного DOM-элемента на загружаемой странице, вместо использования waitForPageToLoad.Например: waitForVisible ('css = # header')

1 голос
/ 13 декабря 2012

Если допустимо настроить драйвер клиента, вот реализация Python для вашей ссылки:

def open(self):
    timeout = self.get_eval('this.defaultTimeout')
    self.set_timeout(0)
    self.do_command("open", [url,ignoreResponseCode])
    self.set_timeout(timeout)
    self.wait_for_page_to_load(timeout)

def wait_for_page_to_load(self,timeout):
    # self.do_command("waitForPageToLoad", [timeout,])
    import time
    end = time.time() + int(float(timeout) / 1000)
    while time.time() < end:
        if self.get_eval('window.document.readyState') == 'complete': return
        time.sleep(2)
    raise Exception('Time out after %sms' % timeout)

Я просто использую атрибут DOM document.readyState, чтобы определить, полностью ли загружена страница.

IE 9+ периодически выдает ошибку тайм-аута, даже если страница полностью загружена , для получения более подробной информации.

1 голос
/ 04 июля 2012

Я отключил защищенный режим и похоже, что он помог.

1 голос
/ 07 августа 2010

Попробуйте зайти в Свойства обозревателя и отключить защищенный режим на вкладке «Безопасность». Вы также можете снизить уровень безопасности для зоны Интернета.

...