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

640 views

Published on

Delphiアプリのテストを自動化するライブラリの話です。

Published in: Software
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
640
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • 通常はできないよー。凄いことなんだよアピール。
  • Windowsアプリテスト自動化 [Friendly+delphi]

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

    ×