はじめに
ブラウザ自動テストのデファクトスタンダードであるSelenium
そして正式リリースされたChromium版MicrosoftEdge
はたしてChromeDriver
を使ってChromium版MicrosoftEdgeを操作することができるのか?
動かせた時の感動は省略
やったこと
Chromium版MicrosoftEdge
の取得
こちらからダウンロード&インストール
NuGet
ソース
varoptions=newChromeOptions{// 結局、いつもと違うのはここだけ!BinaryLocation=@"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"};using(vardriver=newChromeDriver()){varwait=newWebDriverWait(driver,newTimeSpan(0,0,5));driver.Navigate().GoToUrl("https://www.google.com");driver.FindElementByName("q").SendKeys("Chromium");driver.FindElementByName("q").Submit();wait.Until(ExpectedConditions.TitleIs("Chromium - Google 検索"));((ITakesScreenshot)driver).GetScreenshot().SaveAsFile($"{DateTime.Now.ToString("yyyyMMddHHmmss")}.png");}
ヘッドレスは未対応?
現時点で下記記述によるヘッドレスモードでの起動は未対応。
普通にブラウザが表示されて実行される。
options.AddArgument("--headless");
おわりに
BinaryLocation
を直接指定する必要があるので環境ごとに変更する必要が出てくる可能性がある。
ヘッドレスモードなど、随時サポートされてくることを期待。