On Jun 9, 2009, at 3:22 PM, cressie176 wrote:
hdockter wrote:
On Jun 9, 2009, at 1:09 PM, cressie176 wrote:
hdockter wrote:
Can you show us your dependencies declaration for getting selenium
into the build script classpath?
I added the dependency into settings.gradle as follows...
mavenRepo urls: ['http://archiva.openqa.org/repository/snapshots/']
dependencies 'org.openqa.selenium.server:selenium-server:1.0-
SNAPSHOT'
There is a conflict between the Jetty that is shipped with Gradle and
used by the Jetty plugin and the Jetty needed by Selenium. It is one
of our top priorities to implement proper classpath isolation between
plugins and between a plugin and a build script. But right now they
all share one classpath. As you need both the Jetty plugin and
selenium this is hard to solve. One thing you could try is to exclude
Jetty from the selenium dependencies. But as Selenium uses Jetty 5
and
the Gradle comes with Jetty 6 this is likely to fail. Another option
would be to exclude just the jetty-util jar. But again chances are
high that things won't work.
For example:
dependency 'org.openqa.selenium.server:selenium-server:1.0-
SNAPSHOT' {
exclude module: 'jetty-util'
}
- Hans
What you also could do is something like:
configurations {
selenium
}
dependencies {
selenium ...
}
task runSellenium << {
URL[] classpath = dependencies.resolveClasspath('selenium').collect
{File file -> file.toURL()}
new GroovyShell(new URLClassLoader(classpath,
Thread.currentThread().contextClassLoader), new Binding(project:
project)).evaluate('''
File report = new File(project.buildDir, 'test/selenium/report/
suite.html')
File suite = new File(project.buildDir, 'test/selenium/
selenese/suite.html')
def server = new org.openqa.selenium.server.SeleniumServer()
server.start() def launcher = new
org.openqa.selenium.server.htmlrunner.HTMLLauncher(server)
if (launcher.runHTMLSuite('*firefox', 'http://localhost:8080/blah'
, suite, report, 10000, false) == 'PASSED') { println "YIP!" }
''')}
}
I haven't tried this particular snippet but the general approach
should work.
- Hans
--
Hans Dockter
Gradle Project Manager
http://www.gradle.org
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email