使用C#+Edge (Chromium)进行Web自动化测试

今天看到了VisualStudio中如今已经自带了Web单元测试项目模板,便试了一下,发现还比较好用,它默认的是Selenium实现的,测试组在用Selenium+Python来写过自动化测试,原来它也是支持C#的,Python用起来仍是没有C#顺手,看来之后也能够本身用c#来写写简单的Web自动化测试了。 web

C#的Selenium库默认支持Chrome,IE,Firefox,Edge等主流浏览器,而我最近用的较多的是微软Chromium内核的Edge,可能因为它尚未正式发布的缘由,如今尚未没有Chromium Edge的默认支持。因为Edge (Chromium)的内核基本上和Chrome是一致的,想来应该是能够使用ChromeDriver来驱动了,摸索试了一下,果真可行,步骤以下: chrome

  1. 在微软WebDriver官网下载Edge (Chromium)的webdriver,须要和当前浏览器版本一致
  2. 安装Nuget包Selenium.WebDriver

默认状况下,ChromeDriver没法支持Edge的webdriver的,我把msedgedriver的名字改为chromedriver试了一下,是能够的。不过Selenium也是能够直接指定webdriver程序名称的。 c#

var service = ChromeDriverService.CreateDefaultService(@"D:\Develop\WebDriver""msedgedriver.exe");
var option = new ChromeOptions
{
    LeaveBrowserRunning = true,
    BinaryLocation = @"C:\Program Files (x86)\Microsoft\Edge Dev\Application\msedge.exe"
};
//option.AddArgument("--headless");
_driver = new ChromeDriver(serviceoption);
浏览器

主要须要配置两个地方:webdriver路径和edge路径。各位能够参考本身的实际状况配置,配置完了这个后,后面就和操做chrome同样了。 less

PS:本文这里只是在Selenium没有出官方方案前的一个临时方案,相信后面会有官方支持的,那时就更加简单了。单元测试

相关文章
相关标签/搜索