使用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沒有出官方方案前的一個臨時方案,相信後面會有官方支持的,那時就更加簡單了。單元測試

相關文章
相關標籤/搜索