13
BindingからFrameworkElementを見つける

Bindingからframework elementを見つける

Embed Size (px)

Citation preview

Page 1: Bindingからframework elementを見つける

BindingからFrameworkElementを見つける

Page 2: Bindingからframework elementを見つける

石川達也

株式会社Codeer代表取締役

Microsoft MVP for C#

Windowsアプリテスト自動化歴9年

Windowsアプリ操作用ライブラリFriendlyの開発者

自己紹介

Page 3: Bindingからframework elementを見つける

Friendly紹介

じわじわ来てます。一部上場企業様でも続々と採用中

亀岡的プログラマ日記

アメリカでも大好評でした!

http://posaune.hatenablog.com/entry/2014/11/16/173446

Page 4: Bindingからframework elementを見つける

別プロセスに外部から好きなAPI(メソッド、プロパティー、フィールド)何でも実行させれるライブラリです。

Friendly紹介

http://www.codeer.co.jp/

こいつ頭おかしいぜ!

Page 5: Bindingからframework elementを見つける

Friendly紹介

Friendly

Friendly.Windows

コア部分

Friendly.WPFStandardControlsWPFのコントロールラッパ(めとべや)

WPFアプリもバッチリテストできる

Page 6: Bindingからframework elementを見つける

Friendly紹介

で、UI操作時に欠かせないコントロールの特定もFriendlyはフィールド参照できるから超簡単!

//テストコードvar buttonOK = window._buttonOK;

<Button x:Name=“_buttonOK” ・・・>

XAMLでx:Nmae付けたらフィールドになるよね

Page 7: Bindingからframework elementを見つける

・・・・

Page 8: Bindingからframework elementを見つける

x:Nameなんて、使いたくない!

えー (´・ω・`)

Page 9: Bindingからframework elementを見つける

でも、大丈夫!

Frienldyはつまり、操作対象のアプリで実装できることなら基本何でもできます。

だから、この問題に限らず大抵のことは解を作り出せるのです。

Page 10: Bindingからframework elementを見つける

とりあえず、Bindingから特定してみます。

//こんな感じvar target = By.Binding(

window, //検索開始要素window.DataContext, //このデータの“A” //このパス

);

Page 11: Bindingからframework elementを見つける

今回の生贄はこれ

MVVM、サンプルでググると見つかるよ

Page 12: Bindingからframework elementを見つける

https://github.com/Ishikawa-Tatsuya/Friendly-SearchByBinding

コードです。

Page 13: Bindingからframework elementを見つける

Friendlyアドベントカレンダーやってます。

ご参加お願いしますm(_ _)m

http://qiita.com/advent-calendar/2014/friendly

Friendly紹介