JavaScript Click vs Mouse Click

Все, что касается автоматизированного тестирования...

Модератор: YuriY

JavaScript Click vs Mouse Click

Сообщение lesha » 11 авг 2008, 15:08

Так сложилось, что пришлось работать JavaScript-bases тулзами автоматизированного тестирования: Selenium, Watir, WatiN. Все они не производят "физического"(Mouse Click) клика по элементу на странице ( в отличие например, от того же TestComplete), а, можно сказать, эмулируют его при помощи механизмов JavaScript. Во многоих случаях такой Mouse Click не нужен и все будет работать очень хоршо с JavaScript Click.
Но как обычно на практике иногда получается все не так просто :) Сейчас приходит тестировать сайт, который абсолютно не реагирует на JavaScript Click. Все связано с тем, что событие onClick повешено на тэг <body>. Поэтому при клике например, на кнопке, меню и т.п. ничего не происходит (т.к. событие onClick для этих элементов никак не обрабатывается)
Пришлось искать решение. И оно нашлось достоаточно быстро. По крайней мере для Watir. На офф сайте уже давно есть решение: http://wiki.openqa.org/display/WTR/Righ ... an+Element

Идея проста - мы передаем абсолютыне координаты элемента, который надо кликнуть нашему новому методу, а тот, используя библиотеку AutoIt( http://www.autoitscript.com/autoit3/ ) (которая, как я понимаю, используется в Watir) произведет физический клик мышью в данных координатах. Очень просто и в тоже время решается множество проблем. Теперь не надо думать о том, как бы не пропустить какое-то событие в коде :)

Код достаточно прост (особенно ражует фича раби включить новый метод в базовый класс любого элемента на странице :) ), и поэтому не думаю, что его надо коментировать. Попробую что-то похожее в ближайшее время сделать для Selenium RC и выложить сюда код.

Может у кого-то есть еще инетересные идеи или ноухауы?)
lesha
Junior
 
Сообщений: 31
Зарегистрирован: 30 янв 2008, 12:19

Вернуться в Автоматизированное тестирование | Automated Testing

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

cron