我正在尝试使用网格2在远程m / c上运行测试。所以我在我的计算机上运行了一个Hub,并且在远程m / c上运行了一个Node,我可以毫无问题地运行我的测试。但是,为了平滑体验,我想将集线器和节点作为Windows服务运行。这样我就可以管理代码中的集线器和节点。所以我在服务器上安装了Hub作为服务,使用srvany在Remote m / c上安装了Node作为服务,如下所示
C:\ Program Files \ Resource Kit \ Instsrv.exe RunHub C:\ Program Files \ Resource Kit \ Srvany.exe
C:\ Program Files \ Resource Kit \ Instsrv.exe RunNode C:\ Program Files \ Resource Kit \ Srvany.exe(其中RunHub和RunNode是批处理文件)
我还在注册表中进行了必要的更改。
我面临的问题是,当我将节点作为远程m / c中的Windows服务运行时,它没有正确地向集线器注册。当我查看网格概述(http://localhost:4444/grid/console)时,我看不到那里的节点。但是,如果我手动运行相同的bat文件而不是服务,一切正常。有人可以让我知道我做错了什么吗?或者解决这个问题的最佳方法是什么?
感谢,
好的,我自己想出来了。有一个对bat文件中不同目录中的文件的引用。将其作为服务运行时无法访问此文件。我将文件移动到正确的目录,现在我可以运行节点服务
答案 0 :(得分:6)
Selenium Hub and Node as Windows Service
查看该链接。它描述了如何将集线器和节点设置为服务,包括C#中的代码。您可能只想设置集线器,因为如果节点也是服务,您将无法看到浏览器进行调试。这是因为Windows从“会话0”中断开了管理员登录,除非您切换到该桌面视图,否则您将无法再看到服务应用程序正在运行,而这会占用您的VS或eclipse窗口。