编程语言
首页 > 编程语言> > Selenium Edge驱动程序没有获取URL – java

Selenium Edge驱动程序没有获取URL – java

作者:互联网

我最近将我的selenium库从2.46.0更新到2.53.0(最新版本),以便在使用Edge浏览器的Windows 10计算机上运行测试.

我已将此添加到我的测试设置阶段,以将webdriver初始化为EdgeDriver:

System.setProperty("webdriver.edge.driver", driverDir+"MicrosoftWebDriver.exe");
DesiredCapabilities capabilities = new DesiredCapabilities("MicrosoftEdge", "", Platform.WINDOWS);
driver = new EdgeDriver(capabilities);

“driver”字段是WebDriver类的对象.

这成功启动了Edge浏览器,但是我尝试获取的url永远不会被使用.

我试过微软为这个浏览器提供的两个驱动程序找到了here

以下是显示版本的设置的“关于此应用”部分:
enter image description here

我可以使用自动启动的浏览器手动加载页面.

让测试用例在hudson上失败,我在控制台窗口中得到了这个堆栈跟踪:

15:13:04      [junit] Unknown error (WARNING: The server did not provide any stacktrace information)
15:13:04      [junit] Command duration or timeout: 100.28 seconds
15:13:04      [junit] Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15 16:57:40'
15:13:04      [junit] System info: host: 'DESKTOP-7LLLD31', ip: '172.16.4.159', os.name: 'Windows 8', os.arch: 'amd64', os.version: '6.2', java.version: '1.7.0_51'
15:13:04      [junit] Driver info: org.openqa.selenium.edge.EdgeDriver
15:13:04      [junit] org.openqa.selenium.WebDriverException: Unknown error (WARNING: The server did not provide any stacktrace information)
15:13:04      [junit] Command duration or timeout: 100.28 seconds
15:13:04      [junit] Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15 16:57:40'
15:13:04      [junit] System info: host: 'DESKTOP-7LLLD31', ip: '172.16.4.159', os.name: 'Windows 8', os.arch: 'amd64', os.version: '6.2', java.version: '1.7.0_51'
15:13:04      [junit] Driver info: org.openqa.selenium.edge.EdgeDriver
15:13:04      [junit]   at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
15:13:04      [junit]   at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
15:13:04      [junit]   at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
15:13:04      [junit]   at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
15:13:04      [junit]   at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249)
15:13:04      [junit]   at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:131)
15:13:04      [junit]   at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:144)
15:13:04      [junit]   at org.openqa.selenium.edge.EdgeDriver.(EdgeDriver.java:152)
15:13:04      [junit]   at org.openqa.selenium.edge.EdgeDriver.(EdgeDriver.java:120) 

我不确定这里发生了什么,任何事都会有所帮助,谢谢.

解决方法:

看起来它无法实例化新版本的驱动程序.从堆栈中,它似乎也认为操作系统是Windows 8,但这可能是Selenium中的一个错误:

'DESKTOP-7LLLD31', ip: '172.16.4.159', os.name: 'Windows 8', os.arch: 'amd64', os.version: '6.2', java.version: '1.7.0_51'

需要注意的一点是,您应该始终使用Windows / Microsoft Edge / Microsoft WebDriver的匹配版本.因此,根据您的屏幕截图,您使用的是Windows / Microsoft Edge版本10586,并且应该使用位于此处的驱动程序的build 10586:
Microsoft WebDriver Fall 2015 Update

如果您实际上是在Windows 10上并运行它并看到此问题,那么下一个要查看的区域可能就是功能.尝试创建一个实例而不传递任何功能,看看是否有效.如果您传入的功能是必需的并且最终不正确,则会导致创建WebDriver实例失败.

标签:microsoft-edge,java,selenium,selenium-webdriver
来源: https://codeday.me/bug/20191008/1875060.html