[C#] WinAppDriver/UIRecorderを試す

UI Recorderという、テスト自動化のためのツールが公開されたらしい。UI Recorderを使うと、操作手順をキャプチャしてC#のコードを生成してくれるみたい。試してみる。

Microsoft、オープンソースの自動UIテストスクリプトツール「WinAppDriver UI Recorder」を公開:自動UIテストのスクリプトを簡単に作成できる – @IT
http://www.atmarkit.co.jp/ait/articles/1806/22/news036.html

WinAppDriver/Tools/UIRecorder at master · Microsoft/WinAppDriver · GitHub
https://github.com/Microsoft/WinAppDriver/tree/master/Tools/UIRecorder

UI Recorderのビルド

1. リポジトリのクローニング

2. VS2017でソリューションファイルを開く
WinAppDriver\Tools\UIRecorder\WinAppDriverUIRecorder.sln

3. ビルド

ビルドしたらエラーが出た。

プロジェクトにアサインされているバージョンのWindows SDKがこのマシン上には存在しないので、ソリューションを右クリックして[Retarget solution]を選択し、存在するバージョンに変更する。

再ビルドして成功。

UI操作を記録する

Windowsの電卓を操作して記録してみる。

1. UI Recorderを実行する。
2. [Record]ボタンをクリックして電卓アプリを操作する。
3. 操作完了したら[Stop Recording]ボタンをクリックする。
4. [C# Code]タブに操作内容のC#コードが生成される。

自動化アプリを作成する

前処理 (WinAppDriverの起動やセッションの確立処理など)部分は参考サイトのコードをそのままコピペさせてもらって、それに続けてUIRecorderが生成したC#のコードを貼りつける。

1. プロジェクト作成 Console App (.NET Framework)
2. NuGetでAppium.WebDriver をインストールする
3. コーディング

XPathはそのままだとNot Foundになるので、以下のように編集した。

編集前

編集後

4. ビルドして実行

アプリが自動実行された。

参考サイト

WinAppDriver UI Recorderを試してみました。 | 初心者備忘録
https://www.ka-net.org/blog/?p=10504

[C#] WinAppDriverを試す

Windows Application Driverは、WindowsアプリケーションにおけるSeleniumライクなUIテストオートメーションをサポートするサービス。このサービスは、Windows 10 PCを使ったUniversal Windows Platform (UWP)及びClassic Windows (Win32)アプリのテストをサポートしている。

GitHubで公開されているので試してみる。

GitHub – Microsoft/WinAppDriver: Windows Application Driver
https://github.com/Microsoft/WinAppDriver

セットアップ

1. ダウンロード https://github.com/Microsoft/WinAppDriver/releases
2. インストール
3. 実行する C:\Program Files (x86)\Windows Application Driver\WinAppDriver.exe

電卓アプリを自動操作するサンプルを試す

1. VS2017でSamples\C#\CalculatorTest.slnを開く
2. Test > Windows > Test Explorer を選択
3. Run All を選択してテスト実行

電卓アプリが自動で動くのが確認できた。

参考サイト

WinAppDriver: Selenium に似た Appium のテストを使用して、Windows であらゆるアプリのテストを実行 – Visual Studio 日本チーム Blog
https://blogs.msdn.microsoft.com/visualstudio_jpn/2016/12/02/winappdrivertestanyappwithappiumsseleniumliketestsonwindows/