Недавно я пытался адаптировать тестовые наборы Selenium 1, предназначенные для работы в Firefox в Linux, для Internet Explorer в Windows Vista.Я установил не Grid-версию Selenium на Windows Vista, чтобы проверить ее, и обнаружил, что пусковые установки "* iexplore" и "* iehta" не работают.Кажется, что "* iehta" и "* iexplore" входят в бесконечный цикл при выполнении своих команд .start (), при этом функция .start () никогда не возвращается.Оба также открывают окно Internet Explorer, ведущее к месту на компьютере локального хоста в C: / Users / ($ текущая учетная запись пользователя) / AppData / Local / Temp, которое выглядит как пустая страница, соответствующая некоторому профилю IE..
"* iexploreproxy" отлично работал на автономном сервере selenium, и удаленное управление выполнялось на одной машине.Однако при попытке подключиться к концентратору Linux с непрерывной интеграцией в Selenium Grid «* iexploreproxy» больше не работал.При запуске на Selenium Grid «* iexplore» открывает (а затем сразу закрывает) окно IE, предположительно, с пульта дистанционного управления Selenium.«* iehta» открывает пульт дистанционного управления Selenium, но никогда не возвращает идентификатор сеанса в концентратор, позволяя концентратору начать передачу команд Selenese, вызывая то же поведение, что и на автономном сервере Selenium.
Однакоесли «* iehta» останавливается вручную (например, открывая терминал python на той же машине, что и хаб, запрашивая экземпляр Selenium, выполняющий «* iehta» с именем «sel» из хаба, запуская sel.start (), затем нажимаяcontrol-C во время получающегося бесконечного цикла, если другой удаленный элемент управления для сетки имеет доступное «* iexploreproxy», тогда концентратор может запускать экземпляры Selenium на «* iexploreproxy», которые можно использовать для целей тестирования. Некоторые странные несоответствия, которые я заметилв том, что в «* iexploreproxy» несколько последовательных экземпляров Selenium совместно используют файлы cookie и данные для входа в систему Basic HTTP Authentication между ними (в Firefox мне нужно повторно вводить эти пароли при каждом запуске Selenium) и пытается получить доступ к доменам за пределами одного »* iehta»изначально был назначен для сбоя (IE, если я запросил «* iehta» запустить браузер в http://development.place.com,, попытка запустить другой браузер в http://stagingarea.place.com привела бы к отказу Selenium.) Аналогично, окна Internet Explorerне закрываются при запуске selenium.stop (), тогда как в этом случае все окна Firefox закрываются.Насколько я могу судить, * iehta создает профиль Internet Explorer, который затем использует * iexploreproxy.
Кто-нибудь, кто более знаком с Selenium в IE, чем я, или знает о внутренней работе * iehta, знает, как объединить вызов * iehta и вызов * iexploreproxy, так что этот хрупкий обходной путь не имеетбыть нанятым?Тот факт, что я не до конца понимаю, означает, что все мои тесты нужно запускать вручную, чего я бы предпочел избегать, чтобы я мог вернуться к работе над новыми функциями.