ささいなことですが。

Windowsアプリテスト自動化ライブラリFriendly開発者の日記です。

OperationTypeInfoとSystem.__ComObject

Friendlyのマニアックな機能にOperationTypeInfoというものがあります。 僕以外に知っている人は、世界に10人いないでしょうねw OperationTypeInfo - 株式会社Codeer (コーディア)例えば、こんなクラスを操作するとして、 class Parent { int data; } class …

Infragistics社、GrapeCity社のコントロール操作ライブラリの作成を始めました。

Friendlyの便利なところは、通常のAPIをRPCでプロセス越しに呼び出せること、DLLインジェクションでテスト時だけ対象プロセスにコードを注入できることです。 この機能を使えば、サードパーティー製のコントロールも簡単に操作できます。 と言うわけで、Infa…

Friendly.WPFStandardControls.1.4.0を公開しました。

NuGet Gallery | Friendly.WPFStandardControls 1.6.0 今回は機能追加です。 ボタン検索 前回のバージョンアップでは、DependencyObjectに対して、バインディングとタイプで検索する機能を追加しました。 Friendly.WPFStandardControls.1.3.0をリリースしま…

Microsoft MVP for .Netを受賞いたしました!

おかげさまで、二回目の受賞となりました。 これも支えてくださった皆様のおかげです。去年は初年度ということで色々な経験をさせていただきました。 特に印象に残ったのはグローバルサミットと、MVP Showcaseですね。何と2位になりました! MVP Showcase Wi…

拡張メソッドで、あれ?って思ったこと

C#

あれ?って思ったことシリーズ第二弾。つい先日、Cで書かれた組み込み機器と通信するプログラムをC#で書きました。 で、テストを書くときに、@neueccさんのChaining Assertionを使いました。 これは、Assert書くのを気持ちよくしてくれるライブラリです。こ…

dynamicで、あれ?って思うこと

C#

Frienldyはdynamicを使うライブラリです。 で、dynamicって書いててちょっと直感的でない時があるんです。 よく考えると、「そうだよね。」ってなるんですけど、僕もハマったので書いておきます。 引数に渡すと、対象の関数まで動的になる 例えば、こんなメ…

Friendly.WPFStandardControls.1.3.0をリリースしました。

WPF系の機能追加です。 x:Name以外でのコントロールの特定 x:Nameを付けるのは、なんら恥じることはありません。テスタビリティーを向上させるという大義名分があります。付けても使わないようにしたらいいだけです。だいたい、x:Name付けなくてもコードビハ…

Friendly.Windows.2.6.0をリリースしました。

タイトルの通りです。 それに伴ってFriendly.Windowsを参照しているdllも更新しています。 Friendly.Windows.Grasp.2.5.1 Friendly.Windows.NativeStandardControls.2.2.3 Friendly.FormsStandardControls.2.3.2 Friendly.WPFStandardControls.1.1.5内容は不…

Friendly ハンズオン 14-2 テストシナリオ実装

今回はテストシナリオ実装やってみます。(やっと これを元に作っていきます。 Ishikawa-Tatsuya/HandsOn14-2 · GitHubテストシナリオはテストチームの方が書くことを前提としています。若干のプログラム知識とトレーニングで書ける(はず)です。 追加画面の…

Friendly ハンズオン 14 -準備- テストシナリオ共通部分抽出

お久しぶりです・・・ だいぶ空いてしまいました。 ブログって一回書かなくなるとダメですね。 気を取り直してテストシナリオの共通部分の抽出行きましょう。 あれ?シナリオ書くって言ってなかった? はい。 Friendly ハンズオン 13 アプリケーションドライ…

Friendly2.5.0とFriendly.Windows2.5.1をリリースしました。

久しぶりのリリースです。 NuGet Gallery | Packages matching codeerまあ、表題のもの以外も参照バージョンが変わるので全部更新しているのですがw ちょっと解説します。 解説用のコードはこちらからダウンロードできます。何ができるようになったかと言う…

Friendly ハンズオン 13 アプリケーションドライバ -その5-

前回の続きです。 あと、ひと手間かけてやりましょう。それは対象プロセスのデバッグです。 デグレ検出→調査したい 自動検査でデグレを検出しました!作った甲斐がありましたね! では調査しましょう。もちろん対象プロセスはデバッガから起動したもので調査…

Friendly ハンズオン 13 アプリケーションドライバ -その4-

前回の続きです。 今回は対象アプリのライフサイクルの管理に関してやります。 あれ?でも今までも起動と終了を管理してましたよね。 それだけではダメなんでしょうか?もちろん、今までのでもOKです。 一つのテストごとにexeを起動しなおすと、前回のテスト…

Friendly ハンズオン 13 アプリケーションドライバ -その3-

前回までで、通常操作に関しての実装は完了して、思い通りにアプリを操作できるところまで行きました。 で、今回はテスト自動化で困りがちな点の対応を考えていきます。これもアプリケーションドライバ層で吸収すれば良いと思います。ここから先はAppDriver…

Friendly ハンズオン 13 アプリケーションドライバ -その2-

前回の続きです。読んでない方は、そちらを先に読んでください。 前回作ったアプリケーションドライバでは「内部仕様」と「操作技術」の隠蔽度が不十分ってことでしたね。 では改善してみます。 内部仕様の隠蔽 _app.MainForm.ListBoxEmployee.Dynamic().Ite…

Friendly ハンズオン 13 アプリケーションドライバ -その1-

今回はアプリケーションドライバの話です。 Frienldyは内部APIを使って効率的に自動化を実現するためのライブラリです。でも、内部APIは文字通り内部仕様にあたるので、テストシナリオにそのまま出てきては、テストのメンテ、作成効率が落ちます。外部仕様が…

Friendly ハンズオン 12 TestAssistant(キャプチャリプレイもできますw)

今回はTestAssistantというツールを使ってみます。 タイトルは若干釣りです。 キャプチャリプレイ好きな人もいるのでw TestAssistantとは Friendlyとその上位ライブラリを使ったテストの作成の効率を上げるためのツールです。 何ができるの? 意外と多機能な…

Friendly ハンズオン 11 WPF用上位ライブラリ

今回はWPFのGUIコントロールの操作です。 これは、めとべやさんと協力して作っています。ソースコードはこちらです。 Roommetro/Friendly.WPFStandardControls · GitHub現在以下のものに対応しています。 WPF用は近いうちに機能追加していこうと思っています…

Friendly ハンズオン 10 .Netアプリで出てくるネイティブウィンドウ対応

前回はWin32用の上位ライブラリのNativeStandardControlsを使う練習でした。 今回は、さらに実践的に.Netで出てくるWin32のWindowに対応してみます。 先にネタをバラしておきます。 操作方法は書きますが、最終的にはメッセージボックス以外は操作しない方が…

Friendlyハンズオン9 Win32用上位ライブラリ

今回はWin32の話です。 プロダクトによっては、過去の資産を持っていて、一部ネイティブで作っているものもありますよね。 そうでなくて完全な.Netのアプリでも、実はネイティブの画面は出てくるのです。 と言うことで、ネイティブの画面も操作できるように…

Friendly ハンズオン8 Friendly.Windows.Grasp - .Netアプリ操作でよく使う機能 -

前回でFriendly.Window.Graspがどのようなものか概略を説明しました。 まだちょっとボヤっとしてますよねw? ここでは、実際に使ってみてもう少し理解を深めてもらおうと思います。 ハンズオンの練習用プロジェクト 練習用のプロジェクトはこちらからダウン…

Friendly.Windows.Graspとは

Friendly.Windows.Graspに関してです。 ハンズオンをやろうかなーと思ったのですが、ちょっと特殊なライブラリなので、先に少し解説します。まあここは「なんとなく分かった」ぐらいでいいかなーと。次回のハンズオンで手を動かすと問題なく理解できるはずで…

Friendly ハンズオン7 WinForms用上位ライブラリ

久しぶりのハンズオンです。 今回はWinForms用のラッパーライブラリであるFriendly.FormsStandasrdControlsに関して練習してみます。 Friendly.FormsStandasrdControlsはONIGIRI-SOFT(Windows&iPhoneアプリ開発)さんと協力して作りました。 対応表 System.Wi…

世界が驚いた!Friendlyマジック - 種明かし編

これは「Friendly Advent Calendar 2014 - Qiita」の記事です。 昨日は森理麟さんの自動化の話をしようじゃないか - 森理 麟(moririring)のプログラマブログでした。今日は最終日ですねー。 なので、お楽しみ的なことをやってみようかなーと。世界が驚いたVi…

Frienldy いまさら概要と学習計画

これは「Friendly Advent Calendar 2014 - Qiita」の記事です。いまさらですが、概要と学習計画を書こうかなーと思いました。 きっかけは、@fuku518さんのエントリーですね。 Codeer Friendlyなら何でもできる! - C#でプログラミングあれこれ あと、そろそ…

Friendly GUI操作用上位ライブラリの必要性と思想

これは「Friendly Advent Calendar 2014 - Qiita」の記事です。昨日は、GUI操作は生でやるとひどい目に遭うってとこまでやりました。理由は インテリセンスが効かない そもそも、操作が複雑なものもある 特にネイティブは・・・ 通常時にプログラムで使って…

Friendly ハンズオン6 GUI操作・・・あれ?

これは「Friendly Advent Calendar 2014 - Qiita」の記事です。はい、今日からはいよいよ、GUIを操作していきましょう。 なのですが・・・ 明日の分も絶対読んでね! 途中で「そっとじ」されると困るので、先に書いておきますが、多分ひきますw。 まあ今日は…

STAC2014で登壇してきました。

これは「Friendly Advent Calendar 2014 - Qiita」の記事です。 昨日は、ONIGIRI-SOFTさんの UIの不具合要因が簡単に見つけられます! :: おにぎりブログ|yaplog!(ヤプログ!)byGMO でした。 システムテスト自動化カンファレンス2014 実は一昨日は「シス…

Friendly - Windowsアプリのシステムテスト自動化

はじめに これはソフトウェアテストあどべんとかれんだー2014 - connpassの12/12の記事です。 12/9は@PoohSunnyさんのtesting - 地味だけどGebをgroovyにしている5Tips #SWTestAdvent - Qiitaでした。Friendlyの紹介記事です。 自分のライブラリの宣伝ですみ…

Friendlyハンズオン 5.DLLインジェクション

これは「Friendly Advent Calendar 2014 - Qiita」の記事です。引き続き、詳細なドキュメントは公式ページも参照しながらでお願いします。 テスト自動化 Friendly - 株式会社Codeer (コーディア)はい、昨日までで、内部API呼び出しは全部やったと思います。…