Watir Click_no_wait слишком быстро нажимает? - PullRequest
1 голос
/ 27 февраля 2012

Я использовал click_no_wait, чтобы нажать кнопку, а затем javascript_dialog.button('OK').click, чтобы нажать кнопку "ОК" в появившемся всплывающем окне. Это сработало во всех ситуациях, кроме одной для меня. Похоже, click_no_wait щелкает слишком быстро.

Под этим я подразумеваю, что когда я использую click_no_wait, кнопка на странице мигает (как будто нажата), но всплывающее окно не появляется, а затем мое приложение Watir зависает, ожидая всплывающее окно, которое не появляется , Если я переключусь на click, всплывающее окно произойдет, но приложение Watir зависнет (как и следовало ожидать).

Есть ли другой вариант? Код ниже. (Я не могу связать реальный сайт, он находится за пределами зоны доступа)

Рубин / Ватир:

browser.button(:name => "dgPermission:_ctl"+num+":_ctl1").click_no_wait
browser.javascript_dialog.button('OK').click

HTML:

<html><body><div><table style="width:100%; height:600px;"><tr>

<td>Group Name</td>
<td><span disabled="disabled"><input id="dgPermission__ctl2_cbAdd" type="checkbox" name="dgPermission:_ctl2:cbAdd" checked="checked" disabled="disabled" /></span></td>
<td><input type="submit" name="dgPermission:_ctl2:_ctl0" value="Edit" /></td>
<td><input type="submit" name="dgPermission:_ctl2:_ctl1" value="Delete" onclick="javascript:if (!confirm('Are you sure you want to remove this permission?')) return false;" language="javascript" /></td>

</tr></table></div></body></html>

(Страница может содержать несколько групп, поэтому в средней части могут быть кратны этому разделу, каждая с различным номером ID в имени dgPermission)

1 Ответ

0 голосов
/ 28 февраля 2012

Насколько я знаю, единственное различие между click и click_no_wait - это то, что происходит после отправки клика.

потенциально вы можете попробовать запустить событие напрямую

browser.button(:name => "dgPermission:_ctl"+num+":_ctl1").fire_event('onclick')
browser.javascript_dialog.button('OK').click
...