2012-03-09 2 views
1

Я использую Watir для автоматизации тестирования основного веб-приложения моих компаний. Для тестирования требуется раскрывающееся меню javascript, запускаемое мышью, и ссылку на это меню для клика.Watir Webdriver fire_event onmouseover больше не работает

$browser.link(:id=> 'element').fire_event "onemouseover" 

Работала отлично, пока мы не изменили внешний вид приложения. Изменения, внесенные в внешний вид, по-видимому, никак не изменились, как выглядит HTML и работают меню. Все остальное отлично работает с Ватиром.

Я попытался с помощью решения, которое, казалось, работать для других, в том числе:

class Watir::Element 
    def hover 
    assert_exists 
    driver.action.move_to(@element).perform 
    end 
end 

и используя

browser.div(:id => "someId").hover 

Но когда меню появляются они сразу же уходят, прежде чем водитель шанс щелкнуть пункт меню.

+0

Я думал, что последняя версия watir-webdriver реализовала метод .hover –

ответ

3

browser.div. (: Идентификатор => "someId") парить

сон 3

будет решить эту проблему. Я столкнулся с такой же проблемой, и сон решил ее решить :)

1

Мне удалось обойти этот (при условии, что сайт использует jquery), используя execute_script, чтобы скрыть некоторые jquery, чтобы переопределить видимость в «скрытых» меню. См. Этот ответ https://stackoverflow.com/a/8392467/409820 для получения дополнительной информации

Нужно было сделать это по одной причине, по которой я и другие просили метод .hover, так что вы также можете попробовать.

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