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

Фотография

Watir/Selenium2 Ничего не происходит при клике на элементе внутри ifra


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

#1 imprezkin

imprezkin

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

  • Members
  • Pip
  • 1 сообщений
  • ФИО:Тугин И.С.

Отправлено 10 сентября 2012 - 07:53

Я пишу автотесты с помощью Watir-WebDriver и Ruby 1.9.2 на Ubuntu для web-продукта.
На странице есть один iframe с несколькими элементами.Мне нужно кликнуть на один из элементов и посмотреть, что произойдёт(Должны появлятся менюшки).Iframe выглядит так:

<iframe id="iframe" align="top" some_attribute="some_attribute">
 <html>
  <head>
   <title> Some title </title>
  </head>
  <body>
   <div>
    <button id="id_button" type="button" class="some_class"/>
   </div>
  </body>
 </html>
</iframe>

Когда я кликаю на кнопку,в браузере доолжно отобразится меню.Но когда я кликаю на эту кнопку с помощью watir-webdriver, ничего не происходит, как будто я эту кнопку и не нажимал. Watir не пишет никаких exception'ов, но и не нажимает на кнопку. Данная проблема появилась в тестах только для Internet Explorer 9.Для Firefox и Chrome такой проблемы не наблюдается, т.е. при клике на эту кнопку - появляется меню. Код для клика на кнопку выглядит так:
 browser = Watir :: Browser.new (: remote,: url => "http://some_ip:4444/wd/hub",: desired_capabilities =>: internet_explorer)
 browser.goto ("http://some_http.com")
 browser.iframe.button (: id, "id_button"). click
и если я пишу
browser.iframe.button(: id, "id_button").attribute_value("class")

то это возвращает мне "some_class". То есть элемент находится и определяется, но при клике на него ничего не происходит.
  • 0

#2 sawoy

sawoy

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

  • Members
  • Pip
  • 51 сообщений
  • ФИО:Alex Savchuk

Отправлено 10 сентября 2012 - 10:57

привет.

Попробуй вызвать для этого элемента аналог getLocationOnScreenOnceScrolledIntoView в ruby binding.
показывает ли он корректные координаты элемента?

Является ли этот фрейм внешним?
Взгляни на баги:
* https://code.google..../detail?id=4389
* https://code.google..../detail?id=4390

Ну и, естественно, интересно узнать версию watir, selenium.
  • 0

#3 Mystery_Andrew

Mystery_Andrew

    Активный участник

  • Members
  • PipPip
  • 81 сообщений
  • ФИО:Андрей
  • Город:Москва

Отправлено 10 сентября 2012 - 15:53

Можете попробовать переключиться на данный фрейм, а потом уже обращаться к элементам внутри него.
WebElement frame = remoteWebDriver.findElement(By.xpath(locatorOfFrame));
remoteWebDriver.switchTo().frame(frame);

  • 0


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

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