在CentOS上启动selenium服务器

时间:2014-03-02 13:38:32

标签: macos angularjs selenium centos protractor

我有一个带有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服务器并成功运行我的测试吗?我刚开始使用量角器,并想知道我是否应该走得更远,或者它是不是死路一条。

1 个答案:

答案 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);

希望这有助于你