Обходной путь для click () не работает в HtmlUnitDriver в Fitnesse? - PullRequest
1 голос
/ 21 июня 2011

У меня есть тест jUnit, запускающий тест Fitnesse, который проверяет некоторые веб-страницы. В режиме разработки я использую FirefoxDriver, и все тесты работают отлично, а веб-страницы появляются как положено.

Когда я пытаюсь запустить тест в автоматическом режиме, то есть с помощью Maven, тесты с треском проваливаются. Есть ли у кого-нибудь из вас какие-либо предположения о том, что может быть неправильным или обходным путем?

Соответствующий код:
- Веб-страница:

      <form method="get" action="/someAction.do" name="my_form">  
      <input id="fetch_new_submit" class="ui-button ui-widget ui-state-default ui-corner-all" type="submit" onclick="showWaitMsg()" value="Fetch new orders" role="button">  
      </form>
  • Код прибора:
    класс SomeFixture ...

    public boolean pressSubmitButton(String buttonText) {
    try {
       List<WebElement> buttons = getWebDriver().findElements(By.tagName("input"));
       for (WebElement button : buttons) {
           if (button.getAttribute("value").equals(buttonText)) {
               System.out.println("found button '" + button.getAttribute("value") + "'.");
               button.click(); //HERE
               return true;
           }
       }
    } catch (Exception e) {
       LOG.debug("Some error occured, e);
       return false;
    }
    LOG.debug("Did not find the button");
    return false;
    }
    

Примечание:
- getWebDriver (), возвращающий FirefoxDriver, работает нормально.
- getWebDriver возвращает новый HtmlUnitDriver (true), то есть с включенным javascript, игнорирует button.click () здесь. Button.submit () также здесь игнорируется, а button.sendKeys ("\ n") выбрасывает элемент "not enabled" - error.
- мы используем версию 2.0rc2

Наши автоматизированные тесты не могут использовать FirefoxDriver. Есть ли какие-либо известные обходные пути для этой проблемы?

1 Ответ

0 голосов
/ 28 июня 2011

Дальнейшее тестирование и использование передовых технологий, то есть снимки, дали мне кое-что, что работает на данный момент.

То есть:
- обновлен Selenium до 2.0rc3
- обновлен htmlunit до 2.9 SNAPSHOT !!!

И еще несколько экспериментов:

final HtmlUnitDriver driver = new HtmlUnitDriver(BrowserVersion.FIREFOX_3_6);  

Версия Firefox теперь работает для кнопок типа отправки, но не работает для действий javascript.Это также может быть связано с тем, что я использовал драйвер версии Firefox_3_6 при использовании Firefox 4.0.1.браузер.

IE version_8 зависает при нажатии ().

Но простой HtmlUnitDriver () работает!

...