3

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

我无法杀死批处理进程,因为它们的 ID 只是“cmd.exe”,我不想杀死所有 cmd.exe,因为 cmd 上可能还有我需要的其他东西正在运行。

谢谢

4

4 回答 4

5

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

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

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

这将退出服务器,您可以使用wget之类的命令行工具来访问它。

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

此刻它没有任何动作,我查看了代码。这也不会优雅地关闭,所有正在运行的测试都会立即被终止。

于 2013-03-08T16:20:59.223 回答
1

我认为您可以通过指定 selenium 网格端口在这里得到答案。

于 2012-12-21T06:15:15.697 回答
1

cmd.exe 和 java 进程都存在运行在其中的不可识别子进程的相同问题。幸运的是,java 有一个解决方案,我们可以使用它。

我猜你java -jar selenium-server.jar在你的批处理文件中使用了类似的东西。如果是,则 selenium 服务器作为 java 进程运行。所以没有必要杀死cmd.exe。相反,您必须识别运行 selenium 服务器的 java 进程。

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

希望这能解决问题。

于 2012-12-19T15:08:38.273 回答
0

我可以建议您执行以下操作:

确保在您的域中创建一个唯一用户来启动服务器和节点。有了它,您实际上可以使用本Taskkill机命令Windows OS来终止cmd.exe该用户已启动的所有实例。

几个月前,我在工作中遇到了这个问题(创建用户selenium-webdriver),使用它已被证明非常有用,因为我们最终得到了一个每天重启所有服务器和节点的例程。

于 2013-01-15T20:17:59.940 回答