2012-06-26 3 views
0

Я использую Selenium IDE 1.8.1 на Firefox 12. В одном из наших приложений используются кнопки «Yahoo UI», и при попытке щелкнуть по ним я вижу несовместные результаты с Selenium. Например, нажав эту кнопку (input id = "submitButton") должен вывести модальный диалог - и примерно в половину времени, когда он отправляет данные, но модальный диалог никогда не появляется. Я использую команду: click | css=#submitButton |Selenium несоответствия с нажатием кнопки Yahoo UI

<input id="icdParticipantAddressForm_icdParticipantId" type="hidden" value="1022" name="icdParticipantId"> 
<input id="submitButton" class="saveButtonImage" type="submit" onclick="return YAHOO.ourAddress.avwController.verifyAddresses();" title="save" value="Next" style="float:right;"> 
<a href="/url?icdParticipantId=1022> 

Спасибо всем! P.S. Я также пробовал fireEvent | css=#submitButton | click с тем же результатом

ответ

0

Если вы не смогли получить к нему доступ вообще; Я предполагаю, что он был скрыт (за рамкой?). Тот факт, что вы испытываете «несогласованность» при каждом запуске тестов, заставляет меня думать, что у вас есть проблемы с таймаутом. Будет полезно узнать, какое сообщение об ошибке вы получаете.

Лучший способ получить желаемую кнопку - через XPATH; скопируйте код ниже в часть кода, пытаясь найти кнопку.

driver.find_element(:xpath, "//input[@id='submitButton']") 

Завершите свои тесты еще раз и посмотрите, не поможет ли это. Если не попробовать улучшенный код ниже, который будет охватывать вас, если страница требует времени для загрузки (т. Е. Ваша кнопка еще недоступна).

!30.times { if (driver.find_element(:xpath, "//input[@id='submitButton']") rescue false) then break else sleep 1; end } 
+0

Спасибо, но нет проблем с ошибкой и таймаутом - это просто переход к следующему этапу теста. Кроме того, зачем использовать помощь Xpath? Это всего лишь стратегия определения местоположения. Я уже пробовал CSS. – gorbysbm

Смежные вопросы