Перейти к содержимому

Фотография

Selenium WD не видит своего окна


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 Dmitriy Komar

Dmitriy Komar

    Новый участник

  • Members
  • Pip
  • 12 сообщений
  • ФИО:Комар Дмитрий

Отправлено 28 октября 2011 - 09:40

Добрый день.
Подскажите, пожалуйста, из-за чего такое может происходить: есть pop-up окно, оно нормально отображается, selenium видит его в driver.WindowHandles, но не может найти на нем ни одного элемента. Если проверить его свойства в Visual Studio дебаггере, то кажется, что все в порядке. В driver.PageSource отбражается правильный исходный код. Однако если driver.PageSource открыть через HTML Visualizer, вместо страницы отображается стандартная ошибка:
----------------------------------------------------
Эта программа не может отобразить эту веб-страницу

Возможные причины:

Нет подключения к Интернету.
На веб-узле возникли неполадки.
Возможно, сделана опечатка в адресе.

...
-------------------------------------------------------

С другими окнами ничего подобного никогда не происходило. Проверял на IE8 и на FF. На другом компьютере результат такой же.
  • 0

#2 stmark

stmark

    Опытный участник

  • Members
  • PipPipPipPip
  • 404 сообщений
  • ФИО:Докучаев Сергей
  • Город:Ярославль


Отправлено 28 октября 2011 - 09:46

А можно собственно взглянуть на сам код теста?
  • 0

#3 Dmitriy Komar

Dmitriy Komar

    Новый участник

  • Members
  • Pip
  • 12 сообщений
  • ФИО:Комар Дмитрий

Отправлено 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);

...


  • 0

#4 Dmitriy Komar

Dmitriy Komar

    Новый участник

  • Members
  • Pip
  • 12 сообщений
  • ФИО:Комар Дмитрий

Отправлено 28 октября 2011 - 14:04

Нашел причину. Все дело было во фреймах :)

driver.switchTo().frame(0);
решило все проблемы
  • 0

#5 stmark

stmark

    Опытный участник

  • Members
  • PipPipPipPip
  • 404 сообщений
  • ФИО:Докучаев Сергей
  • Город:Ярославль


Отправлено 28 октября 2011 - 14:06

Конкретизирую: нужно то место в коде, где происходит выбор вновь открытого окна.
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных