2015-01-01から1年間の記事一覧
www.nuget.org 機能追加しました。 何をってこれです。 blog.okazuki.jp やっぱり、コントロールドライバの対応があった方が安心感ありますよね。 ちなみにご意見いただいた、かずきさんは開発メンバーに加わっていただきました(無理やりw それから、WPFのコ…
最近、告知ばっかりですけどw (そのうち、ちゃんとしたのも書きますよ・・・vshtc.doorkeeper.jp 第一回を逃した人も是非 そうなんです。 連載物なんですよね。 だから、基本的には一回目の知識が必要です。 でも、前回分をこっちにアップしているので、 こ…
そして、9/24には大阪でもハンズオンを開催させていただきました。vshtc.doorkeeper.jp 平日にもかかわらず、大勢のご参加本当にありがとうございました! 場所は、SCSK様です。SCSKグループで品質保証を担ってきたベリサーブ様の協賛を得ての開催となりまし…
9/19(土)にFrienlyハンズオンを東京で開催しました。madoguchi100.connpass.comシルバーウィーク初日にも拘わらず、大勢の方のご参加ありがとうございました! 会場提供はSHIFT様。 ありがとうございました! オシャレですねー。東京タワー見えてるし。 な…
連続リリースです。 GrapeCity様のFpSpread、C1FlexGridを別プロセスから操作するためのライブラリであるFriendly.FarPoint 1.0.0、Friendly.C1.Win 1.0.0 をリリースしました!Friendly.FarPointwww.nuget.org Friendly.C1.Winwww.nuget.orgFriendly.FarPoi…
Infragistics様のコントロールを外部プロセスから操作するためのライブラリ、 Friendly.XamlControlsを正式版にしてリリースしました。Friendly.XamControlswww.nuget.org αが外れて正式版になりました いや、これほんと、どこまで作ったら正式版にするとか…
いや、ちょっとタイトルは正確さに欠けますが、ご容赦を。今日は、驚きの発見がありました。 FriendlyユーザーのITO(仮名)さんと話しているとITO「こんな感じでテスト書いたらいいと思うんですよね。」 石「でもこのコード、ラムダ使ってますよ。プロセス…
Friendlyのハンズオンを開催します。 しかも、東京と大阪両方で!東京会場はSHIFT様(9/19)「じどうかの窓口。」特別編 Windowsアプリテスト自動化勉強会-Friendlyハンズオン (2015/09/19 13:00〜)madoguchi100.connpass.com大阪会場はベリサーブ様(9/24)…
前回からの流れですね。 インプロセスで動くCOMを使っているアプリであれば、Friendlyを使ってまるでアウトプロセスCOMのように簡単に外から操作できるという話でした。で、VisualStudioには外部仕様として公開されているCOMがあるのです。あ、この内容はめ…
Friendly.PinInterface.1.2.01.3.1*1をリリースしました。 内容は、対象のオブジェクトがSystem.__ComObjectだった場合の対応です。 前回の話はこの前振りでした。 Friendly.PinInterfaceって何? Friendlyの操作に型を与え、実装時にインテリセンスが使える…
Friendlyのマニアックな機能にOperationTypeInfoというものがあります。 僕以外に知っている人は、世界に10人いないでしょうねw OperationTypeInfo - 株式会社Codeer (コーディア)例えば、こんなクラスを操作するとして、 class Parent { int data; } class …
Friendlyの便利なところは、通常のAPIをRPCでプロセス越しに呼び出せること、DLLインジェクションでテスト時だけ対象プロセスにコードを注入できることです。 この機能を使えば、サードパーティー製のコントロールも簡単に操作できます。 と言うわけで、Infa…
NuGet Gallery | Friendly.WPFStandardControls 1.6.0 今回は機能追加です。 ボタン検索 前回のバージョンアップでは、DependencyObjectに対して、バインディングとタイプで検索する機能を追加しました。 Friendly.WPFStandardControls.1.3.0をリリースしま…
おかげさまで、二回目の受賞となりました。 これも支えてくださった皆様のおかげです。去年は初年度ということで色々な経験をさせていただきました。 特に印象に残ったのはグローバルサミットと、MVP Showcaseですね。何と2位になりました! MVP Showcase Wi…
あれ?って思ったことシリーズ第二弾。つい先日、Cで書かれた組み込み機器と通信するプログラムをC#で書きました。 で、テストを書くときに、@neueccさんのChaining Assertionを使いました。 これは、Assert書くのを気持ちよくしてくれるライブラリです。こ…
Frienldyはdynamicを使うライブラリです。 で、dynamicって書いててちょっと直感的でない時があるんです。 よく考えると、「そうだよね。」ってなるんですけど、僕もハマったので書いておきます。 引数に渡すと、対象の関数まで動的になる 例えば、こんなメ…
WPF系の機能追加です。 x:Name以外でのコントロールの特定 x:Nameを付けるのは、なんら恥じることはありません。テスタビリティーを向上させるという大義名分があります。付けても使わないようにしたらいいだけです。だいたい、x:Name付けなくてもコードビハ…
タイトルの通りです。 それに伴って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内容は不…
今回はテストシナリオ実装やってみます。(やっと これを元に作っていきます。 Ishikawa-Tatsuya/HandsOn14-2 · GitHubテストシナリオはテストチームの方が書くことを前提としています。若干のプログラム知識とトレーニングで書ける(はず)です。 追加画面の…
お久しぶりです・・・ だいぶ空いてしまいました。 ブログって一回書かなくなるとダメですね。 気を取り直してテストシナリオの共通部分の抽出行きましょう。 あれ?シナリオ書くって言ってなかった? はい。 Friendly ハンズオン 13 アプリケーションドライ…
久しぶりのリリースです。 NuGet Gallery | Packages matching codeerまあ、表題のもの以外も参照バージョンが変わるので全部更新しているのですがw ちょっと解説します。 解説用のコードはこちらからダウンロードできます。何ができるようになったかと言う…
前回の続きです。 あと、ひと手間かけてやりましょう。それは対象プロセスのデバッグです。 デグレ検出→調査したい 自動検査でデグレを検出しました!作った甲斐がありましたね! では調査しましょう。もちろん対象プロセスはデバッガから起動したもので調査…
前回の続きです。 今回は対象アプリのライフサイクルの管理に関してやります。 あれ?でも今までも起動と終了を管理してましたよね。 それだけではダメなんでしょうか?もちろん、今までのでもOKです。 一つのテストごとにexeを起動しなおすと、前回のテスト…
前回までで、通常操作に関しての実装は完了して、思い通りにアプリを操作できるところまで行きました。 で、今回はテスト自動化で困りがちな点の対応を考えていきます。これもアプリケーションドライバ層で吸収すれば良いと思います。ここから先はAppDriver…
前回の続きです。読んでない方は、そちらを先に読んでください。 前回作ったアプリケーションドライバでは「内部仕様」と「操作技術」の隠蔽度が不十分ってことでしたね。 では改善してみます。 内部仕様の隠蔽 _app.MainForm.ListBoxEmployee.Dynamic().Ite…
今回はアプリケーションドライバの話です。 Frienldyは内部APIを使って効率的に自動化を実現するためのライブラリです。でも、内部APIは文字通り内部仕様にあたるので、テストシナリオにそのまま出てきては、テストのメンテ、作成効率が落ちます。外部仕様が…
今回はTestAssistantというツールを使ってみます。 タイトルは若干釣りです。 キャプチャリプレイ好きな人もいるのでw TestAssistantとは Friendlyとその上位ライブラリを使ったテストの作成の効率を上げるためのツールです。 何ができるの? 意外と多機能な…
今回はWPFのGUIコントロールの操作です。 これは、めとべやさんと協力して作っています。ソースコードはこちらです。 Roommetro/Friendly.WPFStandardControls · GitHub現在以下のものに対応しています。 WPF用は近いうちに機能追加していこうと思っています…
前回はWin32用の上位ライブラリのNativeStandardControlsを使う練習でした。 今回は、さらに実践的に.Netで出てくるWin32のWindowに対応してみます。 先にネタをバラしておきます。 操作方法は書きますが、最終的にはメッセージボックス以外は操作しない方が…
今回はWin32の話です。 プロダクトによっては、過去の資産を持っていて、一部ネイティブで作っているものもありますよね。 そうでなくて完全な.Netのアプリでも、実はネイティブの画面は出てくるのです。 と言うことで、ネイティブの画面も操作できるように…