Selenium + IE8: просмотр совместимости IE8

Я запускаю Selenium в режиме SingleWindow и IE8.

Если я запускаю IE8 вручную, режим IE8 установлен, но когда я запускаю его с Selenium, установленный режим - IE7, используя режим совместимости.

Кто-нибудь знает, почему режим совместимости не является представлением IE8 при запуске браузера с Selenium?

Или, как я могу полностью отключить режим совместимости в IE и заставить его всегда использовать представление IE8?

Ответ 1

Я задал вопрос +1, потому что это очень хороший вопрос - не очевидно, как это сделать, и если вам нужно протестировать оба режима, тогда это необходимо сделать.

Вы можете заставить сайт обслуживать <meta http-equiv="X-UA-Compatible" content="IE=7" /> на странице при выполнении тестов. Это должно заставить выходной режим.

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

Учитывая, что мы решили пойти по этому пути, вы можете написать свой код, чтобы принять указанный аргумент в URL-адресе, который запускает метатег, который будет обслуживаться. Затем тесты IE7 могли быть записаны для отправки этого URL-адреса.

Кстати, стоит отметить, что IE8-совместимый режим не на 100% идентичен IE7; он имеет свои собственные причуды и ошибки, отличные от тех, что есть в реальном браузере IE7. По большей части это должно быть хорошо, но стоит знать об этом, если вы ожидаете, что ваши тесты подтвердят, что сайт работает в IE7. См. этот пост в блоге для дополнительной информации

Ответ 2

У меня есть некоторое трудовое решение, я использую его регулярно:


В Internet explorer goto:  1. Инструменты/Параметры просмотра совместимости.  2. В текстовом поле Добавить Добавить веб-сайт добавьте URL-адрес своего веб-сайта.


Надеюсь, что это поможет, с наилучшими пожеланиями,

Питер Надаси (HUN)