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

Posted tianfang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用C#+Edge (Chromium)进行Web自动化测试相关的知识,希望对你有一定的参考价值。

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

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

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

默认情况下,ChromeDriver无法支持Edge的webdriver的,我把msedgedriver的名字改成chromedriver试了一下,是可以的。不过Selenium也是可以直接指定webdriver程序名称的。

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(service,?option);

主要需要配置两个地方:webdriver路径和edge路径。各位可以参考自己的实际情况配置,配置完了这个后,后面就和操作chrome一样了。

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

以上是关于使用C#+Edge (Chromium)进行Web自动化测试的主要内容,如果未能解决你的问题,请参考以下文章

真香!微软 PM 建议 Firefox 也换 Chromium 芯

微软宣布放弃Microsoft Edge,转而使用谷歌Chromium内核

Selenium - Edge (Chromium) 浏览器 - 设置默认下载路径的直接选项

全新 Chromium 版 Microsoft Edge 浏览器到底长啥样?

Chromium的新版Edge离线安装包

Edge Chromium 中如何始终允许运行 Flash 内容