「Winium – Windows向けソフトウェアでもSeleniumでテストしよう」記事で紹介されている、Windowsアプリケーションの自動操作を行うためのツールが「Winium」です。
名前の通り、Seleniumからの派生ですね。
今回はこのWiniumを.NETから使ってみたいと思います。
下準備
必要なパッケージはNuGetにあるので、まずは「Selenium WebDriver」と「Winium.WebDriver」をインストールします。
nuget install "Selenium.WebDriver" nuget install "Winium.WebDriver"
ライブラリの準備ができたら下記サイトからWebDriver(Winium.Desktop.Driver.exe)をダウンロードして、適当なフォルダに保存します。
・Winium.Desktop.Driver
https://github.com/2gis/Winium.Desktop/releases
Winiumでメモ帳を操作するコード
準備ができたら、実際にコードを書いて動かしてみます。
/* * Winiumでメモ帳を操作するサンプル * @kinuasa * * [要参照] * WebDriver(WebDriver.dll), * Winium.WebDriver(Winium.WebDriver.dll) */ using OpenQA.Selenium.Winium; namespace Sample02 { class Program { public static void Main(string[] args) { var options = new DesktopOptions(); options.ApplicationPath = @"C:\Windows\System32\notepad.exe"; //Winium.Desktop.Driver.exeの場所指定 WiniumDriver driver = new WiniumDriver(@"C:\System", options); driver.FindElementByClassName("Edit").SendKeys("Hello World."); } } }
上記コードを実行すると、上図の通り、メモ帳が起動し「Hello World.」と自動的に入力されます。
おわりに
今回初めてWiniumを使ってみましたが、
“とりあえず使いづらい!!”
私はそう感じました。
Seleniumと同じようなコードの書き方ができるのは良いのですが、資料も少なく、エレメントの指定方法も分かりづらく・・・、これならば素直にUI Automation使った方が楽ではないかと思います。
(私は試していないのですが、UWPアプリやWindows Phone向けのアプリもテストできるらしいので、そちらの方面で使用すれば便利なのかもしれません。)
2015/12/25 追記:
Winium.Cruciatusについても記事を書きました。
・C#からWinium.Cruciatusを使ってみた。
//www.ka-net.org/blog/?p=6466
この記事へのコメントはありません。