我有一个带有centOS的虚拟机,我尝试按照the tutorial here运行selenium服务器。尝试使用webdriver-manager start
启动selenium服务器时,我得到:
execvp():没有这样的文件或目录seleniumProcess.pid:22847
events.js:72 扔掉//未处理的'错误'事件 ^错误:产生ENOENT 在errnoException(child_process.js:980:11) 在Process.ChildProcess._handle.onexit(child_process.js:771:34)
所以我尝试使用我的主机(OSX)进行相同的教程,并且正常运行webdriver-manager start
。来自我的访客的curl 192.168.0.10:4444
成功返回页面。
我有两个问题。
为什么会这样?
我可以在我的VM中运行我的测试,主机上的Selenium服务器并成功运行我的测试吗?我刚开始使用量角器,并想知道我是否应该走得更远,或者它是不是死路一条。
答案 0 :(得分:1)
如果您正在使用Java来运行测试,则可以使用此jar文件来运行Selenium Standalone server
在终端上运行的命令
java -jar selenium-server-standalone-2.40.0.jar
这将要求您在VM上安装Java
此外,如果您正在使用WebDriver并一次运行单个实例,则不需要显式运行selenium独立服务器,FirefoxDriver直接运行而无需明确的服务器要求。但是,如果您想在VM上运行多个测试,一次说5个浏览器,则需要使用Selenium Grid 2创建网格,这将要求您使用以下代码运行服务器
启动Grid Server
java -jar selenium-server-standalone-2.14.0.jar -role hub
将网格节点连接到网格服务器
java -jar selenium-server-standalone-2.14.0.jar -role node -hub http://localhost:4444/grid/register
在java方面,您将需要RemoteWebDriver在此网格服务器上运行,如下所示,
DesiredCapabilities capability = DesiredCapabilities.firefox();
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability);
希望这有助于你