Дождитесь открытия фрейма и загрузите его с помощью Selenium - PullRequest
4 голосов
/ 18 декабря 2009

У меня есть приложение, в котором пользователь нажимает кнопку, вызывая открытие iFrame. У меня есть реальные проблемы с ожиданием этого кадра, чтобы открыть загрузку, прежде чем продолжить.

Я не могу использовать:

wait_for_page_to_load

потому что загружается не страница, а iframe.

Я не могу использовать:

select_frame

потому что кадр еще не загружен

так что я остался с таким безобразным

sleep(3)

прежде чем я смогу выбрать рамку и что-то заявить об этом.

Есть предложения, как это сделать правильно? Я не хочу использовать специфичные для lib JS, поскольку извлекаю Selenium DSL для использования в нескольких проектах. Кроме того, я использую selenium-client, поэтому все, что связано с ruby, будет плюсом

Приветствия,

Ad.

edit: я не могу использовать:

wait_for_frame_to_load

либо, время ожидания истекло.

1 Ответ

3 голосов
/ 18 декабря 2009

Не уверен, что это будет работать, потому что Iframes работают в отдельной песочнице с обычными фреймами, потому что вы можете выполнять вызовы между сайтами, и они могут иметь свой собственный JavaScript, с которым вы не сможете взаимодействовать.

@selenium.wait_for_frame_to_load "iframe", "30000"

it может работать, если вы запускаете свои тесты в * chrome или * iehta, но в данный момент у вас нет ничего для тестирования с

...