我在试着从詹金斯那里做无头测试。当我指定HTML测试套件时,这对于HTML测试很好。但是现在我想在相同的selenium服务器上运行selenium-2测试。
我试过这个:
执行外壳:
export DISPLAY=":99" && java -jar /var/lib/selenium/selenium-server.jar
但是,在我手动停止服务器之前,这似乎是挂起的。如何启动selenium服务器,使selenium测试通过grails调用?
发布于 2011-07-25 22:51:59
没有任何特定语言使用的“启动”selenium服务器的特殊方法。启动selenium服务器时,它将开始侦听传入请求的端口。您应该在测试中有一行代码来将测试指向selenium服务器。我不知道圣杯。在java中它应该是
Selenium sel = new DefaultSelenium("host","port","browsername","baseurl")启动服务器的机器的
所需的web应用程序的基本URL
在grails中,对应的方法应该可以让您工作。
编辑- JAVA代码启动selenium服务器:
Selenium sel;
int port=9999;
public static SeleniumServer server;
public void startSeleniumServer() throws Exception {
try {
ServerSocket serverSocket = new ServerSocket(port);
serverSocket.close();
//Server not up, start it
try {
RemoteControlConfiguration rcc = new RemoteControlConfiguration();
rcc.setPort(port);
server = new SeleniumServer(false, rcc);
} catch (Exception e) {
System.err.println("Could not create Selenium Server because of: "
+ e.getMessage());
e.printStackTrace();
}
try {
server.start();
System.out.println("Server started");
} catch (Exception e) {
System.err.println("Could not start Selenium Server because of: "
+ e.getMessage());
e.printStackTrace();
}
} catch (BindException e) {
System.out.println("Selenium server already up, will reuse...");
}
}
public void stopSeleniumServer(){
if (server != null)
{
try
{
server.stop();
}
catch (Exception e)
{
e.printStackTrace();
}
}
System.out.println("Selenium server stopped..");
}
public void startSeleniumRC() throws Exception{
sel=new DefaultSelenium("localhost",
port,
"*firefox",
"http://www.google.com");
sel.start();
}
public void stopSeleniumRC()
{
sel.shutDownSeleniumServer();
}https://stackoverflow.com/questions/6822272
复制相似问题