4

我正在使用硒 2.47.1。我下载了客户端和服务器,然后放入我的项目中。当我启动服务器时,它会记录以下信息:

java -jar selenium-server-standalone-2.47.1.jar 
22:47:10.469 INFO - Launching a standalone Selenium Server
22:47:10.522 INFO - Java: Oracle Corporation 24.79-b02
22:47:10.522 INFO - OS: Linux 3.13.0-24-generic amd64
22:47:10.547 INFO - v2.47.1, with Core v2.47.1. Built from revision 411b314
22:47:10.660 INFO - Driver provider org.openqa.selenium.ie.InternetExplorerDriver registration is skipped:
registration capabilities Capabilities [{platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}] does not match the current platform LINUX
22:47:10.660 INFO - Driver provider org.openqa.selenium.edge.EdgeDriver registration is skipped:
registration capabilities Capabilities [{platform=WINDOWS, browserName=MicrosoftEdge, version=}] does not match the current platform LINUX
22:47:10.661 INFO - Driver class not found: com.opera.core.systems.OperaDriver
22:47:10.661 INFO - Driver provider com.opera.core.systems.OperaDriver is not registered
22:47:10.766 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub
22:47:10.766 INFO - Selenium Server is up and running

我看到了一些日志,然后我对这条线产生了怀疑:

registration capabilities Capabilities [{platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}] does not match the current platform LINUX
  1. 为什么它有 Internet Explorer 设置。我在 ubuntu 14.04 上,我使用的是 firefox 和 chrome。
  2. 为什么说现在的平台不匹配LINUX。

随着服务器启动并运行,我运行了我的测试项目,这是错误:

org.openqa.selenium.WebDriverException: Unable to bind to locking port 7054 within 45000 ms
Build info: version: '2.47.1', revision: '411b314', time: '2015-07-30 03:03:16'
System info: host: 'ok-ThinkPad-SL500', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '3.13.0-24-generic', java.version: '1.7.0_79'
Driver info: driver.version: FirefoxDriver
    at org.openqa.selenium.internal.SocketLock.lock(SocketLock.java:99)
    at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:90)
    at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:276)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:116)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:223)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:216)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:212)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:125)
    at cucumber.features.StepDefinitions.navigateToHomePage(StepDefinitions.java:26)
    at ✽.Given I navigate to the home site(/home/ok/workspace/CucumberPOC/src/cucumber/features/UserRegistry.feature:6)

我从SeleniumHQ下载了 selenium 服务器和客户端。

4

1 回答 1

3

完全没有问题。请通过示例和需要执行的适当终端语句找到解释:要求:需要在机器 A 和机器 B 上运行测试或测试套件。

例如:-我有机器 A(IP:192.168.233.155)并安装了 selenium-server-xyz-version.jar。

1.启动Hub(终端声明):java -jar selenium-server-standalone-2.47.1.jar -role hub

2.要运行测试,我们需要注册节点。

  • 在本地机器 A 上运行测试:

java -jar selenium-server-standalone-2.47.1.jar -role node -hub
http://localhost:4444/grid/register -browser "browserName=firefox,version=10.0.12,platform=LINUX"

注意:您可以根据测试需要更改浏览器参数

  • 在远程机器 B 上运行测试或测试套件;我们需要从机器 B 的终端注册节点:

java -jar selenium-server-standalone-2.47.1.jar -role node -hub
http://192.168.233.155:4444/grid/register -browser
"browserName=firefox,version=10.0.12,platform=LINUX"

如果我使用的是 ubuntu 14.04 并且我使用的是 firefox 和 chrome,为什么会有 Internet Explorer 设置?

答:终端输出:

INFO - 驱动程序提供者 org.openqa.selenium.ie.InternetExplorerDriver
注册被跳过:注册功能 Capabilities[{platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}] 与当前平台 LINUX 不匹配

以上几行只是针对 WINDOWS 进行检查的信息,现有平台是 LINUX

即使在提到-browser参数之后,您仍然可以观察到相同的情况。因此,我们需要关心的只是-browser "browserName=firefox,version=10.0.12,platform=LINUX"在终端声明中提供。

可以注册多个浏览器设置:

前任:

$java -jar selenium-server-standalone-2.47.1.jar -role node -hub http://192.168.233.155:4444/grid/register -browser "browserName=firefox,version=10.0.12,platform=LINUX" -browser "browserName=chrome,platform=MAC" -browser "browserName=ABC,platform=XYZ" -browser ........

最后[一些平台参考] http://code.google.com/p/selenium/wiki/GridPlatforms

于 2015-09-28T11:17:50.653 回答