今天看到了VisualStudio中现在已经自带了Web单元测试项目模板,便试了一下,发现还比较好用,它默认的是Selenium实现的,测试组在用Selenium+Python来写过自动化测试,原来它也是支持C#的,Python用起来还是没有C#顺手,看来以后也可以自己用c#来写写简单的Web自动化测试了。
C#的Selenium库默认支持Chrome,IE,Firefox,Edge等主流浏览器,而我最近用的较多的是微软Chromium内核的Edge,可能由于它还没有正式发布的原因,现在还没有没有Chromium Edge的默认支持。由于Edge (Chromium)的内核基本上和Chrome是一致的,想来应该是可以使用ChromeDriver来驱动了,摸索试了一下,果然可行,步骤如下:
- 在微软WebDriver官网下载Edge (Chromium)的webdriver,需要和当前浏览器版本一致
- 安装Nuget包Selenium.WebDriver
默认情况下,ChromeDriver无法支持Edge的webdriver的,我把msedgedriver的名字改成chromedriver试了一下,是可以的。不过Selenium也是可以直接指定webdriver程序名称的。
var service = ChromeDriverService.CreateDefaultService(@"D:DevelopWebDriver", "msedgedriver.exe");
var option = new ChromeOptions
{
LeaveBrowserRunning = true,
BinaryLocation = @"C:Program Files (x86)MicrosoftEdge DevApplicationmsedge.exe"
};
//option.AddArgument("--headless");
_driver = new ChromeDriver(service, option);
主要需要配置两个地方:webdriver路径和edge路径。各位可以参考自己的实际情况配置,配置完了这个后,后面就和操作chrome一样了。
PS:本文这里只是在Selenium没有出官方方案前的一个临时方案,相信后面会有官方支持的,那时就更加简单了。