Archive

Posts Tagged ‘jQuery’

Внезапно вываливающийся список

1 September 2014 24 comments

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

И чтобы вообще огорчить тестировщиков — список этот появляется под полем адреса только при наборе текста, а Selenium IDE такие мансы очень не любит.

Но ведь тестировщики сами могут кого угодно огорчить.

Итак, у нас есть поле ввода с id=billing_full_address, при наборе текста туда должен подтянуться целый список адресов, а затем в выпадающем списке с адресами надо будет кликнуть по тестовому адресу ‘1 Darling Mills Road, ALBION PARK  NSW  2527‘.

01-09-2014 - 17-32-18

Алгоритм:

  • впишем в этом поле начало адреса, который нужно будет получить в списке всех адресов,
  • эмулируем нажатие клавиш (можно даже передавать нажатие определенных клавиш, есть в сети полная таблица кодов),
  • дожидаемся появления ссылки с нужным адресом,
  • кликнем по ссылке с нужным адресом.
type id=billing_full_address 1 Darling island
keyDown id=billing_full_address w
keyPress id=billing_full_address w
keyUp id=billing_full_address w
waitForElementPresent //a[contains(text(),’1 Darling Mills Road, ALBION PARK  NSW  2527′)]  
click //a[contains(text(),’1 Darling Mills Road, ALBION PARK  NSW  2527′)]  

Делов-то…

О, хитрая дрянь! Клик по кнопке JQuery

21 May 2012 6 comments

В мире все ещё много дряни. Вот, например, кнопки, реализованные с помощью jQuery: курсором по ней кликать можно, а через Selenium – увы.

Кнопка, расположенная под текстовым полем, представляет из себя нечто вот такое:

<div  class=”judge”>
<button class=”win-button disabled“>
……….<span class=”out”><span class=”button”>Поделиться</span></span>
</button>

После того, как в текстовое поле комментария будет вписан какой-нибудь текст, локатор кнопки изменится:

<div  class=”judge”>
<button class=”win-button“>
……….<span><span>Поделиться</span></span>
</button>

В момент нажатия на кнопку локатор снова меняется:

<div  class=”judge”>
<button class=”win-button pushed“>
……….<span><span>Поделиться</span></span>
</button>

А когда кнопка будет “освобождена”, локатор вообще невообразимо превращается в

<div  class=”judge disabled“></div>

То есть, кнопка вообще исчезает. Коммент сделан, Рубикон брошен на игральный стол (все же знают, что такое кубик Рубикона, не так ли?!)

В общем, не в локаторах проблема. Проблема в том, что Selenium IDE для клика на такие нестандартные кнопки требуется нестандартный подход.

Секрет Дело в том, что эта кнопка реагирует на событие mouseUp и mouseDown.

Рассмотрим работу подобных неурядиц на живом примере: сегодня DOU.ua будет нашей подопытной крыской.

Read more…