2012-12-19 77 views
3

我写了批处理文件来运行Selenium Grid2服务器并注册节点,但是如何关闭服务器?如何关闭Selenium Grid2服务器?

我不能杀死批处理,因为他们的ID只是“cmd.exe”,我不想杀死所有的cmd.exe,因为可能还有别的我需要的cmd运行。

感谢

回答

1

的cmd.exe和Java程序通过在它们运行的​​不可识别的子进程同样的问题毁损。幸运的是,java有一个解决方案,我们可以使用它。

我想你在你的批处理文件中使用类似java -jar selenium-server.jar的东西。如果是,那么硒服务器就像java进程一样运行。所以没有必要杀死cmd.exe。相反,您必须确定运行selenium服务器的java进程。

为了识别java进程,请在命令提示符下使用jps -l。 'jps'默认带有jdk,它会告诉你运行的selenium服务器的进程ID。你可以简单地杀死这个过程。

希望这能解决问题。

+0

当我运行这个命令时,我得到了6个没有任何信息的进程。即“4352 - 过程信息不可用”? –

+0

如果只有一个进程,那么你可以毫无顾虑地杀死它(因为硒服务器正在运行)。如果你能为我提供bat文件的代码,我可以告诉你更多。 –

+0

java -Xms128m -Xmx900m -XX:MaxPermSize = 512m -jar selenium-server-standalone-2.28.0.jar -role hub –

1

我想你可以通过指定硒网格端口来得到你的答案 here

0

什么,我可以告诉你做的是以下几点:

确保在域名创建一个唯一的用户来启动服务器和节点。因此,您实际上可以使用原生Windows OSTaskkill命令来终止该用户启动的所有cmd.exe实例。

我以前对我的工作几个月这个问题(在创建用户硒的webdriver),并使用这个已经被证明是非常有用的,因为我们结束了与重新启动服务器和节点日常所有的程序。

5

Selenium Grid2服务器有一个生命周期管理器,您可以使用它来关闭它。

您可以通过访问以下网址激活它:

http://yourHubIP:4444/lifecycle-manager?action=shutdown 

这将退出服务器,您可以像使用wget for windows一个命令行工具来打出这样的this older Selenium documentation

wget --post-data action=shutdown action=shutdown http://localhost:4444/lifecycle-manager 

描述它现在没有任何动作了,我看了看代码。此外,这不会做一个优雅的关机,所有正在运行的测试将立即终止。

+0

selenium文档的链接返回404。 –

+0

@BryanOakley它仍然可用于git回购:http://grid.selenium.googlecode.com/git-history/33370f9d1e394b6fc4680e953db9c0f246b285f8/src/main/webapp/faq.html更新链接到git历史:) –