今回はTestAssistantというツールを使ってみます。
タイトルは若干釣りです。
キャプチャリプレイ好きな人もいるのでw
TestAssistantとは
Friendlyとその上位ライブラリを使ったテストの作成の効率を上げるためのツールです。
C#とFriendlyについての理解が必要です。
「そんな便利なものあるなら先に言ってくれればいいのに」って思うかもしれませんね。でもこれも順番があるのですよ。C#はもちろんFrienldyについての理解が無ければ逆に誤解を与えるのです。ていうか、使いこなせませんしね。最初のころは、このツールもまとめて説明していたので、混乱させてましたね。人によってはこのツールのことをFriendlyって思ったようです。
もちろんそうではなくて、このツールはオマケで、メインはFrienldyというライブラリなのです。(それも基本部分と上位ライブラリに分かれるのですけどね Frienldy いまさら概要と学習計画 - ささいなことですが。)
ハンズオン
操作対象
まずは、WinFormsアプリに使ってみましょう。ハンズオン7で操作したアプリを操作してみます。
ダウンロードはこちらから。
Ishikawa-Tatsuya/HandsOn7 · GitHub
こんなアプリですね。
TestAssistantダウンロード
こちらからダウンロードしてください。
ダウンロード - 株式会社Codeer (コーディア)
Zip解凍→自己解凍で使えます。
実はフォルダコピーで使えるものです。自己解凍にしているのは、「ブロック解除」を忘れないためだけです。
起動
解凍フォルダはこんな感じです。
Start_AnyCpu.vbsとStart_x86.vbsがありますね。操作対象のアプリにあった方を実行してください。これ実は単なるショートカットです。TestAssistantフォルダ内にexeが複数入っていて選択するのが面倒なので外に作っただけです。
今回はStart_x86.vbsを実行してください。
こんな感じの画面になります。
アタッチ
では、アタッチしてみます。
まず、左上のボタンを押してください。そうするとテストプロセス選択ダイアログが表示されますので、TargetFormを選択してください。
スクリプト実行
C#のスクリプトを実行する機能があります。1関数のみです。実行すると、この関数が呼び出されます。引数に接続されているアプリにアタッチしたWindwsAppFriendが渡ってきますので、それを使って操作します。
ここで簡単に試して、実際のテストコードに持って行くのが一般的な使い方です。一回やってみましょう。このコードを張り付けてください。
WindowControl mainForm = WindowControl.FromZTop(app); FormsComboBox _comboBox = new FormsComboBox(mainForm.Dynamic()._comboBox); _comboBox.EmulateChangeSelect(3);
で、実行してみましょう。
コンボボックスの選択がかわりましたね。
画面解析
ここからは動画で説明していきます。細かいので、可能ならフルスクリーンで見てください。
TestAssistant 画面解析デモ - YouTube
操作キャプチャ
TestAssistant キャプチャリプレイデモ - YouTube
はい。キャプチャリプレイ'的な'機能です。
これは、あくまで参考程度にとどめておいてください。「このコントロールどう操作するのかなー」って時にやってみて、「あーこのラッパークラス使えばいいのね」って感じです。
それから、知っているラッパークラスの操作をキャプチャでします。そのため、「マウスクリック」とかの低レベルなAPIではなく、「選択変更」のようなリッチなインターフェイスが出力されるのですね。
あと、一画面づつしかキャプチャできません。