Selenium: Почему click () не ведет себя так, как в Firefox? - PullRequest
4 голосов
/ 23 июня 2010

У меня есть ссылка с идентификатором:

<a href="#" onclick="return false();" id="lol">

В моем тесте:

selenium.click("lol"); //when running the test, the click will just end up selecting the item, not firing off the frameworks javascript

Это не регистрирует тот же клик! Существует javascript, который является частью сложной структуры, которая вызывает всплывающее окно div. Это работает в Firefox.

Но это исправляет:

selenium.click("lol"); //when running the test, the click will just end up selecting the item, not firing off the frameworks javascript
selenium.keyPress("lol", "\\13"); //press enter key, since the click ended up selecting it

Исправление работает. Однако что здесь происходит? Кажется, что selenium.click ()! = [Фактическое событие щелчка браузера]. Может ли кто-нибудь помочь пролить свет на эту внутреннюю работу?

Ответы [ 2 ]

1 голос
/ 14 июля 2010

Selenium иногда точно не имитирует щелчок по javascript hrefs.Может быть, это та же проблема здесь.Быстрое решение состоит в том, чтобы использовать сочетание событий moussedown и mouseup для селена.Вы также можете рассмотреть возможность использования selenium.fireEvent("lol","click");.Вернитесь назад, когда вы попробовали это.

0 голосов
/ 30 июня 2010

Можно щелкнуть ссылку в браузере до загрузки javascript.См. этот другой вопрос .Одним из решений было бы подождать, пока какой-то элемент будет виден на странице, которая помещается туда с помощью javascript.

...