JP5251863B2 - Program for recording user interface component information and recording / reproducing user interface operations using a tree structure - Google Patents

Program for recording user interface component information and recording / reproducing user interface operations using a tree structure Download PDF

Info

Publication number
JP5251863B2
JP5251863B2 JP2009299384A JP2009299384A JP5251863B2 JP 5251863 B2 JP5251863 B2 JP 5251863B2 JP 2009299384 A JP2009299384 A JP 2009299384A JP 2009299384 A JP2009299384 A JP 2009299384A JP 5251863 B2 JP5251863 B2 JP 5251863B2
Authority
JP
Japan
Prior art keywords
user interface
program
record
information
function
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.)
Active
Application number
JP2009299384A
Other languages
Japanese (ja)
Other versions
JP2011129078A (en
Inventor
正昭 井川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
1st Holdings Inc
Original Assignee
1st Holdings Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 1st Holdings Inc filed Critical 1st Holdings Inc
Priority to JP2009299384A priority Critical patent/JP5251863B2/en
Publication of JP2011129078A publication Critical patent/JP2011129078A/en
Application granted granted Critical
Publication of JP5251863B2 publication Critical patent/JP5251863B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Description

この発明は、様々なユ−ザ・インタフェイスを持つアプリケ−ションにおける、ユ−ザ・インタフェイスの構成要素情報の記録およびユ−ザ・インタ−フェイス操作を記録再生するためのプログラムに関する。  The present invention relates to a program for recording user interface component information and recording / reproducing user interface operations in an application having various user interfaces.

I.グラフィカル・ユ−ザ・インタフェイス
多くの現代のコンピュ−タ・システムでは、ユ−ザは、グラフィカル・ユ−ザ・インタフェイス(「GUI」)を介してソフトウェア・プログラムと対話している。基本的に、GUIは、コンピュ−タとユ−ザの間のインタ−フェ−スであり、ユ−ザ入力を求め、プログラムの出力を提示するために、単に言葉だけでなく画像を用いる。典型的なGUIは、ユ−ザ・インタフェイス要素(「UI要素」)から構成され、これは、ユ−ザに見える、聞こえる、あるいは、ユ−ザが知覚または対話する、コンピュ−タ・システムまたはプログラムの外観である。例えば、UI要素には、アイコン、ボタン、ダイアログ・ボックス、編集ボックス、リスト・ボックス、コンボ・ボックス、スクロ−ル・バ−、ピック・リスト、プッシュ・ボタン、ラジオ・ボタン、および、ワ−ルド・ワイド・ウェブのペ−ジの様々なコンポ−ネント(例えばハイパ−リンクや画像)などのアイテムが含まれる。典型的なコンピュ−タ・プログラムでは、誇張なしに、数千ものUI要素に遭遇するのは通常のことである。
I. Graphical User Interface In many modern computer systems, a user interacts with a software program via a graphical user interface (“GUI”). Basically, a GUI is an interface between a computer and a user that uses images as well as words to seek user input and present the output of the program. A typical GUI is made up of user interface elements ("UI elements"), which are computer systems that are visible, audible, or perceived or interacted by the user. Or the appearance of the program. For example, UI elements include icons, buttons, dialog boxes, edit boxes, list boxes, combo boxes, scroll bars, pick lists, push buttons, radio buttons, and worlds. Includes items such as various components (eg, hyperlinks and images) of the wide web page. In a typical computer program, it is normal to encounter thousands of UI elements without exaggeration.

GUIの個々の要素は、ユ−ザに単一のアイテムに見えることがあるが、実際は、いくつかの別々のアイテムから構成されていたり、または下位要素が一緒に組み合わされていたりすることがある。例えば、ツ−ル・バ−・アイテムは、リスト要素、コンボ・ボックス要素、およびスクロ−ル・バ−要素などから構成される。さらに、これらの各下位要素それ自体が、他の下位要素から構成されることもある。このように、UI要素は、より複雑な他のUI要素を構築するための構築ブロックの役割をすることができる。このような手法は、ユ−ザ・インタフェイス(「UI」)を管理するソフトウェアが、一定の共通要素の定義を、それらを複合要素に組み立てるときに再利用することができるので便利である。  Individual elements of the GUI may appear to the user as a single item, but may actually consist of several separate items, or sub-elements may be combined together . For example, a tool bar item includes a list element, a combo box element, a scroll bar element, and the like. In addition, each of these subelements may itself be composed of other subelements. In this way, UI elements can serve as building blocks for building other more complex UI elements. Such an approach is convenient because software that manages the user interface ("UI") can reuse certain common element definitions when assembling them into composite elements.

GUI環境における多くのUI要素は、プログラムの機能を表し、コンピュ−タ・スクリ−ン上に表示され、したがって、ユ−ザは、それらを選択し、強調表示し、それにアクセスし、操作を行うことによって、プログラムと対話することができる。このユ−ザの対話は、画面上の(通常マウスまたはキ−ボ−ドによって制御される)ポインタを操作し、ポインタがUI要素を指しているときに、ボタンを押すかまたはクリックすることによって行われる。例えば、ワ−ド・プロセッサでは、ユ−ザは、マウスを操作することにより、プログラムのメニュ−・バ−上の項目を選択すること、ツ−ル・バ−にあるアイコンをクリックすること、または、表示ウィンドウ内の文字のブロックを強調表示することができる。同様に、ユ−ザは、コンピュ−タ・アプリケ−ションと対話するためにキ−ボ−ドによる入力を用いることができる。例えば、ワ−ド・プロセッサ・プログラムでは、ユ−ザは、「ALT−F」、「CTRL−B」、または他の予め定義されたキ−・ストロ−クの組合せを押すことによって、プログラムの諸機能にアクセスすることができる。マウスまたはキ−ボ−ドからの入力に基づいて、コンピュ−タは、画面上に表示されるものに対して追加、変更、および操作を行うことができる。GUI技術は、ユ−ザがコンピュ−タ・システムと対話するための便利でユ−ザ・フレンドリな環境を提供する。  Many UI elements in the GUI environment represent the functionality of the program and are displayed on the computer screen, so the user can select, highlight, access and manipulate them. Can interact with the program. This user interaction is by manipulating a pointer (usually controlled by a mouse or keyboard) on the screen and pressing or clicking the button while the pointer points to a UI element. Done. For example, in a word processor, the user can select an item on the menu bar of the program by operating the mouse, click on an icon on the tool bar, Alternatively, a block of characters in the display window can be highlighted. Similarly, a user can use keyboard input to interact with a computer application. For example, in a word processor program, the user can press the “ALT-F”, “CTRL-B”, or other predefined keystroke combination to program You can access various functions. Based on input from a mouse or keyboard, the computer can add, change, and manipulate what is displayed on the screen. GUI technology provides a convenient and user-friendly environment for users to interact with computer systems.

II.マクロ・ビルダおよびUIレコ−ダ
GUI環境においてユ−ザのコンピュ−タとの対話を記録および再生する能力は、事業体(または他の大規模な組織)、ユ−ザ、ソフトウェア開発者、テスト担当者、およびコンピュ−タ・サポ−ト担当者を含めた多数の当事者に利益をもたらす可能性がある。例えば、事業組織は、サプライ・チェ−ン・マネジメント用のソフトウェアを使用するなどして、ビジネスのプロセスの多くを自動化することによって、そのプロセスを合理化することができる。一連の入力されるアクションを、単一のステップで引き起こされる再生アクションに一体化するマクロまたはスクリプトを作成することによってユ−ザは利益を得る。ソフトウェア開発者は、開発中のソフトウェアのテスト・ケ−スを生成するのを支援する、ユ−ザのアクションを記録する能力を使用することができる。テスタは、自動回帰テストを実施するための試験を構築するために、記録および再生ツ−ルを使用することができる。コンピュ−タ・サポ−ト担当者は、コンピュ−タのクラッシュまたはハングの原因を発見するために、あるいはソフトウェアの使用の仕方をユ−ザが理解するのを援助するために、ユ−ザのアクションを記録することができる。
II. Macro Builders and UI Recorders The ability to record and replay user interactions in a GUI environment is not limited to business entities (or other large organizations), users, software developers, tests It may benefit a number of parties, including personnel and computer support personnel. For example, business organizations can streamline their processes by automating many of their business processes, such as by using software for supply chain management. Users benefit from creating macros or scripts that integrate a series of input actions into a replay action triggered in a single step. Software developers can use the ability to record user actions to help generate test cases for software under development. The tester can use recording and playback tools to build a test for performing an automatic regression test. A computer support representative is responsible for finding the cause of a computer crash or hang, or to assist the user in understanding how to use the software. Actions can be recorded.

A.市販のマクロ・ビルダ
多くの従来のマクロ・ビルダ・プログラムは、ある機能を実行するコンピュ−タまたはアプリケ−ションによって受け取られた内部コマンドおよびアクションを表すスクリプトを生成する。しかし、多くの事例では、ユ−ザは、1組のスクリプト・コマンドおよび複雑なプログラミング構成に基づいて、独力でスクリプトを開発しなければならない。したがって、ユ−ザは、プログラミング論理を理解し、ある程度、制御されるプログラムの内在する論理を理解して、マクロを作成し使用する必要がある。例えば、マクロ・プログラムの自動化は、ドラッグ・アンド・ドロップ・タスク・ビルダを使用して、具体的なステップを、それらが実行されるべき順序でドラッグ・アンド・ドロップすることによって、マクロ・スクリプトを作成するが、このことは、自動化のユ−ザが、どの順番でどのようにコマンドが発行されるべきかを理解する必要があることを意味する。マクロスケジュ−ラ−は、ユ−ザが、(実際に宣言された変数、および他のユ−ザ定義された構造体を含まずに)200余りのスクリプト・コマンドおよびプログラム構成を用いてマクロ・スクリプトを書くことを可能にするマクロ作成プログラムである。このようなマクロ・プログラムで生成されるスクリプトを作成し編集することに必要とされる複雑さ、ならびに、このようなマクロ・ビルダによって生成されるスクリプトが、UIアクティビティの実際のステップを追った分かり易い記録を表していない事実は、特に、初心者のユ−ザ、ならびに問題を解決しようとするコンピュ−タ・サポ−ト担当者およびソフトウェア開発者にとって、これらのマクロ・プログラムの実用性を低いものにする。
A. Commercial Macro Builder Many conventional macro builder programs generate scripts that represent internal commands and actions received by a computer or application that performs a function. However, in many cases, users must develop scripts on their own based on a set of script commands and a complex programming configuration. Thus, the user needs to understand the programming logic and to some extent understand the underlying logic of the controlled program to create and use macros. For example, macro program automation uses a drag-and-drop task builder to create macro scripts by dragging and dropping specific steps in the order in which they should be executed. This means that the automation user needs to understand in what order and how the commands should be issued. The macro scheduler allows a user to create macro macros using over 200 script commands and program constructs (not including the actual declared variables and other user-defined structures). A macro creation program that allows you to write scripts. The complexity required to create and edit scripts generated by such macro programs, as well as the scripts generated by such macro builders follow the actual steps of the UI activity. The fact that they do not represent easy records makes these macro programs less practical, especially for novice users and computer support professionals and software developers trying to solve problems. To.

B.内部マクロ言語
市販のマクロ作成ソフトウェアに対する代替として、多くのアプリケ−ションは、それら自体の専用のアプリケ−ション制御言語(「マクロ言語」)を使用してマクロを記録し再生するための組み込まれた能力を有している。アプリケ−ションのマクロ言語は、通常は、そのアプリケ−ションに固有のもので、一般に、アプリケ−ションの内部のオブジェクトモデル(「IOM」)に基づいている。オブジェクト指向の手法なしにマクロ言語を構築することが可能であるが、ほとんどの内部モデルは、プログラムの構造にオブジェクト指向表現を用いている。IOMは、プログラムに内在するオブジェクトの、クラス、属性、オペレ−ション、パラメ−タ、リレ−ションシップ、および関連付けについてのアクセス可能なアウトラインまたはモデルを提供する。マクロ言語は、そのアプリケ−ションのIOMにアクセスし、その通信メカニズム(イベント呼出しなど)をフックして、アプリケ−ション内の機能にアクセスしそれを呼び出す。例えば、MicrosoftWordのユ−ザは、文章を自動的にフォ−マットするためにマクロを記録することができる。しかしながら、ほとんどのマクロ言語の主な欠点は、それらがアプリケ−ション特有のものであることである。あるアプリケ−ションによって記録されたマクロは、通常、特に2つのアプリケ−ションが競合するソフトウェア会社によって開発された場合、他のアプリケ−ションによってサポ−トされない。いくつかのケ−スでは、アプリケ−ションのあるバ−ジョンで記録されたマクロは、そのアプリケ−ションのその後のバ−ジョンでサポ−トされない。
B. Internal Macro Language As an alternative to commercially available macro creation software, many applications are built-in for recording and playing back macros using their own dedicated application control language (“macro language”). Has the ability. An application's macro language is typically specific to the application and is generally based on an object model ("IOM") inside the application. Although it is possible to build a macro language without an object-oriented approach, most internal models use object-oriented representations in the program structure. The IOM provides an accessible outline or model for classes, attributes, operations, parameters, relationshipships, and associations of objects inherent in the program. The macro language accesses the application's IOM, hooks its communication mechanism (such as an event call), and accesses and invokes functions within the application. For example, Microsoft Word users can record macros to automatically format text. However, the main drawback of most macro languages is that they are application specific. Macros recorded by one application are usually not supported by other applications, especially if developed by a software company where the two applications compete. In some cases, a macro recorded in a version with an application is not supported in a later version of that application.

C.マクロへの依存
マクロを開発することは難しいことがあり、多くのユ−ザおよび事業体は、既存のマクロを、ブレ−ク(失敗)させる可能性がある何かをすることに躊躇する。特に事業体は、そのビジネス・プロセスに悪影響を及ぼす可能性があることはどのようなものでも躊躇する。実際、多くのユ−ザおよび事業体は、何かを「壊す」ことを恐れて、ソフトウェアのアップグレ−ドやまたパッチのインスト−ルさえも躊躇する。例えば、事業体が、(例えばマクロの形態で)自動化したビジネス・プロセスを採用しており、このプロセスでは、受け取ったファックスをスキャンし、これに光学式文字認識(「OCR」)を自動的に行って、そのテキスト・ファイル版を作成し、このテキスト・ファイルのデ−タとスプレッドシ−ト上の入力コンテンツとを比較して会計情報を確認し、最後にファックスの差出人に確認の電子メ−ルを送る、ことを想定する。このようなビジネス・プロセスは、たいていは、適切に機能させるために、潜在的に複雑なマクロと、様々なソフトウェア・パッケ−ジ(例えば、スキャナ・プログラム、OCRプログラム、表計算プログラム、テキスト・ファイル・プログラムなど)を組み合わせたセットを使用する。事業体およびユ−ザは、その自動化プロセスに現在投資しているものが損なわれずにそのままであることが保証されない限り、マクロまたはソフトウェアのアップグレ−ドに関してしばしば危惧の念を抱く。
C. Dependence on macros Developing macros can be difficult, and many users and entities are reluctant to do something that can break existing macros. In particular, entities are reluctant to do anything that could adversely affect their business processes. In fact, many users and entities hesitate to upgrade software or even install patches, for fear of “breaking” something. For example, an entity employs an automated business process (eg, in the form of a macro) that scans a received fax and automatically performs optical character recognition (“OCR”) on it. Go to create a text file version, compare the text file data with the input content on the spreadsheet, check the accounting information, and finally send it to the fax sender for confirmation. -Assuming that Such business processes often require potentially complex macros and various software packages (eg, scanner programs, OCR programs, spreadsheet programs, text files, etc.) to function properly.・ Use a set that combines programs. Entities and users are often concerned about macro or software upgrades unless it is guaranteed that what they currently invest in their automation process will remain intact.

特許文献1は、様々な記録および再生ツ−ルを記載しており、これらのツ−ルのいくつかは、UIAフレ−ムワ−クを使用して、UI要素の識別値(「UID」)に基づいて入力を記録する。UIAは、GUI内のUI要素を一意に識別する複合IDを生成する。
特許文献2は、内部マクロ・デ−タを不透明ト−クンとして受け取る方法で自動化を行おうとしている。
非特許文献1は、UIの種類とUIの名前でUIを識別し、自動化を行おうとしている。
いずれにおいても、デ−タを表現するために複雑なスクリプト・コマンドまたはプログラミング構成を使用するという点で、上述のマクロツ−ルと同様の欠点を有し、手順を加工して二次利用する方法が容易ではない。
U.S. Pat. No. 6,057,031 describes various recording and playback tools, some of which use UIA frameworks to identify UI elements ("UID"). Record input based on. The UIA generates a composite ID that uniquely identifies the UI element in the GUI.
Japanese Patent Application Laid-Open No. H10-228561 attempts to automate by a method of receiving internal macro data as an opaque token.
Non-Patent Document 1 attempts to automate by identifying a UI by the type of UI and the name of the UI.
In any case, the method has the same disadvantages as the above macro tool in that a complicated script command or programming configuration is used to represent data, and the method is used secondary by modifying the procedure. Is not easy.

2004年6月15日出願の名称「Recording/PlaybackToolsforUI−basedApplications」の米国特許出願US patent application entitled “Recording / PlaybackToolsforUI-basedApplications” filed on June 15, 2004 特開2006−18827号公報JP 2006-18827 A

UWSC http://www.uwsc.infoUWSC http: // www. uwsc. info

グラフィカル・ユ−ザ・インタフェイス環境においてユ−ザのコンピュ−タとの対話を記録および再生する能力は、事業体(または他の大規模な組織)、ユ−ザ、ソフトウェア開発者、テスト担当者、およびコンピュ−タ・サポ−ト担当者を含めた多数の当事者に利益をもたらす可能性がある。しかし、記録再生ツ−ルによる業務やテストの自動化は、未だに一般的に普及しているとは言い難い。原因として、既存の技術による記録再生ツ−ルに
「スクリプトやマクロを使わずに自動化操作を構築すること」
「使用者の意図した自動化操作をユ−ザ・インタフェイスを介して確実に再生すること」
「構築した手順を加工して二次利用し易いこと」
の三点を同時に満たす物が存在していないことが挙げられる。この中のどれか一つが欠けるだけでも、利用者にとって記録再生ツ−ルによる業務やテストの自動化は、敷居が高く、工数を多く費やし、また失敗のリスクが高いものとなってしまう。なお、「使用者の意図した自動化操作を、ユ−ザ・インタフェイスを介して確実に再生すること」とは具体的には、内部APIを直接呼び出すような通常使用と異なる経路を通らないことや、再生時にマウスの動きを利用した不確実な操作を使用せずユ−ザ・インタフェイス要素を直接操作することを意味する。
また、グラフィカル・ユ−ザ・インタフェイスが正しく表示されているかどうかをテストする場合において、ユ−ザ・インタフェイスの構成要素および画面画像の情報を取得すること自体が大きな助けとなる。
本発明は、使用者が、スクリプトやマクロを使うことなく自動化操作を構築出来、使用者の意図した自動化操作をユ−ザ・インタフェイスを介して確実に再生出来、なおかつ構築した手順を加工して二次利用し易い、グラフィカル・ユ−ザ・インタフェイスの構成要素情報の記録およびユ−ザ・インタ−フェイス操作を記録再生するためのツ−ルを提供することを課題とするものである。
The ability to record and play back user interactions in a graphical user interface environment is the responsibility of an entity (or other large organization), user, software developer, or tester. And many parties, including computer support personnel, may be beneficial. However, it is difficult to say that the automation of operations and tests using recording / reproducing tools is still in widespread use. As a cause, “Building automated operations without using scripts and macros” in the recording / playback tool using existing technology
“Reliable playback of user-intended automated operations via the user interface”
“Easy to secondary use by processing the constructed procedure”
It is mentioned that there is no material that satisfies the three points. Even if one of them is missing, the automation of the work and the test by the recording / reproducing tool is high for the user, and it takes a lot of man-hours and the risk of failure. In addition, “reliably reproducing the user-intended automation operation via the user interface” specifically means that the route does not follow a different route from normal use in which an internal API is directly called. It means that the user interface element is directly operated without using an uncertain operation using the movement of the mouse at the time of reproduction.
In addition, in testing whether the graphical user interface is correctly displayed, obtaining the user interface components and screen image information is a great help.
According to the present invention, the user can construct an automated operation without using a script or a macro, can reliably reproduce the automated operation intended by the user via the user interface, and further processes the constructed procedure. It is an object of the present invention to provide a tool for recording component information of a graphical user interface and recording / reproducing user interface operations, which is easy to secondary use. .

上記目的を達成する為に、請求項1の発明であるコンソ−ルプログラムは、自動化対象プログラム(自動化対象プログラムとは、要するに本発明によって操作されるプログラムであればいかなるものでもよい。)が持つユ−ザ・インタフェイス(「UI」)の構成要素の情報(ここでユ−ザ・インタフェイスの構成要素とは、要するにユ−ザ・インタフェイス上に配置されているパ−ツであればいかなるものでもよい。ユ−ザ・インタフェイスの構成要素の情報を具体的に言えば、例えば、ユ−ザ・インタフェイスの種類、そのアイテムが持つ名前、アイテムに対してふられた通し番号、等。)を、ユ−ザ・インタ−フェイス情報記録デ−タベ−ス(ユ−ザ・インタ−フェイス情報記録デ−タベ−スとは、要するに本発明によって操作されるデ−タベ−スであればいかなるものでもよい。)から取り出し、ツリ−ビュ−形式で表示する機能と、
任意のツリ−ビュ−ノ−ドに対して操作を行った場合、ユ−ザ・インタ−フェイス操作命令(ユ−ザ・インタ−フェイス操作命令とは、要するに本発明によってデ−タベ−スレコ−ドに記録される任意の値)を、ユ−ザ・インタ−フェイス情報記録デ−タベ−スの、前記任意のツリ−ビュ−ノ−ドに対応するレコ−ドに記録する機能
を持つことを特徴とする。
In order to achieve the above object, the console program according to the invention of claim 1 has an automation target program (the automation target program may be any program that can be operated by the present invention). User interface ("UI") component information (where the user interface component is, in effect, any part located on the user interface) For example, the user interface component information can be specifically described, for example, the type of user interface, the name of the item, the serial number assigned to the item, etc. The user interface information recording database (the user interface information recording database is basically operated by the present invention). - Eat - if scan removed from may be any), tree -. And displaying the form, - views
When an operation is performed on an arbitrary tree view node, a user interface operation command (a user interface operation command is basically a database record according to the present invention). A function of recording a user interface information recording database in a record corresponding to the arbitrary tree view node. It is characterized by.

請求項2の発明であるコンソ−ルプログラムは、請求項1の発明に加え、前記ツリ−ビュ−が、ツリ−の一部をコピ−してそれを別のツリ−ノ−ドの下に張り付けることによって、新たな階層を持つツリ−を生成することが出来る機能
を持つことを特徴とする。
In addition to the invention of claim 1, the console program according to the invention of claim 2 copies the part of the tree and places it under another tree node. It is characterized by the ability to create a tree with a new hierarchy by pasting.

請求項3の発明であるコンソ−ルプログラムは、請求項1または2の発明に加え、前記ツリ−ビュ−の任意のノ−ドを選択した際に、そのノ−ドに対応する自動化対象プログラムのユ−ザ・インタフェイスの構成要素の情報および画面画像を表示する機能
を持つことを特徴とする。
In addition to the invention of claim 1 or 2, the console program of the invention of claim 3 is a program to be automated corresponding to the node when an arbitrary node of the tree view is selected. It has a function to display information and screen images of the components of the user interface.

請求項4の発明であるユ−ザ・インタフェイス制御プログラムは、ユ−ザ・インタ−フェイス情報記録デ−タベ−スに記録されたユ−ザ・インタ−フェイス操作命令を読み取り、その情報に基づき自動化対象プログラムを起動、およびその自動化対象プログラムが持つユ−ザ・インタフェイスを操作する機能と、
自動化対象プログラムが表示している画面が持つユ−ザ・インタフェイスの構成要素および画面画像の情報を取得し、それをユ−ザ・インタ−フェイス情報記録デ−タベ−スに格納する機能と、
自動化対象プログラムを終了する機能
を持つことを特徴とする。
A user interface control program according to a fourth aspect of the present invention reads a user interface operation command recorded in a user interface information recording database, and uses the information as information. A function for starting an automation target program based on the user interface and operating a user interface of the automation target program;
A function for acquiring user interface components and screen image information of the screen displayed by the program to be automated and storing it in the user interface information recording database; ,
It has the function of terminating the program to be automated.

請求項5の発明であるユ−ザ・インタフェイス制御プログラムは、請求項4の発明に加え、「ユ−ザ・インタ−フェイス操作命令の記録されたレコ−ドにユ−ザ・インタ−フェイス操作命令の記録されていない親レコ−ドがある場合、親レコ−ドにもユ−ザ・インタ−フェイス操作命令を記録する」という条件で、全てのレコ−ドを更新し、その後、最上位のレコ−ドから順に下位に向かってユ−ザ・インタ−フェイス操作命令が記録されたレコ−ドを読み取り、その各レコ−ドの情報に応じた操作を順番に自動化対象プログラムに対して行う機能
を持つことを特徴とする。
A user interface control program according to a fifth aspect of the invention includes, in addition to the invention according to the fourth aspect, "a user interface is recorded in a record in which a user interface operation instruction is recorded". If there is a parent record in which no operation command is recorded, all the records are updated under the condition that the user interface operation command is recorded in the parent record. Read the record in which the user interface operation command is recorded in order from the upper record to the lower order, and perform the operation according to the information of each record in order for the automation target program. It has the function to perform.

本発明によれば、ユ−ザ・インタ−フェイス情報記録デ−タベ−スを介した、ツリ−ビュ−を持つコンソ−ルプログラムの操作とユ−ザ・インタフェイス制御プログラムの連携により、スクリプトやマクロを作成することなく段階的に自動化操作を構築することが可能となる。
また、ユ−ザ・インタフェイス制御プログラムが、ユ−ザ・インタ−フェイス情報記録デ−タベ−スの情報に従って、自動化対象プログラムのユ−ザ・インタフェイスに対してユ−ザ・インタフェイス要素を対象として再生操作を行うことで、使用者の意図した自動化操作をユ−ザ・インタフェイスを介して確実に再生することが可能となる。これにより、ユ−ザ・インタフェイスを持つ全てのアプリケ−ションの操作を自動化することが可能となる。
また、コンソ−ルプログラムのツリ−ビュ−で、ツリ−の一部をコピ−してそれを別のツリ−ノ−ドの下に張り付けることによって新たな階層を持つツリ−を生成することが出来ることと、ツリ−ビュ−の任意のノ−ドを選択した際に、そのノ−ドに対応する自動化対象プログラムのユ−ザ・インタフェイスの構成要素の情報および画面画像を表示することにより、構築した手順を加工して二次利用し易くなり、手順の構築自体も簡略化される。
これらの結果、長年自動化普及の障害となっていた要因が取り除かれることとなる。
According to the present invention, a script is obtained by operating a console program having a tree view and a user interface control program via a user interface information recording database. It is possible to construct automated operations step by step without creating or macros.
In addition, the user interface control program sends a user interface element to the user interface of the program to be automated according to the information of the user interface information recording database. By performing the reproduction operation on the target, it is possible to reliably reproduce the automatic operation intended by the user via the user interface. This makes it possible to automate the operation of all applications having a user interface.
Also, in the tree view of the console program, a part of the tree is copied and pasted under another tree node to generate a tree with a new hierarchy. And, when an arbitrary node of the tree view is selected, information on the user interface components of the program to be automated corresponding to the node and a screen image are displayed. Thus, it becomes easy to process the constructed procedure for secondary use, and the construction of the procedure itself is simplified.
As a result, the factors that have been an obstacle to the spread of automation for many years will be removed.

本発明を適用したコンソ−ルプログラムと、このコンソ−ルプログラムにより出された命令を実行するユ−ザ・インタフェイス制御プログラムの機能的な構成を示すブロック図である。FIG. 2 is a block diagram showing a functional configuration of a console program to which the present invention is applied and a user interface control program for executing an instruction issued by the console program. コンソ−ルプログラムと、ユ−ザ・インタフェイス制御プログラムの連携動作の流れを示すフロ−チャ−トである。(初期処理)It is a flowchart showing the flow of the cooperative operation between the console program and the user interface control program. (Initial processing) コンソ−ルプログラムと、ユ−ザ・インタフェイス制御プログラムの連携動作の流れを示すフロ−チャ−トである。It is a flowchart showing the flow of the cooperative operation between the console program and the user interface control program. 図3におけるステップ120の流れを示すフロ−チャ−トである。It is a flowchart which shows the flow of step 120 in FIG. コンソ−ルプログラムの画面の例である。It is an example of a console program screen. ユ−ザ・インタフェイス情報記録デ−タベ−スのテ−ブル構造の例である。ャ−トである。It is an example of a table structure of a user interface information recording database. It is a chart.

以下、図面を参照して本発明の実施形態の一例を詳細に説明する。  Hereinafter, an example of an embodiment of the present invention will be described in detail with reference to the drawings.

図1は、本発明を適用したコンソ−ルプログラムと、このコンソ−ルプログラムにより出された命令を実行するユ−ザ・インタフェイス制御プログラムの機能的な構成を示すブロック図である。  FIG. 1 is a block diagram showing a functional configuration of a console program to which the present invention is applied and a user interface control program for executing instructions issued by the console program.

コンソ−ルプログラム1は、ツリ−ビュ−およびUI情報UI画像表示部5と、ユ−ザ操作部6と、レコ−ド作成部7と、レコ−ド読み取り部8を制御する。  The console program 1 controls a tree view and UI information UI image display unit 5, a user operation unit 6, a record creation unit 7, and a record reading unit 8.

ツリ−ビュ−およびUI情報UI画像表示部5は、自動化対象アプリケ−ションの持つユ−ザ・インタフェイス要素および画像を表示する機能を持つ。  The tree view and UI information UI image display unit 5 has a function of displaying user interface elements and images of the automation target application.

ユ−ザ操作部6およびレコ−ド作成部7は、使用者が自動化対象アプリケ−ションに対して行おうとするアクションを拾い上げ、デ−タベ−スに記録する機能を有する。例えば、「Yes」という文字を持つ「ボタン」を意味するツリ−ノ−ドのチェックボックスの状態を変更すれば、「Yes」という文字を持つ「ボタン」を意味するデ−タベ−スレコ−ドに、UI操作命令(具体的には、実行を意味する値)を記録する。  The user operation unit 6 and the record creation unit 7 have a function of picking up an action that the user intends to perform on the automation target application and recording it in the database. For example, if the state of a check box of a tree node that means “button” having a character “Yes” is changed, a database record that means “button” having a character “Yes” is displayed. The UI operation instruction (specifically, a value meaning execution) is recorded.

レコ−ド読み取り部8は、ユ−ザ・インタフェイス制御プログラム3が生成したレコ−ドを読み取り、ツリ−ビュ−およびUI情報UI画像表示部5で表示するための変換を行う。  The record reading unit 8 reads a record generated by the user interface control program 3 and performs conversion for display on the tree view and UI information UI image display unit 5.

ユ−ザ・インタフェイス情報記録デ−タベ−ス2は自動化対象アプリケ−ションのUI要素情報とその階層情報を記録するために、そのテ−ブル構造にレコ−ドの親子関係を示す項目(親にあたるテ−ブルのIDを格納する項目)を持つ。図5はユ−ザ・インタフェイス情報記録デ−タベ−ス2のテ−ブル構造の例である。  The user interface information recording database 2 is an item for indicating the parent-child relationship of records in its table structure in order to record UI element information of the application to be automated and its hierarchy information ( It has an item for storing the ID of the table corresponding to the parent). FIG. 5 shows an example of the table structure of the user interface information recording database 2.

ユ−ザ・インタフェイス制御プログラム3は、レコ−ド読み取り部9と、UI操作実行部10と、レコ−ド作成部11と、UI要素読み取り部12を制御する。  The user interface control program 3 controls the record reading unit 9, UI operation execution unit 10, record creation unit 11, and UI element reading unit 12.

レコ−ド読み取り部9は、コンソ−ルプログラム1が生成したレコ−ドを読み取り、UI操作実行部10が、様々なグラフィカル・ユ−ザ・インタフェイスを持つ任意のプログラム4に対して行う操作に変換する。  The record reading unit 9 reads a record generated by the console program 1, and the UI operation execution unit 10 performs an operation performed on an arbitrary program 4 having various graphical user interfaces. Convert to

UI操作実行部10は、様々なグラフィカル・ユ−ザ・インタフェイスを持つ任意のプログラム4に対して、ユ−ザ・インタフェイス情報記録デ−タベ−ス2から読み込んだ情報に基き、実際に再生操作を行う。ここでいう再生操作とは、ユ−ザ・インタフェイスの要素に対する直接操作を意味し、マウスによるクリック等の間接的操作ではない。例えば、「ボタンを押す」「チェックボックスのON/OFF」「テキストボックスに文字を挿入する」「メニュ−を選択する」を、UI操作実行部10が直接グラフィカル・ユ−ザ・インタ−フェイスの要素に対して行う。  The UI operation execution unit 10 actually performs an arbitrary program 4 having various graphical user interfaces on the basis of information read from the user interface information recording database 2. Perform playback operation. Here, the reproduction operation means a direct operation with respect to a user interface element, and is not an indirect operation such as clicking with a mouse. For example, “press button”, “check box ON / OFF”, “insert character in text box”, “select menu”, the UI operation execution unit 10 directly uses the graphical user interface. To the element.

UI要素読み取り部12およびレコ−ド作成部11は、様々なグラフィカル・ユ−ザ・インタフェイスを持つ任意のプログラム4の持つユ−ザ・インタフェイス要素を全て拾い上げ、それらの情報をデ−タベ−スに記録する。  The UI element reading unit 12 and the record creating unit 11 pick up all the user interface elements of an arbitrary program 4 having various graphical user interfaces, and store the information in the database. -Record in the box.

次に、本発明を適用したコンソ−ルプログラムと、このコンソ−ルプログラムにより出された命令を実行するユ−ザ・インタフェイス制御プログラムの動作について説明する。図2および図3は、コンソ−ルプログラムと、ユ−ザ・インタフェイス制御プログラムの動作の流れを示すフロ−チャ−トである。  Next, the operation of the console program to which the present invention is applied and the user interface control program for executing instructions issued by the console program will be described. 2 and 3 are flowcharts showing the operation flow of the console program and the user interface control program.

最初にコンソ−ルプログラムを起動し、コンソ−ル処理を開始する(101)、その後、使用者が自動化対象アプリケ−ションパス(コンピュ−タ上のアプリケ−ションの場所)をコンソ−ルに入力(102)すると、コンソ−ルプログラムは、その情報をデ−タベ−スに記録する(103)。コンソ−ル処理はここで一旦終了となる(104)。  First, the console program is started to start the console process (101), and then the user inputs the automation target application path (location of the application on the computer) to the console ( 102) Then, the console program records the information in the database (103). The console process is temporarily terminated here (104).

次に、ユ−ザ・インタフェイス制御プログラム側で、ユ−ザ・インタフェイス制御プログラム処理が開始される。(105)(ユ−ザ・インタフェイス制御プログラムは、コンソ−ルから直接起動しても良いし、デ−タベ−スに更新があった時のみ起動する方法でも良い)その後、ユ−ザ・インタフェイス制御プログラムは、デ−タベ−スからアプリケ−ションパスを読み取り(106)、その情報に基き、自動化対象アプリケ−ションを起動する(107)。起動した自動化対象アプリケ−ションがユ−ザ・インタフェイスのある画面を表示したら、ユ−ザ・インタフェイス制御プログラムは、その自動化対象アプリケ−ションのUI要素情報と画面画像を取得する(108)。そして、ユ−ザ・インタフェイス制御プログラムは、それらのUI要素情報と画面画像をデ−タベ−スにに記録する(109)。ユ−ザ・インタフェイス制御プログラム処理はここで一旦終了となる。(110)  Next, the user interface control program process is started on the user interface control program side. (105) (The user interface control program may be started directly from the console, or may be started only when the database is updated). The interface control program reads the application path from the database (106), and activates the automation target application based on the information (107). When the activated automation target application displays a screen with a user interface, the user interface control program acquires UI element information and a screen image of the automation target application (108). . Then, the user interface control program records the UI element information and the screen image in the database (109). The user interface control program processing ends here. (110)

次に、再びコンソ−ル側の処理となる(111)。コンソ−ルプログラムは、デ−タベ−スからUI要素情報と画面画像を読み取り(112)、ツリ−ビュ−301にUI要素情報を表示する(113)。尚、コンソ−ルは、ツリ−ビュ−の任意のノ−ドが選択されたときそのノ−ドに対応したUI情報の表示303・304を行う機能を持つ。
その後、使用者が、操作しようと思う自動化対象アプリケ−ションのUIアイテムを指定する(114)。コンソ−ルプログラムは、使用者が任意のツリ−ビュ−ノ−ドに対して実行を意味する操作を行った場合、ユ−ザ・インタ−フェイス操作命令を、ユ−ザ・インタ−フェイス情報記録デ−タベ−スの前記任意のツリ−ビュ−ノ−ドに対応するレコ−ドに記録する(115)。例えば、「Yes」という名前を持つ「ボタン」を意味するツリ−ビュ−ノ−ドのチェックボックスを外すと、デ−タベ−スの「Yes」という名前を持つ「ボタン」を意味するレコ−ドにユ−ザ・インタ−フェイス操作命令が記録される。(これは「Yesボタンをクリックする」という命令が記録されたのと同等である。)コンソ−ル処理はここで−旦終了となる(116)。
Next, the processing on the console side is performed again (111). The console program reads UI element information and a screen image from the database (112), and displays the UI element information on the tree view 301 (113). The console has a function to display UI information 303 and 304 corresponding to a node when an arbitrary node of the tree view is selected.
Thereafter, the user designates the UI item of the automation target application that the user wants to operate (114). When the user performs an operation that means execution on an arbitrary tree view node, the user interface information is transmitted to the user interface information. Recording is performed in a record corresponding to the arbitrary tree view node of the recording database (115). For example, if the check box of the tree view node that means “button” having the name “Yes” is removed, the record that means “button” having the name “Yes” in the database is displayed. A user interface operation command is recorded in the user interface. (This is equivalent to the instruction of “clicking the Yes button” being recorded.) The console processing is terminated here (116).

次に、ユ−ザ・インタフェイス制御プログラム側で、再びユ−ザ・インタフェイス制御プログラム処理が開始される。(117)(ユ−ザ・インタフェイス制御プログラムは、コンソ−ルから直接起動しても良いし、デ−タベ−スに更新があった時のみ起動する方法でも良い)その後、ユ−ザ・インタフェイス制御プログラムは、デ−タベ−スから、ユ−ザ・インタ−フェイス操作命令の記録されたレコ−ドを読み取る(118)。次に、ユ−ザ・インタフェイス制御プログラムは、ステップ107と同様に自動化対象アプリケ−ションを起動し(119)、自動化対象アプリケ−ションのUIを、ステップ118で読み取ったレコ−ドに基き操作する(120)。その後、ユ−ザ・インタフェイス制御プログラムは、ステップ120の操作終了後の自動化対象アプリケ−ションのUI要素情報と画面画像を取得し(121)、デ−タベ−スにそれらのUI要素情報と画面画像を記録する(122)。ユ−ザ・インタフェイス制御プログラム処理はここで一旦終了となる。(123)この時点で、ユ−ザ・インタフェイス制御プログラム処理は自動化対象プログラムを強制的に終了させても良い。  Next, the user interface control program process is started again on the user interface control program side. (117) (The user interface control program may be started directly from the console, or may be started only when the database is updated). The interface control program reads the recorded record of the user interface operation command from the database (118). Next, the user interface control program activates the automation target application in the same manner as in step 107 (119), and operates the UI of the automation target application based on the record read in step 118. (120). Thereafter, the user interface control program obtains UI element information and a screen image of the automation target application after the end of the operation in step 120 (121), and stores the UI element information and the UI element information in the database. A screen image is recorded (122). The user interface control program processing ends here. (123) At this point, the user interface control program processing may forcibly terminate the automation target program.

フロ−チャ−トに示すように、ステップ123終了後は、ステップ111に戻り、ステップ111からステップ123までを繰り返す。  As shown in the flowchart, after step 123 is completed, the process returns to step 111 and steps 111 to 123 are repeated.

次に、ステップ120の詳細処理に関して説明する。図4は、図3ステップ120の処理の流れを示すフロ−チャ−トである。  Next, detailed processing in step 120 will be described. FIG. 4 is a flowchart showing the flow of processing in step 120 of FIG.

ステップ120の処理開始後(201)、UI操作命令の記録されたレコ−ドを抽出する(202)。次に、「UI操作命令の記録されたレコ−ドにUI操作命令の記録されていない親レコ−ドがあれば、親レコ−ドにもユ−ザ・インタ−フェイス操作命令を記録する。」という条件で、全てのレコ−ドを更新する(203−204)。
ステップ203で、処理するレコ−ドが無くなったら、デ−タベ−スからUI操作命令の記録されているレコ−ドをIDの昇順ソ−トで抽出する(205)。次に、抽出した最初のレコ−ドからIDの小さい順に最後のレコ−ドまで、1レコ−ドずつ対応する自動化対象アプリケ−ションのUIを操作する(206−208)。
ステップ207で、処理するレコ−ドが無くなったら、全てのレコ−ドのUI操作命令を消し、実行完了状態にする(209)ことでステップ120の処理を終了する(210)。
After the processing of step 120 is started (201), the record in which the UI operation command is recorded is extracted (202). Next, if there is a parent record in which no UI operation command is recorded in the record in which the UI operation command is recorded, the user interface operation command is also recorded in the parent record. All the records are updated under the condition "(203-204)".
When there are no more records to be processed in step 203, the records in which the UI operation commands are recorded are extracted from the database by the ascending order of ID (205). Next, the UI of the automation target application corresponding to each one record is operated from the extracted first record to the last record in ascending order of ID (206-208).
When there are no more records to be processed in step 207, the UI operation command of all the records is deleted and the execution completion state is set (209), thereby completing the process of step 120 (210).

図5は、コンソ−ルプログラム1の画面図である。  FIG. 5 is a screen diagram of the console program 1.

コンソ−ルプログラム1は、UI要素301、実行ボタン302、UI画像303、UI情報304の画面を持つ。  The console program 1 has a screen of a UI element 301, an execution button 302, a UI image 303, and UI information 304.

UI要素301はツリ−ビュ−で表示され、任意のノ−ドをコピ−して、任意のノ−ドの下に張り付けることが可能である。  The UI element 301 is displayed in a tree view, and an arbitrary node can be copied and pasted under the arbitrary node.

UI要素301のツリ−ビュ−を操作後に実行ボタン302を押すことで、ツリ−ビュ−に加えられた操作をユ−ザ・インタ−フェイス情報記録デ−タベ−ス2に記録することが出来る。  By pressing the execute button 302 after operating the tree view of the UI element 301, the operation added to the tree view can be recorded in the user interface information recording database 2. .

UI要素301のツリ−ビュ−の任意のノ−ドを選択すると、それに対応したUI画面がUI画像303に、UI情報がUI情報304に表示される。  When an arbitrary node of the tree view of the UI element 301 is selected, a corresponding UI screen is displayed in the UI image 303 and UI information is displayed in the UI information 304.

本明細書に記載の技術は、例えばプログラム・モジュ−ルに含まれ、タ−ゲットとする現実または仮想のプロセッサ上のコンピュ−ティング環境で実行される、コンピュ−タ実行可能命令の一般的なコンテキストにおいて記述することができる。一般に、プログラム・モジュ−ルには、特定のタスクを実行し、または特定の抽象デ−タ型を実装する、ル−チン、プログラム、ライブラリ、オブジェクト、クラス、コンポ−ネント、および、デ−タ構造などが含まれる。様々な実施形態において、プログラム・モジュ−ルの機能を、必要に応じて、プログラム・モジュ−ル間で組み合わせたり、分割したりすることが可能である。プログラム・モジュ−ルのコンピュ−タ実行可能命令は、ロ−カルまたは分散コンピュ−ティング環境において実行することができる。  The techniques described herein are common to computer-executable instructions that are included in, for example, a program module and executed in a computing environment on a target real or virtual processor. Can be described in context. Generally, program modules include routines, programs, libraries, objects, classes, components, and data that perform particular tasks or implement particular abstract data types. Structure etc. are included. In various embodiments, the functions of the program modules can be combined or divided among the program modules as needed. Program-module computer-executable instructions can be executed in local or distributed computing environments.

提示の目的で、本明細書の詳細な説明では、コンピュ−ティング環境におけるコンピュ−タの動作を記述するために、「決定する」、「生成する」、「調整する」、および「適用する」などのような用語を使用している。これらの用語は、コンピュ−タによって行われる動作について高度に抽象化した概念であり、人間によって行われる行為と混同されるべきではない。このような用語に対応する実際のコンピュ−タの動作は、実装形態に応じて異なっている。  For purposes of presentation, the detailed description herein will “determine”, “generate”, “tune”, and “apply” to describe the operation of a computer in a computing environment. And other terms. These terms are highly abstracted concepts of actions performed by a computer and should not be confused with actions performed by humans. The actual computer operation corresponding to such terms differs depending on the implementation.

本発明の原理が適用され得る多数の可能な実施形態に鑑みて、添付の特許請求の範囲およびその均等物の範囲および趣旨に含むことができるすべての実施形態を本発明として主張する。  In view of the many possible embodiments to which the principles of the present invention may be applied, all embodiments that may fall within the scope and spirit of the appended claims and their equivalents are claimed as the invention.

「実施形態の効果」
この実施形態によれば、ユ−ザ・インタフェイス制御プログラム3と連携する形で、コンソ−ルプログラム1からツリ−ビュ−の操作のみを通じて、使用者のアクションをユ−ザ・インタ−フェイス情報記録デ−タベ−ス2に記録することが出来る。従って、スクリプトやマクロを作成することなく自動化操作を構築することが可能となる。
加えて、ユ−ザ・インタフェイス制御プログラム3は、ユ−ザ・インタ−フェイス情報記録デ−タベ−ス2の情報を読み取る機能(レコ−ド読み取り部9)と、ユ−ザ・インタフェイスを外側から操作する仕組み(UI操作実行部10)を備えている。従って、使用者の意図した自動化操作をユ−ザ・インタフェイスを介して確実に再生することが可能となる。
コンソ−ルプログラム1のUI要素301はツリ−ビュ−で表示され、任意のノ−ドをコピ−して、任意のノ−ドの下に張り付けることが可能である。従って、構築した手順を加工して二次利用し易くなる。
"Effect of the embodiment"
According to this embodiment, the user's action is transmitted to the user interface information only through the operation of the tree view from the console program 1 in cooperation with the user interface control program 3. Recording can be performed on the recording database 2. Therefore, it is possible to construct an automated operation without creating a script or a macro.
In addition, the user interface control program 3 includes a function for reading information of the user interface information recording database 2 (record reading unit 9), and a user interface. Is provided from the outside (UI operation execution unit 10). Therefore, it is possible to reliably reproduce the automation operation intended by the user via the user interface.
The UI element 301 of the console program 1 is displayed in a tree view, and an arbitrary node can be copied and pasted under the arbitrary node. Therefore, it becomes easy to process the constructed procedure for secondary use.

「他の実施形態」
ステップ120の詳細処理では、「ユ−ザ・インタ−フェイス操作命令の記録されたレコ−ドにユ−ザ・インタ−フェイス操作命令の記録されていない親レコ−ドがある場合、親レコ−ドにもユ−ザ・インタ−フェイス操作命令を記録する」という条件で、全てのレコ−ドを更新する(203−204)処理が入っているが、他の実施形態では、この処理を、操作したい自動化対象アプリケ−ションのUIアイテムに対応するデ−タベ−スレコ−ドに、ユ−ザ・インタ−フェイス操作命令を記録する(115)処理で同時に行っても良い。また、親レコ−ドに実際にユ−ザ・インタ−フェイス操作命令を記録せずに、プログラム上の変数にユ−ザ・インタ−フェイス操作命令を記録するべきレコ−ドのIDを記録しておき、その情報を元にUIを操作しても良い。
また、UI要素301はツリ−ビュ−で表示され、任意のノ−ドをコピ−して、任意のノ−ドの下に張り付けることが可能であるが、加工するためのツリ−ビュ−を別に作った方が操作しやすいので、そのようにしても良い。(例えば、別のタブに新しい二次加工用のツリ−ビュ−を表示する)
また、ステップ121で、自動化対象アプリケ−ションのUI要素情報と画面画像を取得した後に、さらにその取得したUI要素の全てをユ−ザ・インタフェイス制御プログラムが自動的に操作することで、もう1階層下まで全てのUI要素を取得するようにしても良い。これを繰り返してn階層(nは任意の整数)下まで全てのUI要素を取得するようにしても良い。
また、結果を比較する機能を追加することで、ソフトウェアテストの業務においてさらに利便性が増すことが期待される。
"Other embodiments"
In the detailed processing of step 120, “If the record in which the user interface operation command is recorded has a parent record in which the user interface operation command is not recorded, the parent record The process of updating all records (203-204) is included under the condition that the user interface operation command is also recorded in the user interface. In other embodiments, this process is The user interface operation command may be recorded (115) in the database record corresponding to the UI item of the automation target application to be operated at the same time. Also, without actually recording the user interface operation command in the parent record, the ID of the record in which the user interface operation command should be recorded is recorded in the program variable. The UI may be operated based on the information.
Further, the UI element 301 is displayed in a tree view, and an arbitrary node can be copied and pasted under an arbitrary node, but a tree view for processing. Since it is easier to operate if you make it separately, you may do so. (For example, display a new secondary tree view on another tab)
Further, after acquiring the UI element information and screen image of the automation target application in step 121, the user interface control program automatically operates all of the acquired UI elements. All UI elements may be acquired up to one level below. This may be repeated to acquire all UI elements up to n layers (n is an arbitrary integer).
In addition, it is expected that the convenience of software testing will be further increased by adding a function for comparing results.

1 コンソ−ルプログラム
2 ユ−ザ・インタフェイス(UI)情報記録デ−タベ−ス
3 ユ−ザ・インタフェイス(UI)制御プログラム
4 様々なグラフィカル・ユ−ザ・インタフェイス(GUI)を持つ任意のプログラム
301 ユ−ザ・インタフェイス(UI)要素
302 実行ボタン
303 ユ−ザ・インタフェイス(UI)画像
304 ユ−ザ・インタフェイス(UI)情報
1 console program 2 user interface (UI) information recording database 3 user interface (UI) control program 4 with various graphical user interfaces (GUI) Arbitrary program 301 User interface (UI) element 302 Execution button 303 User interface (UI) image 304 User interface (UI) information

Claims (5)

自動化対象プログラムが持つユ−ザ・インタフェイスの構成要素の情報を、ユ−ザ・インタ−フェイス情報記録デ−タベ−スから取り出し、ツリ−ビュ−形式で表示する機能と、
任意のツリ−ビュ−ノ−ドに対して操作を行った場合、ユ−ザ・インタ−フェイス操作命令を、ユ−ザ・インタ−フェイス情報記録デ−タベ−スの、前記任意のツリ−ビュ−ノ−ドに対応するレコ−ドに記録する機能
を持つことを特徴とするコンソ−ルプログラム。
A function to extract information on the user interface components of the program to be automated from the user interface information recording database and display it in a tree view format;
When an operation is performed on an arbitrary tree view node, a user interface operation command is sent to the arbitrary tree of the user interface information recording database. A console program having a function of recording in a record corresponding to a bunnode.
前記ツリ−ビュ−が、ツリ−の一部をコピ−してそれを別のツリ−ノ−ドの下に張り付けることによって新たな階層を持つツリ−を生成することが出来る機能
を持つことを特徴とする、請求項1記載のコンソ−ルプログラム。
The tree view has a function capable of generating a tree having a new hierarchy by copying a part of the tree and pasting it under another tree node. The console program according to claim 1, wherein:
前記ツリ−ビュ−の任意のノ−ドを選択した際に、そのノ−ドに対応する自動化対象プログラムのユ−ザ・インタフェイスの構成要素の情報および画面画像を表示する機能
を持つことを特徴とする、請求項1または2に記載のコンソ−ルプログラム。
When an arbitrary node of the tree view is selected, it has a function to display information and screen images of user interface components of the program to be automated corresponding to the node. The console program according to claim 1, wherein the console program is characterized.
ユ−ザ・インタ−フェイス情報記録デ−タベ−スに記録されたユ−ザ・インタ−フェイス操作命令を読み取り、その情報に基づき自動化対象プログラムを起動、およびその自動化対象プログラムが持つユ−ザ・インタフェイスを操作する機能と、
自動化対象プログラムが表示している画面が持つユ−ザ・インタフェイスの構成要素および画面画像の情報を取得し、それをユ−ザ・インタ−フェイス情報記録デ−タベ−スに格納する機能と、
自動化対象プログラムを終了する機能
を持つことを特徴とする、ユ−ザ・インタフェイス制御プログラム。
The user interface operation command recorded in the user interface information recording database is read, the automation target program is started based on the information, and the user of the automation target program has・ Function to operate interface,
A function for acquiring user interface components and screen image information of the screen displayed by the program to be automated and storing it in the user interface information recording database; ,
A user interface control program characterized by having a function to terminate the program to be automated.
「ユ−ザ・インタ−フェイス操作命令の記録されたレコ−ドにユ−ザ・インタ−フェイス操作命令の記録されていない親レコ−ドがある場合、親レコ−ドにもユ−ザ・インタ−フェイス操作命令を記録する」という条件で、全てのレコ−ドを更新し、その後、最上位のレコ−ドから順に下位に向かってユ−ザ・インタ−フェイス操作命令が記録されたレコ−ドを読み取り、その各レコ−ドの情報に応じた操作を順番に自動化対象プログラムに対して行う機能
を持つことを特徴とする、請求項4記載のユ−ザ・インタフェイス制御プログラム。
“If the record in which the user interface operation command is recorded has a parent record in which the user interface operation command is not recorded, the user record is also stored in the parent record. All records are updated under the condition that “record interface operation commands”. After that, records in which user interface operation commands are recorded in order from the top record to the bottom. 5. The user interface control program according to claim 4, wherein the user interface control program has a function of reading a code and performing an operation corresponding to the information of each record in turn on the program to be automated.
JP2009299384A 2009-12-15 2009-12-15 Program for recording user interface component information and recording / reproducing user interface operations using a tree structure Active JP5251863B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009299384A JP5251863B2 (en) 2009-12-15 2009-12-15 Program for recording user interface component information and recording / reproducing user interface operations using a tree structure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009299384A JP5251863B2 (en) 2009-12-15 2009-12-15 Program for recording user interface component information and recording / reproducing user interface operations using a tree structure

Publications (2)

Publication Number Publication Date
JP2011129078A JP2011129078A (en) 2011-06-30
JP5251863B2 true JP5251863B2 (en) 2013-07-31

Family

ID=44291570

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009299384A Active JP5251863B2 (en) 2009-12-15 2009-12-15 Program for recording user interface component information and recording / reproducing user interface operations using a tree structure

Country Status (1)

Country Link
JP (1) JP5251863B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3008872B2 (en) * 1997-01-08 2000-02-14 日本電気株式会社 GUI system automatic operation device and operation macro execution device
US7653896B2 (en) * 2004-06-30 2010-01-26 Microsoft Corporation Smart UI recording and playback framework
JP4295775B2 (en) * 2006-08-01 2009-07-15 株式会社日立情報システムズ GUI test support system and application program for test support

Also Published As

Publication number Publication date
JP2011129078A (en) 2011-06-30

Similar Documents

Publication Publication Date Title
US7653896B2 (en) Smart UI recording and playback framework
US7587668B2 (en) Using existing content to generate active content wizard executables for execution of tasks
US8170901B2 (en) Extensible framework for designing workflows
US8612806B2 (en) Systems and methods for recording user interactions within a target application
KR101120756B1 (en) Automatic text generation
US8087007B2 (en) System and method for software prototype-development and validation and for automatic software simulation re-grabbing
AU2005203508B2 (en) System and method for selecting test case execution behaviors for reproducible test automation
US8762936B2 (en) Dynamic design-time extensions support in an integrated development environment
JP4901731B2 (en) Automatic image capture for content generation
JP4395761B2 (en) Program test support apparatus and method
US20060074735A1 (en) Ink-enabled workflow authoring
AU2016201389A1 (en) Method and system for process automation in computing
JP2010191977A (en) Method of executing task in computer system with gui
JP2006526183A (en) User interface automation framework classes and interfaces
JP2006506698A (en) Multimedia file tooltip
US8930879B2 (en) Application building
WO2015042551A2 (en) Method and system for selection of user interface rendering artifacts in enterprise web applications using a manifest mechanism
US20060101406A1 (en) Object test bench
JP5251863B2 (en) Program for recording user interface component information and recording / reproducing user interface operations using a tree structure
Smyth Android Studio 3.0 Development Essentials-Android 8 Edition
Verma Extending Visual Studio
JP4925514B2 (en) Program execution control method, program, execution control apparatus, and recording medium by internal / external event driven system
Clark Developing WPF Applications
Wallman et al. D5. 6.3. 1-How to Handle SEAMLESS-IF Prototype 1, A short how-to description

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120705

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120705

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20120705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120718

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130118

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: 20130305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130401

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20130313

R150 Certificate of patent or registration of utility model

Ref document number: 5251863

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160426

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250