我正在尝试设置Selenium网格(Hub和节点将在同一个VM上运行),其上运行Chrome,InternetExplorer,Firefox和Opera节点。
我正在使用这样的基础设施:
操作系统:Windows Server 2012 R2(虚拟机)将托管整个网格(集线器+节点)
Java :版本8更新111
浏览器:Chrome(55),Firefox(50),IE(11),Opera(42)
Selenium服务器:selenium-server-standalone-3.0.1.jar
Opera webdriver(基于铬):0.2.2(https://github.com/operasoftware/operachromiumdriver/releases)
Selenium测试框架:使用Nunit框架编写的C#(Webdriver nuget 3.0.1)测试
问题:
我不能使用RemoteWebDriver传递集线器地址和Opera功能来对Opera浏览器运行selenium测试:
`RemoteWebDriver remoteWebDriver = new RemoteWebDriver(seleniumHubAddress, DesiredCapabilities.Opera());`
我收到以下错误:
`An exception of type 'System.InvalidOperationException' occurred in WebDriver.dll but was not handled in user code. Additional information: The best matching driver provider org.openqa.selenium.edge.EdgeDriver can't create a new driver instance`
我认为问题可能是服务器本身,因为当我使用以下命令启动节点时:
java -Dwebdriver.opera.driver=D:\SeleniumGrid\Opera\operadriver.exe -jar ../Server/selenium-server-standalone-3.0.1.jar -role node -nodeConfig nodeOperaConfig.json -port 4552
nodeOperaConfig.json是Selenium样本(https://github.com/SeleniumHQ/selenium/blob/master/java/server/src/org/openqa/grid/common/defaults/DefaultNodeWebDriver.json)的默认配置
{
"browserName": "opera",
"maxInstances": 5,
"version": 42,
"webdriver.opera.driver" : "D:\\SeleniumGrid\\Opera\\operadriver.exe"
}
我在cosole中看到以下消息:
19:28:14.774 INFO - Driver class not found: com.opera.core.systems.OperaDriver
19:28:14.774 INFO - Driver provider com.opera.core.systems.OperaDriver registrat
ion is skipped:
Unable to create new instances on this machine.
19:28:14.774 INFO - Driver class not found: com.opera.core.systems.OperaDriver
19:28:14.774 INFO - Driver provider com.opera.core.systems.OperaDriver is not re
gistered
我浏览了文档和其他线程,但我找不到如何在我的selenium网格机器上注册Opera驱动程序的方法。
这是我第一次尝试设置硒网格(很可能我错过了配置的东西)
任何帮助将非常感激。