Функциональные тесты Selenium провалились на Grails - PullRequest
0 голосов
/ 14 июля 2011

Я пытаюсь интегрировать тесты селена с проектом Grails, и появляются некоторые проблемы.

Я использую плагин selenium-rc

grails install-plugin selenium-rc

Вот ошибки вtests:

ERROR: Element username not found

com.thoughtworks.selenium.SeleniumException: ERROR: Element username not found
    at com.thoughtworks.selenium.HttpCommandProcessor.throwAssertionFailureExceptionOrError(HttpCommandProcessor.java:97)
    at com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:91)
    at com.thoughtworks.selenium.DefaultSelenium.type(DefaultSelenium.java:291)
    at com.thoughtworks.selenium.Selenium$type$0.call(Unknown Source)
    at grails.plugins.selenium.SeleniumWrapper.type(SeleniumWrapper.groovy)
    at com.thoughtworks.selenium.Selenium$type.call(Unknown Source)
    at com.example.DashboardTests.testTeste(DashboardTests.groovy:25)

Это просто тест, который регистрирует мое приложение.

Вот код теста:

import static org.hamcrest.Matchers.*
import static org.junit.Assert.*
import com.thoughtworks.selenium.*
import grails.plugins.selenium.*

import org.junit.*


@Mixin(SeleniumAware)
class DashboardTests extends GroovySeleneseTestCase{

    void testTeste() throws Exception {
        selenium.open("http://localhost:8080/login/auth")
        selenium.type("username", "user")
        selenium.type("password", "12345")
        selenium.clickAndWait("button")
    }
}

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

selenium {

    slow = false                                    // true to run tests in slow resources mode
    singleWindow = true                             // true for single window mode, false for multi-window mode
    browser = "*googlechrome"                       // can include full path to executable, default value is *firefox or *iexplore on Windows
    url = "http://localhost:8080/"                      // the base URL for tests, defaults to Grails server url
    defaultTimeout = 60000                          // the timeout after which selenium commands will fail
    windowMaximize = false                          // true to maximize browser on startup
    screenshot {
        dir = "./target/test-reports/screenshots"   // directory where screenshots are placed relative to project root
        onFail = false                              // true to capture screenshots on test failures
    }
    server {
        host = "localhost"                          // the host the selenium server will run on
        port = 4444                                 // the port the selenium server will run on
    }
    userExtensions = ""                             // path to user extensions javascript file

}

Я использую Chrome в качестве браузера, потому что Firefox вызывал ошибки в моем проекте.

Как ее решить

1 Ответ

0 голосов
/ 18 июля 2011

Я решил проблему.

Ошибка произошла потому, что моя тестовая среда была без контекста, поэтому селен не может получить доступ к данным.

спасибо всем.

...