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

Фотография

WebDriver. Переход между фреймами на странице


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

#1 vagner_tester

vagner_tester

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

  • Members
  • Pip
  • 47 сообщений
  • ФИО:Ткаченко Евгений Викторович
  • Город:Москва

Отправлено 13 января 2011 - 12:53

Добрый день коллеги.
Используя WebDriver (FF) наткнулся на проблему с выбором фрейма на странице при работе в Win7 (в ХР проблем не было).
Код выглядит так:

admin.selectFrame("world");
try
{
admin.select("//select", "label=" + server);
}
catch (Exception e)
{
MyGlob.numString = num;
testWebDriverAutoBan();
}
admin.waitForPageToLoad("30000");
admin.selectFrame("contents");
admin.click("link=Character");

Первый выбор фрейма "world" работает и корректно в нем работает, а вот второй фрейм "contents" он пишет что не может выбрать, если поменять местами выборы фреймов или закомментить первую часть с выбором фрейма то второй selectFrame("contents") работает корректно.
Подскажите как разрешить ситуацию.
switchTo не помогает.
  • 0

#2 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 13 января 2011 - 13:05

Опишите ещё структуру фреймов.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#3 vagner_tester

vagner_tester

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

  • Members
  • Pip
  • 47 сообщений
  • ФИО:Ткаченко Евгений Викторович
  • Город:Москва

Отправлено 13 января 2011 - 13:11

Вот часть трасировки ошибки:
com.thoughtworks.selenium.SeleniumException: Unable to locate frame: contents
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.6.0_20'
Driver info: driver.version: RemoteWebDriver
at org.openqa.selenium.internal.seleniumemulation.Windows.selectFrame(Windows.java:83)
at org.openqa.selenium.internal.seleniumemulation.SelectFrame.handleSeleneseCommand(SelectFrame.java:31)
at org.openqa.selenium.internal.seleniumemulation.SelectFrame.handleSeleneseCommand(SelectFrame.java:1)
at org.openqa.selenium.internal.seleniumemulation.SeleneseCommand.apply(SeleneseCommand.java:30)
at org.openqa.selenium.internal.seleniumemulation.Timer.run(Timer.java:61)
at org.openqa.selenium.WebDriverCommandProcessor.execute(WebDriverCommandProcessor.java:272)
at org.openqa.selenium.WebDriverCommandProcessor.doCommand(WebDriverCommandProcessor.java:202)
at com.thoughtworks.selenium.DefaultSelenium.selectFrame(DefaultSelenium.java:373)
  • 0

#4 vagner_tester

vagner_tester

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

  • Members
  • Pip
  • 47 сообщений
  • ФИО:Ткаченко Евгений Викторович
  • Город:Москва

Отправлено 13 января 2011 - 13:13

вот скрин кода страницы - фреймсета.

Прикрепленные файлы

  • Прикрепленный файл  frame.png   5,24К   22 Количество загрузок:

  • 0

#5 KaNoN

KaNoN

    АЦЦКИЙ СОТОНА

  • Members
  • PipPipPipPipPipPip
  • 1 260 сообщений
  • ФИО:Колесник Николай
  • Город:Днепропетровск > Киев > Лондон

Отправлено 13 января 2011 - 14:10

Вы вначале выбираете фрейм world, а потом сразу же contents. Но на странице они на одном и том же уровне. То есть, получается, что второй фрейм ищется внутри первого, что не соответствует действительности. Попробуйте перед выбором второго фрейма поставить что-то типа

admin.selectFrame("null");
  • 0

#6 vagner_tester

vagner_tester

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

  • Members
  • Pip
  • 47 сообщений
  • ФИО:Ткаченко Евгений Викторович
  • Город:Москва

Отправлено 13 января 2011 - 14:21

ок. Попробую. Я пробовал после выбора первого фрейма выбрать окно admin.selectWindow("null"); но не помогло.
Странно что в ХР все работает.
  • 0

#7 vagner_tester

vagner_tester

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

  • Members
  • Pip
  • 47 сообщений
  • ФИО:Ткаченко Евгений Викторович
  • Город:Москва

Отправлено 13 января 2011 - 14:53

Пробовал:
admin.selectFrame("null");
admin.selectFrame("");
admin.selectWindow("null");
Не помогает. То же сообщение об ошибке : Unable to locate frame: null
и т.д.
  • 0

#8 Leoxa

Leoxa

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

  • Members
  • Pip
  • 59 сообщений
  • ФИО:Алексей

Отправлено 13 января 2011 - 15:55

попробуйте так: admin.selectFrame("relative=top")
  • 0

#9 vagner_tester

vagner_tester

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

  • Members
  • Pip
  • 47 сообщений
  • ФИО:Ткаченко Евгений Викторович
  • Город:Москва

Отправлено 14 января 2011 - 08:11

>попробуйте так: admin.selectFrame("relative=top")

Да. Именно этот вариант помог. Спасибо! где можно почитать на эту тему?
  • 0

#10 Leoxa

Leoxa

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

  • Members
  • Pip
  • 59 сообщений
  • ФИО:Алексей

Отправлено 14 января 2011 - 08:55

>попробуйте так: admin.selectFrame("relative=top")
Да. Именно этот вариант помог. Спасибо! где можно почитать на эту тему?


можно, например, здесь (пример циклического обхода фреймов): http://www.testingex...th-selenium-rc/
а еще можно погуглить. ;)
  • 0

#11 vagner_tester

vagner_tester

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

  • Members
  • Pip
  • 47 сообщений
  • ФИО:Ткаченко Евгений Викторович
  • Город:Москва

Отправлено 14 января 2011 - 10:49

Еще раз спасибо за информацию!
  • 0


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

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