我在本地计算机 Windows 10 Enterprise 64 位(Microsoft Edge 版本:25.10586.672.0)和 Microsoft WebDriver - Release 10240 上运行 selenium 时出现错误。我的 Selenium 版本是:3.6.0
public class SeleniumTest {
private WebDriver driver;
@BeforeClass
public void getWebDriver() {
try {
System.setProperty("webdriver.edge.driver", "myapp/driver/MicrosoftWebDriver.exe");
DesiredCapabilities capabilities = DesiredCapabilities.edge();
capabilities.setCapability(CapabilityType.ForSeleniumServer.ENSURING_CLEAN_SESSION, true);
capabilities.setCapability(CapabilityType.PAGE_LOAD_STRATEGY, "eager");
capabilities.setPlatform(Platform.WIN10);
capabilities.setBrowserName(BrowserType.EDGE);
capabilities.setVersion("");
driver = new EdgeDriver(capabilities);
} catch (Exception e) {
e.printStackTrace();
}
driver.get(Constant.URL);
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
}
@AfterClass
public void quitDriver() throws InterruptedException {
Thread.sleep(3000);
driver.quit();
}
@Test ()
public void aTest() {
}
@Test ()
public void bTest() {
}
}
当我运行代码时,它打开 Edge 浏览器并出现错误:
org.openqa.selenium.NoSuchSessionException: null (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 873 milliseconds
Build info: version: '3.6.0', revision: '6fbf3ec767', time: '2017-09-27T15:28:36.4Z'
System info: host: 'computername', ip: 'myip', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_111'
Driver info: driver.version: EdgeDriver
您可以考虑查看发行说明,因为它提到:
更新 .NET 绑定以不发送错误的 W3C Firefox 功能
以前,RemoteWebDriver 会发送相同的功能字典
在以下情况下同时使用“desiredCapability”和“capability”属性
请求新的远程会话。在语言绑定的情况下
明确请求使用旧版 Firefox 驱动程序、功能
字典将包含对于 W3C 兼容无效的属性
远程服务器。为了解决这个问题,我们将通过以下方式掩盖明确的尝试:
设置一个属性,使 .NET RemoteWebDriver 发送
明确请求时仅兼容旧版的新会话请求
遗留驱动程序。
我在您的代码中没有看到任何重大错误,除了一个,看看NoSuchSessionException
。代替:
DesiredCapabilities capabilities = DesiredCapabilities.edge();
你应该使用:
DesiredCapabilities cap = new DesiredCapabilities();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)