Добрый день.
Подскажите, пожалуйста, из-за чего такое может происходить: есть pop-up окно, оно нормально отображается, selenium видит его в driver.WindowHandles, но не может найти на нем ни одного элемента. Если проверить его свойства в Visual Studio дебаггере, то кажется, что все в порядке. В driver.PageSource отбражается правильный исходный код. Однако если driver.PageSource открыть через HTML Visualizer, вместо страницы отображается стандартная ошибка:
----------------------------------------------------
Эта программа не может отобразить эту веб-страницу
Возможные причины:
Нет подключения к Интернету.
На веб-узле возникли неполадки.
Возможно, сделана опечатка в адресе.
...
-------------------------------------------------------
С другими окнами ничего подобного никогда не происходило. Проверял на IE8 и на FF. На другом компьютере результат такой же.
![Фотография](https://secure.gravatar.com/avatar/07f7dbb08b67fe7ea0fe335c24544107?s=100&d=https%3A%2F%2Fsoftware-testing.ru%2Fforum%2Fpublic%2Fstyle_images%2Fmaster%2Fprofile%2Fdefault_large.png)
Selenium WD не видит своего окна
Автор Dmitriy Komar, 28 окт 2011 09:40
Сообщений в теме: 4
#1
Отправлено 28 октября 2011 - 09:40
#2
Отправлено 28 октября 2011 - 09:46
А можно собственно взглянуть на сам код теста?
#3
Отправлено 28 октября 2011 - 11:21
Попробую выложить кусок кода с комментариями, но почти все методы самописные, поэтому врядли будет что-то понятно :) Во всех остальных тестах и в этом самом тесте до они срабатывают отлично. Дело именно в каких-то особых свойствах окна. Selenium получает PageSource, но не может по нему сформировать страницу. Там видимо разработчики перестарались с jQuery
... CommonMethods.ClickOnTheLinkInTheDropDown("DIV_RS_DownloadDropDown", "DIV_RS_ExportReport", 300); // Кликаем по линке и открывается окно, на котором невозможно наqти элемент elem = CommonMethods.GetHTMLElement("SELECT_ExportReport_Format", 10, false); //Самописный метод, который достает из базы данных описание объекта (xpath, css) по его имени и ищет по всем открытым окнам Assert.NotNull(elem, "Export and Report options window was not opened"); Report.AddTableElement(strSuitName, strScriptName, strTC, strScope, "Verify Export and Report options window is opened", "SELECT_ExportReport_Format is displayed. Window is opened", "As expected", "Pass", false, 0); ...
#4
Отправлено 28 октября 2011 - 14:04
Нашел причину. Все дело было во фреймах :)
driver.switchTo().frame(0);решило все проблемы
#5
Отправлено 28 октября 2011 - 14:06
Конкретизирую: нужно то место в коде, где происходит выбор вновь открытого окна.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных