Grails - Плагин Selenium-RC - Запуск сервера Selenium - PullRequest
0 голосов
/ 06 декабря 2011

Я пытаюсь настроить Selenium в своем проекте Grails через плагин Selenium-RC.Затем я запустил команду grails install-plugin selenium-rc.

Затем я запустил команду grails create-selenium-test firstTest и добавил к ней следующее содержимое:

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

@Mixin(SeleniumAware)
class FirstTestTests {
    @Before void setUp() {
    }

    @After void tearDown() {
        super.tearDown()
    }

    @Test void something() {
        selenium.open "/"
        assertTrue selenium.isTextPresent("Bem vindos")
    }
}

Когда я запускаю тест наUbuntu 11.04, Grails запускает браузер Firefox по умолчанию (версия 8.0), но останавливается после печати этого на вывод консоли:

    Server running. Browse to http://localhost:8080/
  [groovyc] Compiling 1 source file to /home/alessandro/Documents/[...]/target/test-classes/selenium
Starting Selenium server on port 4444 ...
Starting Selenium session for http://www.mywebsite.com/ ...

Когда я прерываю тест с помощью Ctrl + C, выдается следующее сообщение об ошибке:

    Error running selenium tests: java.lang.RuntimeException: Could not contact Selenium Server; have you started it on 'localhost:4444' ?
Read more at http://seleniumhq.org/projects/remote-control/not-started.html
Connection refused
java.lang.RuntimeException: Could not contact Selenium Server; have you started it on 'localhost:4444' ?
Read more at http://seleniumhq.org/projects/remote-control/not-started.html
Connection refused
    at com.thoughtworks.selenium.DefaultSelenium.start(DefaultSelenium.java:86)
        at com.thoughtworks.selenium.Selenium$start$0.call(Unknown Source)
    at grails.plugins.selenium.SeleniumWrapper.start(SeleniumWrapper.groovy:90)
    at com.thoughtworks.selenium.Selenium$start.call(Unknown Source)
    at grails.plugins.selenium.SeleniumRunner.startSelenium(SeleniumRunner.groovy:35)
    at grails.plugins.selenium.SeleniumRunner$startSelenium.call(Unknown Source)
    at _Selenium_groovy$_run_closure2.doCall(_Selenium_groovy:50)
    at _Events$_run_closure3.doCall(_Events.groovy:32)
    at _GrailsEvents_groovy$_run_closure5.doCall(_GrailsEvents_groovy:58)
    at _GrailsEvents_groovy$_run_closure5.call(_GrailsEvents_groovy)
    at _GrailsTest_groovy$_run_closure4.doCall(_GrailsTest_groovy:265)
    at _GrailsTest_groovy$_run_closure4.call(_GrailsTest_groovy)
    at _GrailsTest_groovy$_run_closure2.doCall(_GrailsTest_groovy:228)
    at _GrailsTest_groovy$_run_closure1_closure21.doCall(_GrailsTest_groovy:187)
    at _GrailsTest_groovy$_run_closure1.doCall(_GrailsTest_groovy:174)
    at TestApp$_run_closure1.doCall(TestApp.groovy:82)
    at gant.Gant$_dispatch_closure5.doCall(Gant.groovy:381)
    at gant.Gant$_dispatch_closure7.doCall(Gant.groovy:415)
    at gant.Gant$_dispatch_closure7.doCall(Gant.groovy)
    at gant.Gant.withBuildListeners(Gant.groovy:427)
    at gant.Gant.this$2$withBuildListeners(Gant.groovy)
    at gant.Gant$this$2$withBuildListeners.callCurrent(Unknown Source)
    at gant.Gant.dispatch(Gant.groovy:415)
    at gant.Gant.this$2$dispatch(Gant.groovy)
    at gant.Gant.invokeMethod(Gant.groovy)
    at gant.Gant.executeTargets(Gant.groovy:590)
    at gant.Gant.executeTargets(Gant.groovy:589)

Я прочитал документацию по плагину, в которой говорится, что сервер запускается плагином, который поддерживается выводом консоли до остановки теста.Я действительно не знаю, куда идти оттуда.Я просматривал Интернет, но единственный совет, который я нашел, заключался в добавлении selenium-server.jar в путь Java, который, похоже, уже покрыт плагином.

Любая помощь с благодарностью.

Ответы [ 2 ]

1 голос
/ 07 декабря 2011

У меня была такая же проблема - вы можете видеть мой вопрос . проблема, я думаю, это Firefox - я изменил его на Chrome, и он работал из коробки. Вам просто нужно заменить

  browser = "*firefox"

с

  browser = "*googlechrome" 

в SeleniumConfig

0 голосов
/ 07 декабря 2011

Большое спасибо. Это сработало, как вы сказали. Для тех, кто использует Chromium под Ubuntu, вот что я добавил для настройки файла SeleniumConfig:

browser = "*googlechrome /usr/lib/chromium-browser/chromium-browser"

Теперь я получаю:

    Stopping Selenium server ...
java.lang.RuntimeException: Can't start SslRelay: server is not started (perhaps it was just shut down?)
    at org.openqa.selenium.server.ProxyHandler.getSslRelayOrCreateNew(ProxyHandler.java:656)
    at org.openqa.selenium.server.ProxyHandler.handleConnect(ProxyHandler.java:589)
    at org.openqa.selenium.server.ProxyHandler.handle(ProxyHandler.java:274)
    at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1530)
    at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1482)
    at org.openqa.jetty.http.HttpServer.service(HttpServer.java:909)
    at org.openqa.jetty.http.HttpConnection.service(HttpConnection.java:820)
    at org.openqa.jetty.http.HttpConnection.handleNext(HttpConnection.java:986)
    at org.openqa.jetty.http.HttpConnection.handle(HttpConnection.java:837)
    at org.openqa.jetty.http.SocketListener.handleConnection(SocketListener.java:245)
    at org.openqa.jetty.util.ThreadedServer.handle(ThreadedServer.java:357)
    at org.openqa.jetty.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

когда тест пройден. Я буду расследовать это. Спасибо, MKK

...