2010-07-15 2 views
1

Я использую webdriver для проверки сайта. Делегация событие используется в целом ряде ссылок для загрузки данных через AJAX:Работает ли делегирование событий с webdriver в firefox?

 jQuery("body").delegate("a", 
          "click", 
          function adjustHref(event) { 
           // callback 
          }); 

В тесте я затем нажав на ссылки с WebDriver:

 WebElement anchor = headlines.get(0).findElement(By.tagName("a")); 
    anchor.click(); 
    WebElement articleHeader = wait.until(new VisibilityOfElementLocated(By.tagName("h1"))); 

Теперь это будет работать, как ожидается, в Chrome и IE, но в Firefox он иногда терпит неудачу. В то время как в других браузерах anchor.click() перейдет на новую страницу, но в firefox он иногда будет работать и иногда терпит неудачу. Никакое исключение не выбрасывается, поэтому элемент-якорь найден, но webdriver, нажимая на него, ничего не происходит. Это только проблема с webdriver, использование сайта вручную отлично работает. Имеет ли webdriver какие-либо ограничения при делегировании событий в firefox?

ответ

0

Я обнаружил, что проблема заключалась в том, что мой текст ссылки был обернут на две строки, а anchor.click щелкнул не в том месте. Сделав браузер более крупным, текст не обернулся, и щелчок был правильно расположен.