JP5226093B2 - プロセス内コンポーネントのオブジェクト作成方法およびシステム - Google Patents
プロセス内コンポーネントのオブジェクト作成方法およびシステム Download PDFInfo
- Publication number
- JP5226093B2 JP5226093B2 JP2011019620A JP2011019620A JP5226093B2 JP 5226093 B2 JP5226093 B2 JP 5226093B2 JP 2011019620 A JP2011019620 A JP 2011019620A JP 2011019620 A JP2011019620 A JP 2011019620A JP 5226093 B2 JP5226093 B2 JP 5226093B2
- Authority
- JP
- Japan
- Prior art keywords
- process component
- component
- request
- application
- test
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
1) アプリケーションのメモリの解析。この方法では、プロセス内コンポーネントが開始され、アプリケーションにロードされると、アプリケーションのメモリ内でコンポーネントへのアクセスが可能になる。そして、メモリ内のデータを解析することにより、コンポーネントのデータを取得することができる。この手法は、あるアプリケーションの同じコンポーネントの異なるオブジェクトと、異なるアプリケーションの同じコンポーネントオブジェクトとを解析および処理する必要があるため、きわめて複雑である。
2) コンポーネントハンドラによるコンポーネントオブジェクトの取得。この方法では、アプリケーション内のコンポーネントハンドラを用いてコンポーネントオブジェクトにアクセスし、コンポーネントオブジェクトの機能または方法をさらに起動することにより、コンポーネントを取得および動作させることができる。この手法は、ターゲットアプリケーションの開発に使用される言語に依存する。例えば、VBで開発されたアプリケーションとVCで開発されたアプリケーションでは、コンポーネントオブジェクトを取得するための手法が互いに異なる。
・テストクライアントマスタモジュール101は、テストケースを共有データ記憶手段300にロードし、テストフローを管理するための、クライアントアプリケーションのマスタモジュールとして構成されている。
・テスト開始手段102は、テストプロキシウィンドウ手段203を検索し、検索されたテストプロキシウィンドウ手段203に、テストケースの識別(ID)の集合とテスト命令を送信するように構成されている。
・テスト対象アプリケーションマスタモジュール201は、プロセス内コンポーネント手段202やテストプロキシウィンドウ手段203等の他のモジュールおよび手段をロードするための、テスト対象アプリケーションのマスタモジュールとして構成されている。
・プロセス内コンポーネント手段202は、テスト対象アプリケーションのプロセスにおいてクライアントとして実行され、当該プロセスの一部として動作するための、テスト対象アプリケーションのプロセス内コンポーネント(例:.dllや.ocxファイル)として構成されている。
・埋め込みテストプロキシウィンドウ手段203は、テストプロキシモジュールとして構成されている。埋め込みテストプロキシウィンドウ手段203は、ユーザに表示されない(不可視の)手段であり、テスト対象アプリケーションと共に開始される。埋め込みテストプロキシウィンドウ手段203は、起動テストのためのテスト命令をテスト開始手段102から受信し、テストクライアントマスタモジュール101によってロードされたテストケースを共有データ記憶手段から読み取り、テストケース内のテストステップに従って、テスト結果を取得するのに望ましい方法でプロセス内コンポーネント手段202を動作させ、テスト結果を共有データ記憶手段に書き込む。
−共有データ記憶手段300は、テストケースとテスト結果を記憶するために構成されている。テスト対象アプリケーションに埋め込まれたテストプロキシウィンドウ手段203と、テストクライアントマスタモジュール101は、共有データ記憶手段に対して読み取りと書き込みの操作を実行することができる。
プロセス外コンポーネントを使用してプロセス内コンポーネントオブジェクトのインタフェースを取得できるため、プロセス内コンポーネントオブジェクトを直接動作させることができる。
プロセス内コンポーネントのオブジェクトがプロセス外コンポーネントによって作成され、単一のプロセス内コンポーネントの異なるオブジェクトを個別に解析および処理する必要がないため、プログラミングの複雑性が軽減される。
・テストクライアントマスタモジュール101は、テストフローを管理するための、クライアントアプリケーションのマスタモジュールとして構成されている。
・プロセス外コンポーネントオブジェクトインタフェースクエリ手段103は、プロセス外コンポーネントオブジェクトのインタフェースをクエリするように構成されている。
・プロセス内コンポーネントオブジェクトインタフェース取得手段104は、プロセス外コンポーネントオブジェクトインタフェースクエリ手段103のクエリに従い、プロセス外コンポーネントオブジェクトのインタフェースを介して、プロセス外コンポーネントによって提供されるサービスにアクセスするように構成されている。
・プロセス内コンポーネント動作/データ取得手段105は、プロセス内コンポーネントを自由にかつ便利な方法で動作させ、プロセス内コンポーネントオブジェクトインタフェース取得手段104によって取得されたプロセス内コンポーネントオブジェクトのインタフェースを介して、プロセス内コンポーネントのデータを取得するための、サービス論理処理手段として構成されている。
・ テスト対象アプリケーションマスタモジュール201は、テスト対象アプリケーションを起動し、コンポーネントリダイレクト手段204やプロセス外コンポーネント手段205などの他のモジュールおよび手段をロードするための、テスト対象アプリケーションのマスタモジュールとして構成されている。
・ プロセス内コンポーネント手段202は、テスト対象アプリケーションのプロセス内でクライアントとして実行され、当該プロセスの一部として動作するための、テスト対象アプリケーションのプロセス内コンポーネント手段(例:.dllまたは.ocxファイル)として構成されている。
・ コンポーネントリダイレクト手段204は、プロセス内コンポーネントのオブジェクトを作成するために、テスト対象アプリケーションから発行された、プロセス内コンポーネント手段202の場所を特定するよう求める要求を、プロセス外コンポーネント手段205へ転送するように構成されている。
・ プロセス外コンポーネント手段205は、プロセス内コンポーネントのオブジェクトを作成し、作成されたプロセス内コンポーネントのオブジェクトのインタフェースを記録する機能を提供するように構成されている。プロセス外コンポーネント手段205はさらに、記録されたプロセス内コンポーネントのオブジェクトのインタフェースを取得するサービスを外部に提供するように構成されている。これにより、他のアプリケーションは、プロセス外コンポーネント手段205のインタフェースをクエリすることによりこれにアクセスし、当該手段によって提供されるサービスを使用して、記録されたプロセス内コンポーネントのオブジェクトのインタフェースを取得することができる。
・ プロセス外コンポーネント埋め込み手段206は、プロセス外コンポーネント手段を(テスト対象の)アプリケーションに埋め込むように構成されている。
spreadsheet.SetCellData(1,1,20);
spreadsheet.SetCellData(1,2,30);
spreadsheet.SetCellData(1,3,“=(A1+B1)”);
spreadsheet.ShowAbout().
202:プロセス内コンポーネント手段
203:テストプロキシウィンドウ
101:テストクライアントマスタモジュール
102:テスト開始手段
300:共有データ記憶手段
204:コンポーネントリダイレクト手段
2041:要求インターセプト手段
2042:場所特定手段
206:プロセス外コンポーネント埋め込み手段
205:プロセス外コンポーネント手段
2051:情報解析手段
103:プロセス外コンポーネントオブジェクトインタフェースクエリ手段
104:プロセス内コンポーネントオブジェクトインタフェース取得手段
105:プロセス内コンポーネント動作/データ取得手段
Claims (8)
- プロセス内コンポーネントのオブジェクト作成方法であって、
前記プロセス内コンポーネントのオブジェクトを作成し、作成されたプロセス内コンポーネントのオブジェクトのインタフェースを記録することのできるプロセス外コンポーネントのオブジェクトを作成するプロセス外コンポーネントを、アプリケーションに埋め込むステップと、
前記アプリケーションを起動するステップと、
前記プロセス外コンポーネントのオブジェクトを作成するために、プロセス内コンポーネントのオブジェクトを作成するためにアプリケーションから発行された、プロセス内コンポーネントの場所を特定するよう求める要求を、プロセス外コンポーネントに転送するステップと、
前記要求に基づいて前記プロセス外コンポーネントが作成した前記プロセス外コンポーネントのオブジェクトによって前記プロセス内コンポーネントのオブジェクトを作成し、作成されたプロセス内コンポーネントのオブジェクトのインタフェースを記録するステップと
を有することを特徴とするオブジェクト作成方法。 - 前記プロセス内コンポーネントに関する情報を取得し、オブジェクトを作成すべきプロセス内コンポーネントを決定するために、要求を受信したプロセス外コンポーネントにおいて当該要求を解析するステップをさらに有することを特徴とする請求項1に記載のオブジェクト作成方法。
- 要求をプロセス外コンポーネントへ転送するステップが、
前記アプリケーションから発行された、プロセス内コンポーネントの場所を特定するための要求をインターセプトするステップと、
プロセス外コンポーネントに関するアドレス情報を取得するステップと、
プロセス外コンポーネントの場所を特定するステップと、
場所が特定されたプロセス外コンポーネントへ当該要求を転送するステップとをさらに含むことを特徴とする請求項1に記載のオブジェクト作成方法。 - 前記アプリケーション以外の他のアプリケーションにおけるクエリを介して、前記プロセス外コンポーネントのオブジェクトのインタフェースを取得可能であり、プロセス外コンポーネントのオブジェクトのインタフェースを介して、プロセス外コンポーネントのオブジェクトによって記録されたプロセス内コンポーネントのオブジェクトのインタフェースを取得可能であることを特徴とする請求項1に記載のオブジェクト作成方法。
- 取得されたプロセス内コンポーネントのオブジェクトのインタフェースを介して、当該アプリケーション以外の他のアプリケーションにおいてプロセス内コンポーネントのオブジェクトを動作可能であることを特徴とする請求項4に記載のオブジェクト作成方法。
- プロセス内コンポーネントのオブジェクトを作成するシステムであって、
プロセス内コンポーネントのオブジェクトを作成し、作成されたプロセス内コンポーネントのオブジェクトのインタフェースを記録することのできるプロセス外コンポーネントのオブジェクトを作成するプロセス外コンポーネントを、アプリケーションに埋め込むプロセス外コンポーネント埋め込み手段と、
前記アプリケーションを起動するマスタ手段と、
プロセス外コンポーネントのオブジェクトを作成するために、プロセス内コンポーネントのオブジェクトを作成するためにアプリケーションから発行された、プロセス内コンポーネントの場所を特定するよう求める要求を、前記プロセス外コンポーネントに転送するコンポーネントリダイレクト手段とを備え、
前記要求に基づいて前記プロセス外コンポーネントが作成した前記プロセス外コンポーネントのオブジェクトは、プロセス内コンポーネントのオブジェクトを作成し、作成されたプロセス内コンポーネントのオブジェクトのインタフェースを記録するように構成されることを特徴とするシステム。 - 前記プロセス外コンポーネントが、
前記プロセス内コンポーネントに関する情報を取得し、オブジェクトを作成すべきプロセス内コンポーネントを決定するために、要求を解析するための情報解析手段をさらに備えることを特徴とする請求項6に記載のシステム。 - 前記コンポーネントリダイレクト手段が、
前記アプリケーションから発行された、前記プロセス内コンポーネントの場所を特定するよう求める要求をインターセプトするための要求インターセプト手段と、
前記プロセス外コンポーネントに関するアドレス情報を取得し、プロセス外コンポーネントの場所を特定して、場所が特定されたプロセス外コンポーネントに当該要求を転送するための場所特定手段とを備えることを特徴とする請求項6に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010137014.XA CN102207856B (zh) | 2010-03-29 | 2010-03-29 | 进程内组件对象的创建方法和系统 |
CN201010137014.X | 2010-03-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011210234A JP2011210234A (ja) | 2011-10-20 |
JP5226093B2 true JP5226093B2 (ja) | 2013-07-03 |
Family
ID=44696706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011019620A Expired - Fee Related JP5226093B2 (ja) | 2010-03-29 | 2011-02-01 | プロセス内コンポーネントのオブジェクト作成方法およびシステム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5226093B2 (ja) |
CN (1) | CN102207856B (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186386B (zh) * | 2011-12-27 | 2017-10-27 | 腾讯科技(深圳)有限公司 | 应用加载方法及系统 |
CN103294561B (zh) * | 2012-03-05 | 2016-04-13 | 腾讯科技(深圳)有限公司 | 进程运行方法及装置 |
CN105446770A (zh) * | 2015-11-13 | 2016-03-30 | 邦彦技术股份有限公司 | 一种可节省存储芯片的集中存储方法及多功能模块系统 |
CN108470125B (zh) * | 2018-02-09 | 2021-01-19 | 北京明朝万达科技股份有限公司 | 一种基于虚拟桌面的ole重定向方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030050983A1 (en) * | 2001-09-12 | 2003-03-13 | Johnson Paul A. | External event processor system and method |
CN100340997C (zh) * | 2004-09-04 | 2007-10-03 | 华为技术有限公司 | 一种应用程序的自动测试方法 |
CN100365583C (zh) * | 2006-08-03 | 2008-01-30 | 华为技术有限公司 | 组件的实现方法以及系统 |
US8239832B2 (en) * | 2007-05-25 | 2012-08-07 | Microsoft Corporation | In-process debugging using external debugging infrastructure |
-
2010
- 2010-03-29 CN CN201010137014.XA patent/CN102207856B/zh not_active Expired - Fee Related
-
2011
- 2011-02-01 JP JP2011019620A patent/JP5226093B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN102207856B (zh) | 2014-08-27 |
CN102207856A (zh) | 2011-10-05 |
JP2011210234A (ja) | 2011-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110297689B (zh) | 智能合约执行方法、装置、设备及介质 | |
US8141056B2 (en) | Just-in-time dynamic instrumentation | |
US20150039287A1 (en) | Translating textual information of an application | |
WO2016192556A1 (zh) | 接口调用方法、装置及终端 | |
US9235495B2 (en) | Method and system that provides an interactive debugging session | |
US9720654B2 (en) | Modifying a middleware | |
US20100218106A1 (en) | Automatically Selecting Internet Browser and Providing Web Page Service | |
JP2019053729A (ja) | スマートコントラクトのテスト方法及びテスト装置 | |
US10474479B1 (en) | Preventing framework conflicts for multi-OS applications | |
US8839215B2 (en) | String cache file for optimizing memory usage in a java virtual machine | |
WO2014048240A1 (zh) | 使用浏览器中内置ActiveX插件的方法和客户端 | |
CN106648569B (zh) | 目标序列化实现方法和装置 | |
US20090178028A1 (en) | Method and system for invoking just-in-time debugger | |
JP5226093B2 (ja) | プロセス内コンポーネントのオブジェクト作成方法およびシステム | |
US20160124795A1 (en) | Evaluation method and apparatus | |
US20170286140A1 (en) | Java-based offload service in a mainframe environment | |
US20200201746A1 (en) | Data verification apparatus, data verification method, and coputer readable medium | |
US8291401B2 (en) | Processing symbols associated with shared assemblies | |
CN112860507B (zh) | 分布式链路跟踪系统采样率的控制方法和装置 | |
US20080215830A1 (en) | Employing a data structure of readily accessible units of memory to facilitate memory access | |
CN113792299B (zh) | 一种基于ftrace技术的Linux系统保护方法 | |
US20160371083A1 (en) | Lock Free Streaming of Executable Code Data | |
JP3022837B2 (ja) | サービス機能提供装置および提供方法 | |
JP2006172204A (ja) | 情報処理装置、情報処理方法、コンピュータプログラム及び記憶媒体 | |
CN113296834A (zh) | 一种基于逆向工程的安卓闭源服务类型信息提取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121105 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130204 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130225 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130313 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160322 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |