Проблема:
По нажатию на ссылку появляется окно с полем и кнопкой.
При отладке в IDE все пркрасно, компоненты окна находтся без лишних телодвижений.
В RC почему-то после нажатия на ссылку падает по таймауту.
Пробовала всякие способы идентификации окна, но до них выполнение теста не доходит - после нажатия ссылки окно висит и через таймаут падает.
[codebox] selenium.click("symbolLookupLink"); //падает ТУТ
selenium.type(LookupPopupFieldName, "DIA");
selenium.click(LookupPopupButtonName);[/codebox]
Что это за странное поведение и как бороться?
Selenium RC не видит окно
Автор Biasha, 22 апр 2010 12:51
Сообщений в теме: 4
#1
Отправлено 22 апреля 2010 - 12:51
Молодой пожарный не боится пламя!
#2
Отправлено 22 апреля 2010 - 14:14
Привет, попробуй так:
Надо указать селениуму в каком окне производить действия. Для этого используется selectWindow(windowID). Падение по timeout скорее всего происходит из-за того, что сервер ждёт появления чего-то, а это чего-то не появляется (могу ошибаться).
selenium.click("symbolLookupLink"); //вызываем твоё окно selenium.selectWindow("mywindow"); //переключаем фокус на открытое окно selenium.type(LookupPopupFieldName, "DIA"); //заполняем форму selenium.close(); //закрываем окно selenium.selectWindow(null); //возвращаем фокус на главное окно
Надо указать селениуму в каком окне производить действия. Для этого используется selectWindow(windowID). Падение по timeout скорее всего происходит из-за того, что сервер ждёт появления чего-то, а это чего-то не появляется (могу ошибаться).
#3
Отправлено 23 апреля 2010 - 08:09
Так я пробовала, не работает.
Ошибка падает не на обращении к окну, а при нажатии на ссылку.
Я тоже думаю, что там идет ожидание чего-то, но чего?
Вот код окошка
[codebox]<div id="symbolLookupDlg" class="modalSymbolLookup">
<table cellpadding="0" cellspacing="0" border="0" style="width: 100%;">
<tr>
<td><span class="modalTitle">Symbol Lookup</span></td>
<td><a href="java script:void(0)" onclick="symbolLookupOverlay.close();return false;" class="modalClose"></a></td>
</tr>
</table>
<p class="modalHdivider"></p>
<p><label for="smbLookupMask">Please enter any part of the company name</label></p>
<input id="smbLookupMask" spellcheck="false" class="symbolLookupTextbox" type="text" onkeydown="stockInfoHelper.handleSymbolLookupKey(event);" />
<input type="button" value="Find" class="findButton" onclick="stockInfoHelper.symbolLookup();return false;" />
<div style="width: 100%; overflow-y: hidden; overflow-x: hidden;" id="smbLookupContainer"></div>
</div>[/codebox]
Вот код ссылки
[codebox]<td style="width: 90px;">
<a href="java script:void(0)" rel="#symbolLookupDlg" id="symbolLookupLink" class="symbolLookup">Symbol Lookup</a>
</td>[/codebox]
Ошибка падает не на обращении к окну, а при нажатии на ссылку.
Я тоже думаю, что там идет ожидание чего-то, но чего?
Вот код окошка
[codebox]<div id="symbolLookupDlg" class="modalSymbolLookup">
<table cellpadding="0" cellspacing="0" border="0" style="width: 100%;">
<tr>
<td><span class="modalTitle">Symbol Lookup</span></td>
<td><a href="java script:void(0)" onclick="symbolLookupOverlay.close();return false;" class="modalClose"></a></td>
</tr>
</table>
<p class="modalHdivider"></p>
<p><label for="smbLookupMask">Please enter any part of the company name</label></p>
<input id="smbLookupMask" spellcheck="false" class="symbolLookupTextbox" type="text" onkeydown="stockInfoHelper.handleSymbolLookupKey(event);" />
<input type="button" value="Find" class="findButton" onclick="stockInfoHelper.symbolLookup();return false;" />
<div style="width: 100%; overflow-y: hidden; overflow-x: hidden;" id="smbLookupContainer"></div>
</div>[/codebox]
Вот код ссылки
[codebox]<td style="width: 90px;">
<a href="java script:void(0)" rel="#symbolLookupDlg" id="symbolLookupLink" class="symbolLookup">Symbol Lookup</a>
</td>[/codebox]
Молодой пожарный не боится пламя!
#4
Отправлено 23 апреля 2010 - 08:17
Проблема решилась использованием команды
selenium.clickAt("symbolLookupLink","10,10");
вместо
selenium.click("symbolLookupLink");
Но причины по-прежнему не ясны)
selenium.clickAt("symbolLookupLink","10,10");
вместо
selenium.click("symbolLookupLink");
Но причины по-прежнему не ясны)
Молодой пожарный не боится пламя!
#5
Отправлено 23 апреля 2010 - 08:56
Ваш код ссылки выглядит странно -- у неё отключен href (там стоит вызов "пустышки"), и при этом нет никаких обработчиков событий. Скорее всего, обработчик где-то выше по DOM-дереву -- ссылка в ячейке таблицы, а onclick стоит, видимо, на строке (tr).
Так что всё вполне логично -- если вызван click, отрабатывает href, в данном случае вызывается "пустышка", а если вызван clickAt -- генерируется событие, которое отправляется путешествовать по DOM-дереву, пока не встретит обработчик.
Так что всё вполне логично -- если вызван click, отрабатывает href, в данном случае вызывается "пустышка", а если вызван clickAt -- генерируется событие, которое отправляется путешествовать по DOM-дереву, пока не встретит обработчик.
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных