Я использую привязки Firefox 29 и WebDriver java 2.41.0 для автоматизации сценариев тестирования. У вас есть один сценарий для ввода целого числа в поле ввода, которое работало FINE с Firefox 28 и теперь не работает с v29, то есть последней версией FF. Код, который я написал для того же:

int inputString = 123456;
driver.FindElement(By.Id("tinymce")).SendKeys(inputString);

Пожалуйста, помогите мне пройти через это.

0
Sitam Jana 21 Май 2014 в 18:33

4 ответа

Лучший ответ

Это будет результатом этой проблемы:

https://code.google.com/p/selenium/issues/detail?id=7291

Исправлено этой ревизией в коде Selenium:

https://code.google.com/p/selenium/source/detail?r=afde40cbbf5c

2
Arran 21 Май 2014 в 15:42

Быстрый тест ниже сработал для меня. Я понимаю, что JS - это не правильный способ моделирования браузера, всегда нужно СНАЧАЛА использовать методы webdriver, поскольку они используют собственный API-интерфейс браузера, но думал, что это разблокирует вас, пока ошибка исправлена ​​в селене.

 DesiredCapabilities desiredCapabilities = DesiredCapabilities.firefox();
 desiredCapabilities.setCapability(CapabilityType.HAS_NATIVE_EVENTS,true);
 WebDriver driver = new FirefoxDriver(desiredCapabilities);
 driver.get("http://yizeng.me/2014/01/31/test-wysiwyg-editors-using-selenium-webdriver/");
 WebElement frame = driver.findElement(By.id("tinymce-editor_ifr"));
 driver.switchTo().frame(frame);
 WebElement body = driver.findElement(By.id("tinymce"));      
 JavascriptExecutor js = (JavascriptExecutor)driver;
 js.executeScript("arguments[0].innerHTML = '<h1>Heading</h1>Hello There'",body);
1
nilesh 21 Май 2014 в 18:47

Можете ли вы проверить следующие моменты

  • Можете ли вы убедиться, что в приложении нет изменений, я имею в виду, что локатор возвращает единственный узловой элемент.
  • Можете ли вы также опубликовать полученное вами исключение. Эти данные необходимы для устранения этой проблемы.
0
Sukuva 21 Май 2014 в 14:46

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

0
SirFrederick 21 Май 2014 в 15:26