SlideShare a Scribd company logo
Friendly+Delphi
Windowsアプリテスト自動化
石川達也
Microsoft MVP for C#
株式会社Codeer代表取締役
C, C++, C#, Java, Delphi(1W)
自己紹介
Friendly とは?
Windowsアプリのテストを
自動化するためのライブラリです。
目的
どちらかというと、システムテスト
①内部メソッドの呼び出し
.Net
Field、Property、Method
Native
DLL公開関数
②DLLインジェクション
基本機能
Only One!
基本
内部メソッド操作、DLLインジェクション
Win32
(TXXにも使える)
WinForms WPF
GUI操作も簡単かつ確実にできる上位ライブラリも
Codeer で検索
eが一個多い
Nugetで無料で入手できます!
デモやります。
うちDelphiなんだけど?
話を聞くと、結構あります。
Windows系のDelphiアプリは、
歴史あるアプリが多いようです。
しかも、今もバージョンアップし続
けています。
それらにこそ、自動化された
回帰検査が必要!
デグレ厳禁!
・内部メソッドの呼び出し
.Net
Field、Property、Method
Native
DLL公開関数
・DLLインジェクション
Delphiアプリに使える機能
結構、いける!
でも・・・
Delphiの内部メソッドも呼び出せるかも?
それができたら、超便利!
Type
Target = class;
public
class function Instance : Target; static;
function Func(value : string ) : Int32;
end;
//ここは普通
var app = new WindowsAppFriend(process);
//拡張メソッドで実現。
//staticなメソッド呼び出し。
dynamic obj = app.Delphi("Target").Instance();
//インスタンスのメソッド呼び出し。
Int ret = obj.Func(“123”);
DLLインジェクション
FriendlyDelphi.dll
function InvokeStatic(pInvokeInfo : InvokeInfo) : ReturnInfo ; stdcall ;
begin
//リフレクションを使って、指定のstaticメソッドを実行!
end
function InvokeInstance(obj : TObject, pInvokeInfo : InvokeInfo) : ReturnInfo ; stdcall ;
begin
//リフレクションを使って、対象のオブジェクトのメソッドを実行!
end
FriendlyDelphi.dll
DLL公開関数呼び出し
FriendlyDelphi.dll
実行関数名、引数を渡す
dynamic obj = app.Delphi("Target").Instance();
Int ret = obj.Func(“123”);
内部でリフレクション実行!
FriendlyDelphi.dll
一緒に作ってくれる人募集中!
実は、Friendlyを使ったライブラリは
いくつか作ってもらっています!
・Codeer.Friendly.
Windows.NativeStandardControls
・Ong.Friendly.FormsStandardControls
・RM.Friendly.WPFStandardControls
・VSHTC.Frienldy.PinInterface
join us !
ご清聴ありがとうございました。
よろしくお願いします。

More Related Content

PPTX
他言語との連携(ネイティブから動的言語まで)
PPTX
Friendlyを使ったwindowsアプリテスト自動化
PPTX
Bindingからframework elementを見つける
PPTX
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
PPTX
PPTX
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
PDF
DroidKaigi - Welcome talk
PPTX
勉強会用資料:Javaアプリ作成
他言語との連携(ネイティブから動的言語まで)
Friendlyを使ったwindowsアプリテスト自動化
Bindingからframework elementを見つける
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
DroidKaigi - Welcome talk
勉強会用資料:Javaアプリ作成

What's hot (20)

PDF
初歩から始めるJava勉強会 プレゼンテーション資料
PPTX
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
PPTX
価値あるシステムテスト自動化の実現By friendly
PPTX
20160308 私とVisual Studio
PPTX
わんくま名古屋 #37 (20151114) TDD道場 #25
PPTX
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
KEY
プロ文.com 勉強会 Phase 1
PDF
.Net技術でこれからも食べていくための技術戦略
PPTX
Pythonを中心としたチーム開発
PDF
Web制作者視点で理解するソフトェアテスト
PPTX
Fitnesse を用いたテストの効率化について
PPTX
テストを書こう!!
PPTX
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
PPTX
メトロスタイルってなに?
PPTX
Visual Studio Code でプログラムをデバッグしよう!
PDF
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
PDF
DOO-015_Azure/Windows Server 2016 から学ぶ Windows 系インフラ エンジニアのための DevOps
PPTX
JavaScriptを使った開発を始めるなら!TypeScriptをはじめよう ~ ステップアップ
初歩から始めるJava勉強会 プレゼンテーション資料
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
価値あるシステムテスト自動化の実現By friendly
20160308 私とVisual Studio
わんくま名古屋 #37 (20151114) TDD道場 #25
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
プロ文.com 勉強会 Phase 1
.Net技術でこれからも食べていくための技術戦略
Pythonを中心としたチーム開発
Web制作者視点で理解するソフトェアテスト
Fitnesse を用いたテストの効率化について
テストを書こう!!
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
メトロスタイルってなに?
Visual Studio Code でプログラムをデバッグしよう!
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
DOO-015_Azure/Windows Server 2016 から学ぶ Windows 系インフラ エンジニアのための DevOps
JavaScriptを使った開発を始めるなら!TypeScriptをはじめよう ~ ステップアップ
Ad

Viewers also liked (12)

PDF
GUI Test is (not) necessary
PDF
ホントは楽しいエイブンポー
PDF
なれる!IL
PDF
めとべや東京10 Universal Windows Platform appの新しいバインディング
PDF
ドメイン『駆動』『開発』
PPTX
boost - std - C#
PPTX
30分後から すぐに使える 会話技術
PPTX
Stac2014 石川
PDF
テスト自動化のパターンと実践
PDF
「自動家(オートメータ)をつくる」-システムテスト自動化カンファレンス2014 「.reviewrc」枠発表-
PDF
ポストJenkins時代のCI戦略
PDF
How To Write Middleware In Ruby
GUI Test is (not) necessary
ホントは楽しいエイブンポー
なれる!IL
めとべや東京10 Universal Windows Platform appの新しいバインディング
ドメイン『駆動』『開発』
boost - std - C#
30分後から すぐに使える 会話技術
Stac2014 石川
テスト自動化のパターンと実践
「自動家(オートメータ)をつくる」-システムテスト自動化カンファレンス2014 「.reviewrc」枠発表-
ポストJenkins時代のCI戦略
How To Write Middleware In Ruby
Ad

Similar to Windowsアプリテスト自動化 [Friendly+delphi] (20)

PDF
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
PPTX
The evolution of c#
PDF
帰ってきた Delphi
PPTX
没セッション 知識ゼロから学んだソフトウェアテスト
PPTX
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...
PPTX
.NET vNext
PPTX
テストしなイカ? Seleniumで自動ブラウザテスト
PPTX
広がる .Net
PDF
Web開発用ツール導入のすすめ
PDF
「マルチデバイスの荒海にこぎ出す新人エンジニアのためのソフトウェア開発の心得」
PPTX
2017年のiOSアプリ開発におけるCI事情
PPTX
少し分かった気になるテスト駆動開発
PPTX
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
PPTX
Visual Studio による開発環境・プログラミングの進化
PDF
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
ODP
Delphi ideを使わない開発スタイルの紹介
PPTX
Dev ops
PDF
20120927 findjob4 dev_ops
PDF
DLR言語によるSilverlightプログラミング
PPTX
ZendStudioのご紹介
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
The evolution of c#
帰ってきた Delphi
没セッション 知識ゼロから学んだソフトウェアテスト
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...
.NET vNext
テストしなイカ? Seleniumで自動ブラウザテスト
広がる .Net
Web開発用ツール導入のすすめ
「マルチデバイスの荒海にこぎ出す新人エンジニアのためのソフトウェア開発の心得」
2017年のiOSアプリ開発におけるCI事情
少し分かった気になるテスト駆動開発
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
Visual Studio による開発環境・プログラミングの進化
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
Delphi ideを使わない開発スタイルの紹介
Dev ops
20120927 findjob4 dev_ops
DLR言語によるSilverlightプログラミング
ZendStudioのご紹介

More from Tatsuya Ishikawa (16)

PPTX
burikaigi2025.pptx Burikaigi2025でつかった資料です。
PPTX
DotNetConf2024の資料 BlazorとLowCodeと生成AIの話です
PDF
2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ
PPTX
burikaigi2024.pptx
PPTX
【オンライン】.NET 6 移行祭り! C# Tokyo イベント
PPTX
burikaigi2023
PPTX
Test to net core 3
PPTX
Test automation strategy for .net core 3 transition
PDF
Developer summit codeer
PPTX
Infragistics Web Day 2017 - 継続的な開発を支える テスト自動化技術
PPTX
Stack2017 自動化困難な状況での活動方法
PPTX
メタな感じのプログラミング(プロ生 + わんくま 071118)
PPTX
Dot netconf2017 - VS拡張
PPTX
Ride on azure~アイデアソン編~
PPTX
私とC++ in 例外安全day
PDF
XP祭り2013-LT-Codeer
burikaigi2025.pptx Burikaigi2025でつかった資料です。
DotNetConf2024の資料 BlazorとLowCodeと生成AIの話です
2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ
burikaigi2024.pptx
【オンライン】.NET 6 移行祭り! C# Tokyo イベント
burikaigi2023
Test to net core 3
Test automation strategy for .net core 3 transition
Developer summit codeer
Infragistics Web Day 2017 - 継続的な開発を支える テスト自動化技術
Stack2017 自動化困難な状況での活動方法
メタな感じのプログラミング(プロ生 + わんくま 071118)
Dot netconf2017 - VS拡張
Ride on azure~アイデアソン編~
私とC++ in 例外安全day
XP祭り2013-LT-Codeer

Windowsアプリテスト自動化 [Friendly+delphi]

Editor's Notes

  • #9: 通常はできないよー。凄いことなんだよアピール。