gpt4 book ai didi

java - 在 Jenkins 中针对某个 selenium 实例运行 selenium 2 测试

转载 作者:行者123 更新时间:2023-12-01 15:47:40 26 4
gpt4 key购买 nike

我正在尝试从 Jenkins 运行 headless 测试。当我指定 HTML 测试套件时,这对于 HTML 测试效果很好。但现在我想针对同一个 selenium 服务器运行 selenium-2 测试。

我尝试过这个:

执行 shell:
导出 DISPLAY=":99"&& java -jar/var/lib/selenium/selenium-server.jar

但这似乎一直挂起,直到我手动停止服务器。如何启动 selenium 服务器,以便通过 grails 调用我的 selenium RC 测试?

最佳答案

没有特殊的方法来“启动”任何特定语言使用的 selenium 服务器。当您启动 selenium 服务器时,它将开始监听端口上的传入请求。您的测试中应该有一行代码,将您的测试指向 selenium 服务器。我不知道 chalice 。在java中它会是

Selenium sel = new DefaultSelenium("host","port","browsername","baseurl")
  • > host - 启动服务器的机器的 IP
  • > port - selenium 服务器正在监听的端口号。这是如果您不指定任何内容,通常为 4444
  • > browsername - 您想要测试的浏览器
  • > 运行 baseURL - 您需要测试的 Web 应用程序的基本 URL。

grails 中的等效方法应该可以帮助您工作。

编辑 - 用于启动 selenium 服务器的 JAVA 代码:

    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();
}

关于java - 在 Jenkins 中针对某个 selenium 实例运行 selenium 2 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6822272/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com