今天看到了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:\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沒有出官方方案前的一個臨時方案,相信后面會有官方支持的,那時就更加簡單了。
