您的位置:首页 > 其它

selenium(webdriver)--Microsoft Edge browser

2015-10-23 15:00 120 查看
微软在新的Windows10系统上引进了新的浏览器Microsoft Edge browser。

为了能在Edge上实现自动化,微软开发了Microsoft WebDriver。

就跟chrome需要chromedriver, IE需要IEDriverServer一样。

原理如下



1. windows10 build >=10547

你所用的windows10操所系统的build版本最好>=10547。

根据https://dev.modern.ie/platform/status/webdriver/details/

对于selenium webdriver一些方法的支持

XPATH - 10547

getSize(),setSize()setSize() ,maximize() -10532

2. 下载Microsoft Webdriver

有两个下载地址

1) Microsoft WebDriver:https://www.microsoft.com/en-us/download/details.aspx?id=48212

2) WebDriver for Windows Insiders:http://www.microsoft.com/en-us/download/details.aspx?id=48740

两个下载下来都是MicrosoftWebDriver.msi文件,双击安装就可以。具体用哪个取决于你的操作系统。

如果你的操作系统是windows 10 Insider,得下载安装 2)。否则会遇到null Exception

Exception in thread "main" org.openqa.selenium.remote.SessionNotFoundException: null (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 2.16 seconds
Build info: version: '2.48.2', revision: '41bccdd10cf2c0560f637404c2d96164b67d9d67', time: '2015-10-09 13:08:06'
System info: host: 'DESKTOP-DUHBOA4', ip: '192.168.31.26', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_45'
Driver info: org.openqa.selenium.edge.EdgeDriver
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:164)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:647)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:247)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:129)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:142)
at org.openqa.selenium.edge.EdgeDriver.<init>(EdgeDriver.java:152)
at org.openqa.selenium.edge.EdgeDriver.<init>(EdgeDriver.java:141)
at org.openqa.selenium.edge.EdgeDriver.<init>(EdgeDriver.java:98)
at test.edge.browser.UseEdgeBrowser.main(UseEdgeBrowser.java:17)


我的操作系统就是Insider的



3. Selenium WebDriver >= 2.47.0 & 2.47.1

只有 version>= 2.47.0 & 2.47.1的selenium webdriver才支持在Edge上测试自动化case

4. 测试Demo

下面是一个小小的测试demo.

System.setProperty("webdriver.edge.driver","C:\\Program Files (x86)\\Microsoft Web Driver\\MicrosoftWebDriver.exe");
//EdgeOptions options = new EdgeOptions();
//options.setPageLoadStrategy("eager");
WebDriver driver = new EdgeDriver();
driver.manage().window().maximize();
driver.get("http://localhost:8080/org.talend.administrator-6.1.0-SNAPSHOT");
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
WebElement username = driver.findElement(By.id("idLoginInput"));
username.clear();
username.sendKeys("admin@company.com");
WebElement pwd = driver.findElement(By.id("idLoginPasswordInput"));
pwd.clear();
pwd.sendKeys("admin");
driver.findElement(By.id("idLoginButton")).click();
//driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
driver.close();


有篇微软的博客关于Edge做自动化测试,有兴趣的同学可以看看。

https://blogs.windows.com/msedgedev/2015/07/23/bringing-automated-testing-to-microsoft-edge-through-webdriver/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: