【问题标题】:Selenium Edge driver not getting URL - javaSelenium Edge 驱动程序没有获取 URL - java
【发布时间】:2016-09-08 17:24:30
【问题描述】:

我最近将我的 selenium 库从 2.46.0 更新到 2.53.0(最新),以便在装有 Edge 浏览器的 Windows 10 机器上运行测试。

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

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

“驱动程序”字段是 WebDriver 类的对象。

这成功启动了 Edge 浏览器,但是我尝试获取的 url 从未被使用过。

我已经尝试了 Microsoft 必须为此浏览器提供的两个驱动程序,发现 here

这是设置的“关于此应用”部分以显示版本:

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

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

15:13:04 [junit] 未知错误(警告:服务器未提供任何堆栈跟踪信息)
15:13:04 [junit] 命令持续时间或超时:100.28 秒
15:13:04 [junit] 构建信息:版本:'2.53.0',修订:'35ae25b',时间:'2016-03-15 16:57:40'
15:13:04 [junit] 系统信息:主机:'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] 驱动程序信息:org.openqa.selenium.edge.EdgeDriver
15:13:04 [junit] org.openqa.selenium.WebDriverException:未知错误(警告:服务器未提供任何堆栈跟踪信息)
15:13:04 [junit] 命令持续时间或超时:100.28 秒
15:13:04 [junit] 构建信息:版本:'2.53.0',修订:'35ae25b',时间:'2016-03-15 16:57:40'
15:13:04 [junit] 系统信息:主机:'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] 驱动程序信息:org.openqa.selenium.edge.EdgeDriver
15:13:04 [junit] 在 java.lang.reflect.Constructor.newInstance(Constructor.java:526)
15:13:04 [junit] 在 org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
15:13:04 [junit] 在 org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
15:13:04 [junit] 在 org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
15:13:04 [junit] 在 org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249)
15:13:04 [junit] 在 org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:131)
15:13:04 [junit] 在 org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:144)
15:13:04 [junit] 在 org.openqa.selenium.edge.EdgeDriver.(EdgeDriver.java:152)
15:13:04 [junit] 在 org.openqa.selenium.edge.EdgeDriver.(EdgeDriver.java:120) 

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

【问题讨论】:

  • 所有网址都会出现这种情况吗?

标签: java selenium selenium-webdriver microsoft-edge


【解决方案1】:

似乎无法实例化新版本的驱动程序。从堆栈来看,它似乎也认为操作系统是 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,并且应该使用位于此处的驱动程序的版本 10586: Microsoft WebDriver Fall 2015 Update

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

【讨论】:

    【解决方案2】:

    Edge 浏览器打开时我也遇到过这个问题。但它没有加载网站 URL 并自动关闭。

    我在 Selenium 3.0 Beta2 和 Windows 10 上进行了尝试。我遇到了这个问题,因为我使用了不正确的 MicrosoftWebDriver.exe 版本。当我使用了正确版本的 webdriver 时,出现了这个问题已修正。

    我使用以下步骤解决了这个问题 -

    1. 转到开始 > 设置 > 系统 > 关于并记下操作系统内部版本号。

    2. 从此链接下载正确版本的驱动程序 - https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

    3. 如果下载的文件是 .msi,则安装它以获取 .exe 驱动程序。对于其中一个版本,可以直接下载.exe。

    我使用的示例脚本如下 -

    System.setProperty("webdriver.edge.driver","C:\\Program Files (x86)\\Microsoft Web Driver\\MicrosoftWebDriver.exe"); //put actual location
    WebDriver driver = new EdgeDriver();
    driver.get("your link");
    

    想看详细步骤可以参考这篇文章-http://automationtestinghub.com/selenium-3-launch-microsoft-edge-with-microsoftwebdriver/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-25
      相关资源
      最近更新 更多