JP6052892B2 - Apparatus for automatically generating GUI stub, method and program thereof - Google Patents

Apparatus for automatically generating GUI stub, method and program thereof Download PDF

Info

Publication number
JP6052892B2
JP6052892B2 JP2013174593A JP2013174593A JP6052892B2 JP 6052892 B2 JP6052892 B2 JP 6052892B2 JP 2013174593 A JP2013174593 A JP 2013174593A JP 2013174593 A JP2013174593 A JP 2013174593A JP 6052892 B2 JP6052892 B2 JP 6052892B2
Authority
JP
Japan
Prior art keywords
gui
stub
control program
debugging
target software
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
JP2013174593A
Other languages
Japanese (ja)
Other versions
JP2015043147A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013174593A priority Critical patent/JP6052892B2/en
Publication of JP2015043147A publication Critical patent/JP2015043147A/en
Application granted granted Critical
Publication of JP6052892B2 publication Critical patent/JP6052892B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

本発明は、ソフトウェアのGUIを操作する制御プログラムの作成を支援する技術に関する。   The present invention relates to a technique for supporting creation of a control program for operating a GUI of software.

ソフトウェアを制御するためのインタフェースは数多く存在するが、ほとんどのソフトウェアが具備しているインタフェースとして、人による操作を想定したグラフィカルユーザインタフェース(GUI)がある。このGUIを、人ではなく他のソフトウェア(エージェント)が制御することで、GUIを具備するソフトウェアを人を介さずに操作し、当該ソフトウェアに対する作業を自動化する等の応用が近年開発されている。   There are many interfaces for controlling software. As an interface provided by most software, there is a graphical user interface (GUI) that is assumed to be operated by a human. In recent years, an application has been developed in which the GUI is controlled by other software (agent), not a person, so that the software including the GUI can be operated without a person to automate the work on the software.

GUIを自動操作するためには、GUIの制御プログラムを作成する必要がある。制御プログラムの作成/実行を行うための従来の手法として、UMS,UWSC,AutoIt等のツールが知られている(非特許文献1,2,3参照)。これらのツールによれば、GUIへの自動操作の内容をマクロ/スクリプトやフローチャートなど様々な形式で記述し、制御プログラムを作成することが可能である。   In order to automatically operate the GUI, it is necessary to create a GUI control program. As conventional techniques for creating / executing a control program, tools such as UMS, UWSC, and AutoIt are known (see Non-Patent Documents 1, 2, and 3). According to these tools, it is possible to create the control program by describing the contents of the automatic operation to the GUI in various formats such as a macro / script and a flowchart.

しかし上記の従来のツールでは、制御プログラムの作成において実際のシステム、即ち自動操作の対象となるソフトウェア(以下、対象ソフトウェア)を必要とするという問題があった。   However, the conventional tool described above has a problem that an actual system, that is, software to be automatically operated (hereinafter referred to as target software) is required to create a control program.

制御プログラムを作成する段階では、望みどおりの自動操作を得るために、試行錯誤と制御プログラムの修正(デバッグ作業)を繰り返す必要があるが、このようなデバッグ作業を対象ソフトウェア上で実施するのはリスクが大きい。その理由は、デバッグ作業の過程では完成していない制御プログラムを何度も実行することになり、間違ってデータを削除するなどの望まれない操作が対象ソフトウェアに実行/反映されてしまう可能性があるからである。対象ソフトウェアが稼働中の業務システムであるような場合、このようなリスクは許容できない。   At the stage of creating the control program, it is necessary to repeat trial and error and correction of the control program (debugging work) in order to obtain the desired automatic operation, but such debugging work is performed on the target software. Risk is great. The reason is that a control program that has not been completed is executed many times in the process of debugging, and an undesired operation such as deleting data by mistake may be executed / reflected in the target software. Because there is. If the target software is a running business system, such a risk is unacceptable.

そこで本発明では、対象ソフトウェアのGUIを操作する制御プログラムを、当該対象ソフトウェアに影響を与えることなく作成し、デバッグを可能にするという課題を解決する。   Therefore, the present invention solves the problem of enabling debugging by creating a control program for operating the GUI of the target software without affecting the target software.

上記目的を達成するために、本発明では、GUIスタブの自動生成装置、その方法およびプログラムを提案する。   In order to achieve the above object, the present invention proposes an automatic GUI stub generation apparatus, method and program thereof.

ここで、「GUIスタブ」とは、制御プログラムの作成またはデバッグ作業において対象ソフトウェアの代わりに利用できるプログラムを指し、
1.対象ソフトウェアと同じ画面(外観と構造)を有する、
2.対象ソフトウェアと同じ画面遷移を行う、
3.GUIスタブを操作したときに観測される操作イベントが対象ソフトウェアを操作したときと同じである、
という要件を有するものである。
Here, the “GUI stub” refers to a program that can be used in place of the target software in creating or debugging a control program,
1. It has the same screen (appearance and structure) as the target software.
2. Perform the same screen transition as the target software.
3. The operation event observed when operating the GUI stub is the same as when operating the target software.
It has the requirement that.

具体的には、
対象ソフトウェアのGUIを操作することで当該対象ソフトウェアに対する作業を自動化する制御プログラムの作成またはデバッグ作業に際して、前記対象ソフトウェアの代わりに利用可能なプログラムであるGUIスタブを自動的に生成する装置であって、
前記対象ソフトウェアへのオペレータによる操作を契機に、その操作内容と、そのときの対象ソフトウェアのGUIの構造情報および画像情報のペアよりなるGUI状態とを含む操作ログを取得する操作ログ取得手段と、
前記取得した操作ログを、そのGUI状態をノード、操作内容をエッジとして表した任意形式の系列として記録する操作ログ記録手段と、
前記操作ログ記録手段に記録されている系列またはこれとともにGUIスタブに対して観測された操作内容から次に再構成するGUI状態を選定して出力する遷移先選定手段と、
前記出力されたGUI状態を入力として、構造情報に含まれる全てのGUI部品を探索し、各GUI部品の個別情報を読み取り、当該個別情報に一致するようにGUI部品を作成してGUIスタブを構築するGUI構築手段と、
前記構築されたGUIスタブに対する制御プログラムの作成またはデバッグを目的とした操作内容を観測する操作観測手段と、
制御プログラムの作成またはデバッグ作業に必要な、少なくともGUIスタブに対する操作内容およびGUIスタブの構造情報を出力する情報出力手段とを備えたことを特徴とする。
In particular,
An apparatus for automatically generating a GUI stub, which is a program that can be used in place of the target software, when creating or debugging a control program that automates the work on the target software by operating the GUI of the target software ,
In response to an operation by the operator on the target software, an operation log acquisition unit that acquires an operation log including the operation content and a GUI state including a GUI structure information and a pair of image information of the target software at that time;
An operation log recording means for recording the acquired operation log as a sequence in an arbitrary format in which the GUI state is represented as a node and the operation content as an edge;
Transition destination selection means for selecting and outputting the GUI state to be reconfigured next from the series recorded in the operation log recording means or the operation contents observed for the GUI stub together with the series;
Using the output GUI state as input, search for all GUI parts included in the structure information, read individual information of each GUI part, create GUI parts to match the individual information, and build GUI stub GUI construction means to
Operation observing means for observing operation contents for the purpose of creating or debugging a control program for the constructed GUI stub;
It is characterized by comprising information output means for outputting at least the operation contents for the GUI stub and the structure information of the GUI stub, which are necessary for creating or debugging the control program.

本発明によれば、対象ソフトウェアの操作ログよりGUIスタブを自動生成し、当該GUIスタブに対して制御プログラムの作成またはデバッグ作業を行うことにより、対象ソフトウェアへの影響をなくすことができる。   According to the present invention, it is possible to eliminate the influence on the target software by automatically generating a GUI stub from the operation log of the target software and creating or debugging the control program on the GUI stub.

また、本発明の好適な形態としては、前記GUI構築部において、パラメータを入力として、画像情報によりGUIの構築を補完する処理や、GUIの実装を変換する処理、GUIの外観を変化させる処理を含むことを特徴とするものが挙げられる。   As a preferred embodiment of the present invention, the GUI construction unit performs processing for complementing GUI construction by image information, processing for converting GUI implementation, and processing for changing the GUI appearance, using parameters as input. The thing characterized by including is mentioned.

即ち、対象ソフトウェアと完全に同じGUIを構築するだけではなく、パラメータに応じてJava(登録商標)で実装されたGUIをWeb用のGUIに変換して構築したり、制御プログラム作成では不要となるGUI部品の削除等の変化を加えたGUI構築や、構築が不完全な場合には画像情報と組合せることで再現率を向上させることができる。   In other words, not only the same GUI as the target software is constructed, but also a GUI implemented in Java (registered trademark) is converted into a web GUI according to the parameters, or it is not necessary for creating a control program. It is possible to improve the reproducibility by combining a GUI construction with changes such as deletion of GUI parts, or in combination with image information when the construction is incomplete.

また、同様に本発明の好適な形態としては、前記操作観測部において、前記GUI構築部で変換または変化されたGUIに対する操作を観測した場合に、その操作内容を変換/変化前のGUIと対応させた操作内容に変換して出力する処理を含むことを特徴とするものが挙げられる。これにより、GUIの変換/変化の有無にかかわらず同一の操作内容を遷移先選定部に対して出力することができるとともに、変換/変化が加わって構築されたGUIスタブに対して制御プログラムの作成またはデバッグを行った場合であっても、変換/変化前の当該自動操作対象ソフトウェアへの操作内容やGUI状態が情報出力部により出力され、変換/変化の影響を取り除いて当該自動操作対象ソフトウェアで動作する制御プログラムを作成することができる。   Similarly, as a preferred embodiment of the present invention, when the operation observation unit observes an operation on the GUI converted or changed by the GUI construction unit, the operation content corresponds to the GUI before conversion / change. And the like, which include a process of converting the operation contents to output and outputting them. As a result, the same operation content can be output to the transition destination selection unit regardless of the presence / absence of GUI conversion / change, and a control program can be created for a GUI stub constructed by adding conversion / change. Even when debugging is performed, the information output unit outputs the operation contents and GUI state to the automatic operation target software before conversion / change, and the automatic operation target software removes the influence of conversion / change. An operating control program can be created.

また、同様に本発明の好適な形態としては、前記遷移先選定部において、操作ログに記録されていない未知の遷移先が存在する場合において、遷移先を推定する処理を含むことを特徴とするものが挙げられる。即ち、操作内容とGUI状態の類似性から遷移先と同じと類推されるGUI状態を選定することで、不十分な操作ログからのGUIスタブ作成を可能とする。   Similarly, a preferred embodiment of the present invention includes a process of estimating a transition destination when there is an unknown transition destination that is not recorded in the operation log in the transition destination selection unit. Things. That is, it is possible to create a GUI stub from an insufficient operation log by selecting a GUI state that is inferred to be the same as the transition destination from the similarity between the operation content and the GUI state.

本発明によれば、対象ソフトウェアのGUIを自動操作する制御プログラムの作成またはデバッグ作業において、当該対象ソフトウェアを利用せずにGUIスタブの適用が可能となり、対象ソフトウェアへの影響を回避することが可能となる。また、制御プログラムの作成/デバッグ時の状況に応じてパラメータを入力することで、変換/変化を加えたGUIスタブの作成や、未知の遷移先のGUI状態の推定を可能とした。これらにより、対象ソフトウェアとは異なるプラットフォームでの制御プログラム作成や、不十分な操作ログからのGUIスタブの作成が可能となり、制御プログラムの作成/デバッグ作業をより強力に支援できるようになる。   According to the present invention, it is possible to apply a GUI stub without using the target software in the creation or debugging of a control program for automatically operating the GUI of the target software, thereby avoiding the influence on the target software. It becomes. Also, by inputting parameters according to the situation at the time of creation / debugging of the control program, it is possible to create a GUI stub to which conversion / change has been added and to estimate the GUI state of an unknown transition destination. As a result, it is possible to create a control program on a platform different from the target software and to create a GUI stub from an insufficient operation log, and to support the creation / debugging of the control program more strongly.

本発明のGUIスタブ自動生成装置の実施の形態の一例を示す構成図The block diagram which shows an example of embodiment of the GUI stub automatic generation apparatus of this invention 対象ソフトウェアのGUIの構造情報の一例を示す説明図Explanatory drawing which shows an example of the structure information of GUI of object software 操作ログを表した系列の例を示す説明図Explanatory drawing showing an example of a series representing operation logs 遷移先選定部における動作の説明図Explanatory drawing of operation in transition destination selection part 本発明のGUIスタブ自動生成装置の動作フローチャートOperation flow chart of the GUI stub automatic generation apparatus of the present invention 本発明のGUIスタブ自動生成装置を用いた制御プログラム作成/デバッグツールの動作フローチャートOperation flow chart of control program creation / debug tool using GUI stub automatic generation device of the present invention GUI変換処理の一例を示す説明図Explanatory drawing which shows an example of a GUI conversion process GUI変化処理の一例を示す説明図Explanatory drawing which shows an example of a GUI change process GUI画像補完処理の一例を示す説明図Explanatory drawing which shows an example of a GUI image complement process 遷移先推定処理の一例を示す説明図Explanatory drawing which shows an example of a transition destination estimation process コンテキスト推定処理の一例を示す説明図Explanatory drawing which shows an example of a context estimation process 操作変換処理の一例を示す説明図Explanatory drawing which shows an example of operation conversion processing

本発明の実施の形態の一例について図面を参照して説明する。   An example of an embodiment of the present invention will be described with reference to the drawings.

図1は、本発明のGUIスタブ自動生成装置の実施の形態の一例を、対象ソフトウェアおよび制御プログラム作成/デバッグツールの動作環境とともに示すものである。   FIG. 1 shows an example of an embodiment of a GUI stub automatic generation apparatus according to the present invention together with target software and an operating environment of a control program creation / debug tool.

即ち、自動操作しようとする対象ソフトウェアAがコンピュータ10上で動作し、当該対象ソフトウェアAを自動操作するための制御プログラムの作成またはデバッグを行うツールである制御プログラム作成/デバッグツールBがコンピュータ20上で動作する場合において、本実施の形態に係るGUIスタブ自動生成装置30は、制御プログラム作成/デバッグツールBに対して、対象ソフトウェアAの代わりにGUIスタブCを提供することで制御プログラムの作成またはデバッグ作業を支援するサービスを行う。   That is, the target software A to be automatically operated operates on the computer 10, and the control program creation / debug tool B which is a tool for creating or debugging a control program for automatically operating the target software A is displayed on the computer 20. In this case, the GUI stub automatic generation device 30 according to the present embodiment provides the GUI stub C instead of the target software A to the control program creation / debug tool B to create the control program or Provide services that support debugging.

ここで、制御プログラム作成/デバッグツールBは様々な形態が考えられ、例えば対象ソフトウェアA本体の構造情報や画像情報を用いて、スクリプト言語やフローチャートにより制御プログラムを作成するツールなどが挙げられる。   Here, various forms of the control program creation / debugging tool B are conceivable, for example, a tool for creating a control program using a script language or a flowchart using the structure information and image information of the target software A main body.

また、コンピュータ10は、対象ソフトウェアAの実行環境としてのOS11とともに、当該対象ソフトウェアAを操作するオペレータ41へのユーザインターフェースとしてのキーボードやマウスなどの入力デバイス12および表示装置であるディスプレイ13を有する。また、コンピュータ20は、制御プログラム作成/デバッグツールBの実行環境としてのOS21とともに、当該制御プログラム作成/デバッグツールBを操作する制御プログラム作成者42へのユーザインターフェースとしてのキーボードやマウスなどの入力デバイス22および表示装置であるディスプレイ23を有する。   The computer 10 includes an OS 11 as an execution environment of the target software A, an input device 12 such as a keyboard and a mouse as a user interface to an operator 41 who operates the target software A, and a display 13 as a display device. The computer 20 has an OS 21 as an execution environment for the control program creation / debug tool B and an input device such as a keyboard and a mouse as a user interface to the control program creator 42 who operates the control program creation / debug tool B. 22 and a display 23 which is a display device.

なお、OS11とOS21は同じでも良く、異なっていても良い。また、ここでは対象ソフトウェアAと制御プログラム作成/デバッグツールBが別々のコンピュータ上で動作しているものとしたが、同じコンピュータ上で動作していても良い。   Note that OS11 and OS21 may be the same or different. Although the target software A and the control program creation / debug tool B are operating on different computers here, they may be operating on the same computer.

以下、本実施の形態に係るGUIスタブ自動生成装置30について詳述する。   Hereinafter, the GUI stub automatic generation device 30 according to the present embodiment will be described in detail.

即ち、GUIスタブ自動生成装置30は、図1に示すように、操作ログ取得部31、操作ログ記録部32、遷移先選定部33、GUI構築部34、操作観測部35および情報出力部36を備えて構成され、GUIスタブCを作成する。   That is, the GUI stub automatic generation device 30 includes an operation log acquisition unit 31, an operation log recording unit 32, a transition destination selection unit 33, a GUI construction unit 34, an operation observation unit 35, and an information output unit 36, as shown in FIG. A GUI stub C is created.

また、GUIスタブ自動生成装置30は、コンピュータとプログラムによって実現することもでき、コンピュータ10および20とネットワークを介して遠隔において繋がったコンピュータで動作可能であるとともに、コンピュータ10または20において動作することも可能である。さらに、各機能部31〜36は一つのコンピュータ上に存在する必要はなく、分散した環境でも動作可能である。   The GUI stub automatic generation device 30 can also be realized by a computer and a program, can be operated by a computer remotely connected to the computers 10 and 20 via a network, and can also be operated by the computer 10 or 20. Is possible. Furthermore, the functional units 31 to 36 do not have to exist on one computer, and can operate in a distributed environment.

操作ログ取得部31は、対象ソフトウェアAが実際に運用されているときの操作ログを取得する。詳細には、OSやWebブラウザやそれに付随するシステムライブラリ等の提供する機能を用いて、対象ソフトウェアAへのオペレータ41による操作を契機に、その操作内容と、そのときの対象ソフトウェアAのGUIの構造情報および画像情報のペアよりなるGUI状態とを含む操作ログを取得する。システムライブラリの一例としては、Windows(登録商標)のAccessibility APIやUI Automation、WebブラウザのシステムであればDOM等があり、その他にも任意のものを利用できる。   The operation log acquisition unit 31 acquires an operation log when the target software A is actually operated. Specifically, using the functions provided by the OS, the Web browser, and the system library associated therewith, when the operator 41 operates the target software A, the operation contents and the GUI of the target software A at that time are displayed. An operation log including a GUI state composed of a pair of structure information and image information is acquired. Examples of the system library include Windows (registered trademark) Accessibility API, UI Automation, and DOM in the case of a Web browser system, and any other can be used.

図2は構造情報の一例を示すもので、ボタンやエディットなどのGUI部品をノードとした階層構造であり、各GUI部品(各ノード)について位置やサイズ、名前など種々の個別情報を保持している。画像情報はディスプレイ13に表示されている対象ソフトウェアAのGUI全体をキャプチャした画像データである。オペレータ41の操作内容は、ディスプレイ13に表示された対象ソフトウェアAのGUIに対するマウスからのクリックやキーボードからの入力、個々のGUI部品等に対する操作(ボタンを押した、チェックボックスのオン/オフ等)の他、入力デバイス12からの種々のユーザ操作を操作内容として取得する。   FIG. 2 shows an example of structure information, which is a hierarchical structure with GUI parts such as buttons and edits as nodes, and holds various individual information such as position, size, name, etc. for each GUI part (each node). Yes. The image information is image data obtained by capturing the entire GUI of the target software A displayed on the display 13. The operation contents of the operator 41 are a click on the GUI of the target software A displayed on the display 13, an input from the keyboard, an operation on each GUI component, etc. (button pressed, check box on / off, etc.) In addition, various user operations from the input device 12 are acquired as operation contents.

操作ログ記録部32は、操作ログ取得部31によって取得した操作ログを記録する。詳細には、取得した操作ログを、そのGUI状態をノード、操作内容をエッジとして表した任意形式の系列として記録する。   The operation log recording unit 32 records the operation log acquired by the operation log acquisition unit 31. Specifically, the acquired operation log is recorded as a sequence in an arbitrary format in which the GUI state is represented as a node and the operation content is represented as an edge.

図3は操作ログを表した系列の例、ここでは状態遷移図、リスト群、多分木の各形式による系列の例を示す。系列はGUI状態(S0,S1,S2…)をノード、操作内容(O1,O2,O3…)をエッジとして表現する。   FIG. 3 shows an example of a series representing an operation log. Here, an example of a series in each form of a state transition diagram, a list group, and a multitree is shown. The series represents the GUI state (S0, S1, S2...) As a node and the operation content (O1, O2, O3...) As an edge.

遷移先選定部33は、操作ログ記録部32に記録された操作ログまたはこれとともにGUIスタブCに対する観測された操作から次に再構成するGUI状態を選定して出力する。詳細には、操作ログ記録部32に記録されている操作ログとしての系列またはこれとともに後述の操作観測部35からの操作内容を入力として、次に再構成するGUI状態を選定して出力する。   The transition destination selection unit 33 selects and outputs the GUI state to be reconfigured next from the operation log recorded in the operation log recording unit 32 or the observed operation on the GUI stub C together with the operation log. Specifically, a series as an operation log recorded in the operation log recording unit 32 or an operation content from the operation observation unit 35 described later is input as an input, and a GUI state to be reconfigured next is selected and output.

図4を参照して遷移先選定部33について説明する。図4に示すように、現在再構成されているGUI状態から伸びているエッジ(操作内容)に対して、操作観測部35において観測され出力された操作内容と一致するものを探索し、一致するものが見つかった場合には、そのエッジの先のGUI状態を次に再構成するGUI状態として選定して出力する。   The transition destination selection unit 33 will be described with reference to FIG. As shown in FIG. 4, the edge (operation content) extending from the currently reconfigured GUI state is searched for and matches the operation content observed and output by the operation observation unit 35. If one is found, the GUI state ahead of the edge is selected and output as the GUI state to be reconfigured next.

さらに、遷移先選定部33では、操作観測部35からの操作内容に対応する遷移先が存在しない場合には、遷移先のGUI状態を推定する遷移先推定処理を含む。遷移先推定処理については後述する。   Further, the transition destination selection unit 33 includes a transition destination estimation process for estimating the transition destination GUI state when there is no transition destination corresponding to the operation content from the operation observation unit 35. The transition destination estimation process will be described later.

GUI構築部34は、遷移先選定部33から出力されたGUI状態を入力として対象ソフトウェアAと同様の外観を有するGUIスタブCを構築する。詳細には、遷移先選定部33から出力されたGUI状態を入力として、構造情報の全てのノード(GUI部品)を探索し、各GUI部品の位置やサイズ、名前などの個別情報を読み取り、当該個別情報に一致するようにGUI部品を作成してGUIスタブCを構築する。   The GUI construction unit 34 constructs a GUI stub C having the same appearance as that of the target software A with the GUI state output from the transition destination selection unit 33 as an input. Specifically, the GUI state output from the transition destination selection unit 33 is input, and all nodes (GUI parts) in the structure information are searched, and individual information such as the position, size, and name of each GUI part is read, A GUI component is created so as to match the individual information, and a GUI stub C is constructed.

さらに、GUI構築部34では、制御プログラムの作成またはデバッグ時のパラメータを入力として、GUIの実体の種類を変換するGUI変換処理と、構築されたGUIの実体を対象ソフトウェアAの外観から変化させるGUI変化処理と、構造情報が不完全な場合に画像情報によりGUIを補完するGUI画像補完処理と、を行う。GUI画像補完処理、GUI変換処理およびGUI変化処理については後述する。   Further, the GUI construction unit 34 receives a parameter for creating or debugging a control program as input, and performs a GUI conversion process for converting the type of GUI entity, and a GUI for changing the constructed GUI entity from the appearance of the target software A. A change process and a GUI image complement process for complementing the GUI with image information when the structure information is incomplete are performed. The GUI image complement processing, GUI conversion processing, and GUI change processing will be described later.

操作観測部35は、構築されたGUIスタブCに対する制御プログラムの作成またはデバッグを目的とした操作を観測し、その操作内容を出力する。詳細には、操作ログ取得部31における操作内容の取得と同様であり、マウスからのクリックやキーボードからの入力、個々のGUI部品等に対する操作(ボタンを押した、チェックボックスのオン/オフ等)の他、入力デバイス22からの種々の操作内容を取得する。さらに、構築されたGUIスタブCがGUI変換処理またはGUI変化処理を伴う場合には操作変換処理を行う。操作変換処理については後述する。   The operation observation unit 35 observes an operation for creating or debugging a control program for the constructed GUI stub C, and outputs the operation content. In detail, it is the same as the acquisition of the operation content in the operation log acquisition unit 31, and clicks from the mouse, input from the keyboard, operations on individual GUI components, etc. (buttons are pressed, check boxes are turned on / off, etc.) In addition, various operation contents from the input device 22 are acquired. Further, when the constructed GUI stub C is accompanied by a GUI conversion process or a GUI change process, an operation conversion process is performed. The operation conversion process will be described later.

情報出力部36は、制御プログラムの作成またはデバッグ作業に必要な情報を出力する。詳細には、制御プログラム作成/デバッグツールBの要求に応じて、制御プログラムの作成またはデバッグ作業に必要な情報として、GUIスタブCに加えられた操作内容やそのときのGUI状態の情報を出力する。   The information output unit 36 outputs information necessary for creating or debugging a control program. Specifically, in response to a request from the control program creation / debugging tool B, the operation contents applied to the GUI stub C and information on the GUI state at that time are output as information necessary for the creation or debugging of the control program. .

次に、図5を参照して本実施の形態に係るGUIスタブ自動生成装置30の動作について説明する。   Next, the operation of the GUI stub automatic generation device 30 according to the present embodiment will be described with reference to FIG.

図5に示すように、まず操作ログ取得部31が、GUIスタブを作成したい対象ソフトウェアAに対するオペレータ41の操作を契機に、当該対象ソフトウェアAのGUIの構造情報および画像情報と、操作内容とを操作ログとして取得する(ステップs1)。   As shown in FIG. 5, first, the operation log acquisition unit 31 receives the structure information and image information of the GUI of the target software A, and the operation contents when the operator 41 operates the target software A for which a GUI stub is desired to be created. Obtained as an operation log (step s1).

次に、操作ログ記録部32が操作ログを順次記録し、GUIの構造情報および画像情報のペアをGUI状態とし、GUI状態をノード、操作内容をエッジとする任意形式の系列を作成する(ステップs2)。このとき、対象ソフトウェアAの起動時のGUI状態を初期状態とする。   Next, the operation log recording unit 32 sequentially records the operation log, and creates a sequence in an arbitrary format in which the GUI structure information and image information pair is set to the GUI state, the GUI state is a node, and the operation content is an edge (step) s2). At this time, the GUI state when the target software A is activated is set as an initial state.

次に、遷移先選定部33が、ステップs5の出力(GUIスタブCへの操作内容)と操作ログ記録部32の系列を入力として次に再構成するGUI状態を選定して出力する(最初は初期状態を出力する)(ステップs3)。   Next, the transition destination selecting unit 33 selects and outputs the GUI state to be reconfigured next by using the output of step s5 (operation contents to the GUI stub C) and the sequence of the operation log recording unit 32 as input (initially) The initial state is output) (step s3).

次に、操作ログを任意時間蓄積した後に、GUI構築部34が遷移先選定部33から出力されたGUI状態(最初は初期状態)を読み取り、GUIスタブCを構築する(ステップs4)。   Next, after accumulating the operation log for an arbitrary time, the GUI construction unit 34 reads the GUI state (initial state) output from the transition destination selection unit 33, and constructs the GUI stub C (step s4).

次に、操作観測部35が、構築されたGUIスタブCに対する、制御プログラムの作成またはデバッグを目的とした操作を観測してその内容を出力する(ステップs5)。   Next, the operation observation unit 35 observes an operation for the purpose of creating or debugging a control program on the constructed GUI stub C and outputs the contents (step s5).

次に、制御プログラム作成/デバッグツールBの要求に応じて、操作内容またはGUI状態を制御プログラム作成/デバッグツールBに出力する(ステップs6)。以後ステップs3からステップs6を完了するまで繰り返す。   Next, in response to a request from the control program creation / debug tool B, the operation content or GUI state is output to the control program creation / debug tool B (step s6). Thereafter, steps s3 to s6 are repeated until completion.

次に、図6を参照して本発明のGUIスタブ自動生成装置を用いた制御プログラム作成/デバッグツールBの動作について説明する。ここでは、制御プログラム作成/デバッグツールBとして、対象ソフトウェアAに対する自動操作の制御プログラムを制御プログラム作成者42がコンピュータ20において実施する場合を例にとって説明する。   Next, the operation of the control program creation / debug tool B using the GUI stub automatic generation apparatus of the present invention will be described with reference to FIG. Here, a case where the control program creator 42 executes an automatic operation control program for the target software A on the computer 20 as the control program creation / debug tool B will be described as an example.

図6に示すように、制御プログラム作成/デバッグツールBは、GUIスタブ自動生成装置30によって作成されたGUIスタブCに対して、制御プログラムの作成またはデバッグを目的として操作を加える(ステップs11)。   As shown in FIG. 6, the control program creation / debugging tool B applies an operation to the GUI stub C created by the GUI stub automatic generation device 30 for the purpose of creating or debugging the control program (step s11).

次に、GUIスタブ自動生成装置30の情報出力部36が、GUIスタブCに対して加えられた操作内容や、そのときのGUI状態などの制御プログラムの作成またはデバッグのために必要な情報を制御プログラム作成/デバッグツールBに出力する(ステップs12)。   Next, the information output unit 36 of the GUI stub automatic generation device 30 controls information necessary for creating or debugging a control program such as the operation contents applied to the GUI stub C and the GUI state at that time. The data is output to the program creation / debug tool B (step s12).

制御プログラム作成/デバッグツールBはステップs12の情報をもとに制御プログラムの作成またはデバッグを行う(ステップs13)。当該制御プログラムの作成またはデバッグ処理の内容については従来周知のものと同様なので詳述は省略する。   The control program creation / debug tool B creates or debugs the control program based on the information in step s12 (step s13). The details of the creation of the control program or the debugging process are the same as those well known in the art and will not be described in detail.

最後に、操作内容に応じてGUIスタブCが次の画面に遷移し、以後、ステップs11からs13を繰り返す。   Finally, the GUI stub C transitions to the next screen according to the operation content, and thereafter steps s11 to s13 are repeated.

ところで本発明では、GUI構築部34により、制御プログラムの作成またはデバッグ時のパラメータを入力として、GUI変換処理、GUI変化処理、GUI画像補完処理のいずれか1つまたは2つ以上を加えることができる。   By the way, in the present invention, the GUI construction unit 34 can add any one or more of the GUI conversion process, the GUI change process, and the GUI image complementing process with the parameters at the time of creating or debugging the control program as an input. .

ここで、GUI変換処理とは、構築されるGUIスタブに対して実装の変換がパラメータとして与えられた場合に、構造情報を当該パラメータに応じて変換し、対象ソフトウェアと異なる実装でGUIスタブを構築する処理をいう。また、GUI変化処理とは、制御プログラムの作成/デバッグ時に不要となるGUI部品の削除、そのサイズや配置の変化などのGUI変化についてパラメータが与えられた場合に、構築されるGUIスタブに当該パラメータに応じて変化を加える処理をいう。さらにまた、GUI画像補完処理とは、画像情報による補完有りがパラメータとして与えられた場合に、構造情報の不完全な部分に対して当該部分に対応する画像情報をクリッピングして配置することでGUIの外観を補完し、再現率を高める処理をいう。   Here, the GUI conversion processing means that when implementation conversion is given as a parameter to the GUI stub to be constructed, the structure information is converted according to the parameter, and the GUI stub is constructed with a different implementation from the target software. The process to do. The GUI change process is a parameter that is added to a GUI stub to be constructed when parameters are given for GUI changes such as deletion of GUI parts that are not required when creating / debugging a control program and changes in size and arrangement thereof. This is a process of adding changes according to. Furthermore, the GUI image complementing process is a method of clipping and arranging image information corresponding to a part of an incomplete part of the structure information when the supplementation by image information is given as a parameter. This is a process that complements the appearance of and improves the recall.

これらは、制御プログラムの作成またはデバッグを実際の対象ソフトウェアとは異なる端末やプラットフォームで実施することや、制御プログラムの作成またはデバッグに不要なGUI部品を取り除くもしくは形を変えること、GUIスタブの再現率を高めることを可能にしている。   These include creating a control program or debugging on a terminal or platform different from the actual target software, removing or changing GUI parts unnecessary for creating or debugging a control program, and GUI stub recall. It is possible to increase.

具体的には、GUI変換処理の一例として、変換対象の実装毎に構造情報の変換マップを適用する方法を図7に示す。図7に示すように、構造情報に含まれるGUI部品の情報を変換マップによってHTML用の表現や、XAML用の表現に変換することでGUI構築の際に異なる実装で構築することができる。   Specifically, as an example of the GUI conversion process, FIG. 7 shows a method of applying a structure information conversion map for each conversion target implementation. As shown in FIG. 7, the GUI component information included in the structure information can be converted into an HTML expression or an XAML expression using a conversion map, so that the GUI can be constructed with different implementations.

また、GUI変化処理の一例として、スタイルシートにより変化を定義する方法を図8に示す。図8に示すように、例えば削除したいGUI部品の定義、そのサイズや配置を変えたいGUI部品の定義をスタイルシートに記述することで、GUI構築の際に変化が反映された形で構築することができる。   As an example of the GUI change process, FIG. 8 shows a method for defining a change using a style sheet. As shown in FIG. 8, for example, by describing the definition of the GUI part to be deleted and the definition of the GUI part to be changed in size and arrangement in the style sheet, the change is reflected in the GUI construction. Can do.

また、GUI画像補完処理の一例として、構築されたGUIのキャプチャ画像と操作ログの画像情報との比較による方法を図9に示す。GUI部品によっては構造情報が完全に取得できない場合がある。例えば、独自に作成されたGUI部品やJava(登録商標)で実装された一部のGUI部品などは構造情報を取得できない。そのため図9に示すように構造情報のみから作成されたGUIスタブに欠損が生じ、画像情報と差が生まれる場合がある。GUI画像補完処理では2つの画像の比較により構築されたGUIの欠損部分を認識し、欠損部分に画像情報をクリップしたものを埋め込むことにより外観としての再現率を高めることができる。   As an example of the GUI image complementing process, FIG. 9 shows a method based on comparison between the constructed GUI capture image and the image information of the operation log. Depending on the GUI component, the structure information may not be completely acquired. For example, structural information cannot be acquired for GUI parts that are uniquely created, or for some GUI parts that are mounted using Java (registered trademark). For this reason, as shown in FIG. 9, a GUI stub created only from the structure information may be deficient, resulting in a difference from the image information. In the GUI image complementing process, it is possible to increase the reproducibility as an appearance by recognizing a missing part of a GUI constructed by comparing two images and embedding the clipped image information in the missing part.

さらに、対象ソフトウェアの全てのGUI状態の遷移先が、操作ログとして記録されていることは少なく、GUIスタブを作成する場合にGUI状態遷移図に存在しない遷移先が必要となる場合がある。このような場合には、遷移先選定部33により、記録されていない遷移先を推定して出力することで、操作ログの不備を補完する。   Furthermore, transition destinations of all GUI states of the target software are rarely recorded as operation logs, and when creating a GUI stub, a transition destination that does not exist in the GUI state transition diagram may be required. In such a case, the transition destination selection unit 33 compensates for deficiencies in the operation log by estimating and outputting a transition destination that is not recorded.

記録されている操作ログから未知の遷移先を推定する処理の一例としては、図10に示すように操作ログ内のGUI状態の類似性や観測された操作内容の類似性から同一と推定されるGUI状態を出力する方法がある。   As an example of the process of estimating an unknown transition destination from the recorded operation log, it is estimated that the same from the similarity of the GUI state in the operation log and the observed operation content as shown in FIG. There is a method for outputting a GUI state.

GUI状態の類似性を求める方法としては、構造情報に対しては木構造の編集距離に基づく類似度などの任意の既存手法が適用でき、画像情報に関しては画素値の平均やヒストグラムを用いた類似度など任意の既存手法が適用できる。また、操作内容の類似性については、各操作の種類に応じて任意の定義が可能である。例えば、「座標(X,Y)をクリック」という操作内容と「座標(X’,Y’)をクリック」という操作内容の類似度は、(X,Y)と(X’,Y’)のユークリッド距離による類似度により定義することができる。その他にも、完全に一致する場合にのみ類似性を認め、それ以外は類似性を認めないといった定義も可能である。   As a method for obtaining the similarity of the GUI state, any existing method such as similarity based on the edit distance of the tree structure can be applied to the structure information, and the image information is similar using an average of pixel values or a histogram. Any existing method such as degree can be applied. Further, the similarity of operation contents can be arbitrarily defined according to the type of each operation. For example, the similarity between the operation content “click coordinates (X, Y)” and the operation content “click coordinates (X ′, Y ′)” is (X, Y) and (X ′, Y ′). It can be defined by the similarity based on the Euclidean distance. In addition, it is also possible to define that similarity is allowed only when it completely matches, and similarity is not allowed otherwise.

また、遷移先の推定では類似度による方法の他に、記録されている操作ログに対して存在しないエッジを人が事前に教示する(付け加える)こともできる。   In addition, in estimating the transition destination, in addition to the method based on the similarity, a person can teach (add) an edge that does not exist in the recorded operation log in advance.

加えて、過去の操作内容やGUI状態の系列に応じて遷移先が決定するような複雑な遷移の場合には、コンテキスト情報を事前に与えることで遷移先を推定するコンテキスト推定処理により遷移先を決定する。具体的には図11に示すように、コンテキスト情報として特定のパス情報(条件)および特定の遷移先(動作)を与えたとき、このような特定のパスが観測された場合に特定の遷移先を示す、ここでは禁止操作として警告をGUIスタブ上に表示するといったことが可能である。   In addition, in the case of complex transitions in which the transition destination is determined according to the past operation content or GUI state sequence, the transition destination is determined by context estimation processing for estimating the transition destination by giving context information in advance. decide. Specifically, as shown in FIG. 11, when a specific path information (condition) and a specific transition destination (operation) are given as context information, a specific transition destination when such a specific path is observed. Here, it is possible to display a warning on the GUI stub as a prohibited operation.

さらに、本発明では前記GUI変換処理または変化処理を含む場合に、対象ソフトウェアおよび操作ログに記録されている情報とは異なる(変化した)GUIを構築することができる。これにより、変換または変化処理が加わったGUIに対して行われた操作は、対象ソフトウェアへの操作や操作ログに記録されている操作から変様してしまう。   Furthermore, in the present invention, when the GUI conversion process or the change process is included, a GUI that is different (changed) from the information recorded in the target software and the operation log can be constructed. As a result, the operation performed on the GUI to which the conversion or change process has been added changes from the operation on the target software or the operation recorded in the operation log.

例えば図12に示すように、GUI変化処理によりボタンの位置を変更して構築した場合に、当該ボタンに操作が行われたとき、「座標(X’,Y’)をクリック」という操作が操作観測部35によって観測されるが、実際のソフトウェア上あるいは操作ログのGUI状態遷移図に記録されているのは「座標(X,Y)をクリック」という操作である。   For example, as shown in FIG. 12, when the button is changed by GUI change processing and constructed, when the operation is performed on the button, the operation “click coordinates (X ′, Y ′)” is performed. Although observed by the observation unit 35, what is recorded on the actual software or in the GUI state transition diagram of the operation log is an operation of “clicking coordinates (X, Y)”.

操作変換処理では、GUI変換処理またはGUI変化処理に伴う操作内容の変様を取り除き、対象ソフトウェアあるいは操作ログに記憶されている操作に変換する。具体的には、操作観測部35により、GUI変換処理または変化処理で用いられた変換マップやスタイルシートの情報を参照し、変換前または変化前のGUIの構造情報と、変換後または変化後のGUIの構造情報との対応関係を取得することで、操作内容を変換前または変化前のものに変換する。   In the operation conversion process, a change in the operation content associated with the GUI conversion process or the GUI change process is removed, and the operation is converted into an operation stored in the target software or operation log. Specifically, the operation observation unit 35 refers to the information of the conversion map and style sheet used in the GUI conversion process or the change process, the GUI structure information before or after the conversion, and the converted or changed information after the conversion. By acquiring the correspondence with the GUI structure information, the operation content is converted to the one before conversion or before change.

このように本発明に係るGUIスタブ自動生成装置によれば、操作ログにより自動生成されたGUIスタブにおいて、制御プログラムの作成またはデバッグを実現できるので、デバッグ作業などにおける対象システム本体に対する誤った自動操作などのリスクをなくした制御プログラムの作成またはデバッグが可能となる。また、GUI構築において変換処理、変化処理、画像補完処理や操作変換処理により、異なるプラットフォームにおけるGUIスタブ作成や、外観を変化させたGUIスタブ作成を可能にした。さらに、遷移先推定処理により不十分な操作ログからのGUIスタブ作成を可能にした。これにより、制御プログラムの作成またはデバッグにおけるリスク低減だけではなく、制御プログラム開発を強力に支援できるようになる。   As described above, according to the GUI stub automatic generation device according to the present invention, the control program can be created or debugged in the GUI stub automatically generated from the operation log. It is possible to create or debug a control program that eliminates such risks. In addition, it is possible to create GUI stubs on different platforms and GUI stubs with different appearances by conversion processing, change processing, image complement processing, and operation conversion processing in GUI construction. In addition, it is possible to create GUI stubs from insufficient operation logs by transition destination estimation processing. Thereby, not only the risk reduction in the creation or debugging of the control program but also the control program development can be strongly supported.

10,20:コンピュータ、11,21:OS、12,22:入力デバイス、13,23:ディスプレイ、30:GUIスタブ自動生成装置、31:操作ログ取得部、32:操作ログ記録部、33:遷移先選定部、34:GUI構築部、35:操作観測部、36:情報出力部、41:オペレータ、42:制御プログラム作成者、A:対象ソフトウェア、B:制御プログラム作成/デバッグツール、C:GUIスタブ。   10, 20: Computer, 11, 21: OS, 12, 22: Input device, 13, 23: Display, 30: GUI stub automatic generation device, 31: Operation log acquisition unit, 32: Operation log recording unit, 33: Transition Destination selection unit, 34: GUI construction unit, 35: Operation observation unit, 36: Information output unit, 41: Operator, 42: Control program creator, A: Target software, B: Control program creation / debug tool, C: GUI stub.

横瀬、田中、豊田、堀田、井上、杉本、「端末操作自動化ソフトUMSの概要と適用事例」、信学技報、vol.111、no.488、ICM2011-73、2012年3月、pp.149-154Yokose, Tanaka, Toyota, Horita, Inoue, Sugimoto, “Overview and Application Examples of Terminal Operation Automation Software UMS”, IEICE Technical Report, vol.111, no.488, ICM2011-73, March 2012, pp.149 -154 ”Windows自動化ソフト UWSC”、[online]、umiumi、[平成25年8月5日検索]、インターネット<URL:http://www.uwsc.info/>"Windows automation software UWSC", [online], umiumi, [searched August 5, 2013], Internet <URL: http://www.uwsc.info/> ”自動化スクリプト言語 AutoIt”、[online]、AutoIt Consulting Ltd.、[平成25年8月5日検索]、インターネット<URL:http://www.autoitscript.com/site/>"Automated script language AutoIt", [online], AutoIt Consulting Ltd., [August 5, 2013 search], Internet <URL: http://www.autoitscript.com/site/>

Claims (10)

対象ソフトウェアのGUIを操作することで当該対象ソフトウェアに対する作業を自動化する制御プログラムの作成またはデバッグ作業に際して、前記対象ソフトウェアの代わりに利用可能なプログラムであるGUIスタブを自動的に生成する装置であって、
前記対象ソフトウェアへのオペレータによる操作を契機に、その操作内容と、そのときの対象ソフトウェアのGUIの構造情報および画像情報のペアよりなるGUI状態とを含む操作ログを取得する操作ログ取得手段と、
前記取得した操作ログを、そのGUI状態をノード、操作内容をエッジとして表した任意形式の系列として記録する操作ログ記録手段と、
前記操作ログ記録手段に記録されている系列またはこれとともにGUIスタブに対して観測された操作内容から次に再構成するGUI状態を選定して出力する遷移先選定手段と、
前記出力されたGUI状態を入力として、構造情報に含まれる全てのGUI部品を探索し、各GUI部品の個別情報を読み取り、当該個別情報に一致するようにGUI部品を作成してGUIスタブを構築するGUI構築手段と、
前記構築されたGUIスタブに対する制御プログラムの作成またはデバッグを目的とした操作内容を観測する操作観測手段と、
制御プログラムの作成またはデバッグ作業に必要な、少なくともGUIスタブに対する操作内容およびGUIスタブの構造情報を出力する情報出力手段とを備えた
ことを特徴とするGUIスタブの自動生成装置。
An apparatus for automatically generating a GUI stub, which is a program that can be used in place of the target software, when creating or debugging a control program that automates the work on the target software by operating the GUI of the target software ,
In response to an operation by the operator on the target software, an operation log acquisition unit that acquires an operation log including the operation content and a GUI state including a GUI structure information and a pair of image information of the target software at that time;
An operation log recording means for recording the acquired operation log as a sequence in an arbitrary format in which the GUI state is represented as a node and the operation content as an edge;
Transition destination selection means for selecting and outputting the GUI state to be reconfigured next from the series recorded in the operation log recording means or the operation contents observed for the GUI stub together with the series;
Using the output GUI state as input, search for all GUI parts included in the structure information, read individual information of each GUI part, create GUI parts to match the individual information, and build GUI stub GUI construction means to
Operation observing means for observing operation contents for the purpose of creating or debugging a control program for the constructed GUI stub;
An apparatus for automatically generating a GUI stub, comprising information output means for outputting at least the operation contents for the GUI stub and the structure information of the GUI stub, which are necessary for creating or debugging a control program.
御プログラムの作成またはデバッグ時のパラメータを入力として、構築されるGUIスタブに対して実装の変換がパラメータとして与えられた場合に、構造情報を当該パラメータに応じて変換し、対象ソフトウェアと異なる実装でGUIスタブを構築するGUI変換処理を行うGUI構築手段をさらに備えた
ことを特徴とする請求項1に記載のGUIスタブの自動生成装置。
Control as input parameters for creating or debugging of your program, if the implementation of the conversion on the GUI stubs constructed is given as a parameter, the structure information is converted in accordance with the parameter, the target software and different implementations The GUI stub automatic generation apparatus according to claim 1, further comprising GUI construction means for performing GUI conversion processing for constructing a GUI stub.
御プログラムの作成またはデバッグ時のパラメータを入力として、制御プログラムの作成またはデバッグ時に不要となるGUI部品の削除、もしくはそのサイズまたは配置の変化であるGUI変化についてパラメータが与えられた場合に、構築されるGUIスタブに当該パラメータに応じて変化を加えるGUI変化処理を行うGUI構築手段をさらに備えた
ことを特徴とする請求項1に記載のGUIスタブの自動生成装置。
Control as input parameters for creating or debugging of your program, delete a GUI component to be unnecessary when creating or debugging of the control program, or if the parameter is given for GUI change is a change in the size or arrangement, constructed 2. The GUI stub automatic generation device according to claim 1, further comprising a GUI construction unit that performs a GUI change process for changing a GUI stub according to the parameter. 3.
御プログラムの作成またはデバッグ時のパラメータを入力として、画像情報による補完有りがパラメータとして与えられた場合に、構造情報の不完全な部分に対して当該部分に対応する画像情報をクリッピングして配置することでGUIの外観を補完し、再現率を高めるGUI画像補完処理を行うGUI構築手段をさらに備えた
ことを特徴とする請求項1に記載のGUIスタブの自動生成装置。
As input parameters for creating or debugging the control program, if there is complementary by the image information it is given as a parameter, and clipping the image information corresponding to the portion relative to incomplete portions of the structure information arrangement The GUI stub automatic generation device according to claim 1, further comprising GUI construction means for performing GUI image complement processing that complements the appearance of the GUI and increases the reproduction rate.
記GUI変換処理を含んで構築されたGUIスタブに対して、制御プログラムの作成またはデバッグを目的とした操作を観測した場合は、変換される前のGUIの構造情報と、変換された後のGUIの構造情報とを対比させることで、操作内容を変換前のGUIへの操作内容に変換して出力する操作変換処理を行う操作観測部をさらに備えた
ことを特徴とする請求項に記載のGUIスタブの自動生成装置。
Relative GUI stub constructed include pre Symbol GUI conversion processing, if you observe the creation or debugging operation for the purpose of the control program, and the structure information of the previous GUI that will be converted, it is converted An operation observation unit for performing an operation conversion process for converting the operation content into the operation content to the GUI before conversion by comparing with the structure information of the GUI after the operation is further provided. 2. An apparatus for automatically generating a GUI stub according to 2 .
前記GUI変化処理を含んで構築されたGUIスタブに対して、制御プログラムの作成またはデバッグを目的とした操作を観測した場合は、変化が加えられる前のGUIの構造情報と、変が加えられた後のGUIの構造情報とを対比させることで、操作内容を変化前のGUIへの操作内容に変換して出力する操作変換処理を行う操作観測部をさらに備えた
ことを特徴とする請求項に記載のGUIスタブの自動生成装置。
Relative GUI stub constructed include the GUI change processing, if the creation or debugging of the control program was observed operations for the purpose, and the structure information of the previous GUI that changes are applied, changes are added It is to comparing the structure information of a GUI after et been, and further comprising a manipulation monitoring unit for performing operation converting process for converting the operation contents to the operation contents to change the previous GUI The GUI stub automatic generation device according to claim 3 .
UIスタブに対する観測された操作内容を入力として、操作内容に該当する遷移先が操作ログ上に記録されていない場合に、操作ログ内のGUI状態の類似性や観測された操作内容の類似性、あるいは事前に与えられた教示をもとに、遷移先のGUI状態を推定して出力する遷移先推定処理を行う遷移先選定部をさらに備えた
ことを特徴とする請求項1乃至のいずれかに記載のGUIスタブの自動生成装置。
When the observed operation content for the GUI stub is input and the transition destination corresponding to the operation content is not recorded in the operation log, the similarity of the GUI state in the operation log or the similarity of the observed operation content , based on some have teaching given before thing to claim 1, further comprising a transition destination selection unit which performs transition destination estimation processing and outputting the estimated GUI state of the transition destination The GUI stub automatic generation device according to any one of claims 6 to 7.
UIスタブに対する観測された操作内容とともに、特定のパス情報および特定の遷移先を含むコンテキスト情報を入力として、前記パス情報に従う操作内容やGUI状態の系列が観測された場合に前記特定の遷移先を遷移先として推定するコンテキスト推定処理を行う遷移先選定部をさらに備えた
ことを特徴とする請求項1乃至のいずれかに記載のGUIスタブの自動生成装置。
When the context information including the specific path information and the specific transition destination is input together with the observed operation content for the GUI stub, the specific transition destination when the operation content or the GUI state series according to the path information is observed The GUI stub automatic generation device according to any one of claims 1 to 6 , further comprising a transition destination selection unit that performs a context estimation process for estimating a transition destination as a transition destination.
対象ソフトウェアのGUIを操作することで当該対象ソフトウェアに対する作業を自動化する制御プログラムの作成またはデバッグ作業に際して、前記対象ソフトウェアの代わりに利用可能なプログラムであるGUIスタブを自動的に生成する方法であって、
前記対象ソフトウェアへのオペレータによる操作を契機に、その操作内容と、そのときの対象ソフトウェアのGUIの構造情報および画像情報のペアよりなるGUI状態とを含む操作ログを取得する第1のステップと、
前記取得した操作ログを、そのGUI状態をノード、操作内容をエッジとして表した任意形式の系列として記録する第2のステップと、
前記記録された系列またはこれとともにGUIスタブに対して観測された操作内容から次に再構成するGUI状態を選定して出力する第3のステップと、
前記出力されたGUI状態を入力として、構造情報に含まれる全てのGUI部品を探索し、各GUI部品の個別情報を読み取り、当該個別情報に一致するようにGUI部品を作成してGUIスタブを構築する第4のステップと、
前記構築されたGUIスタブに対する制御プログラムの作成またはデバッグを目的とした操作内容を観測する第5のステップと、
制御プログラムの作成またはデバッグ作業に必要な、少なくともGUIスタブに対する操作内容およびGUIスタブの構造情報を出力する第6のステップとを含む
ことを特徴とするGUIスタブの自動生成方法。
A method for automatically generating a GUI stub, which is a program that can be used in place of the target software, when creating or debugging a control program that automates the work on the target software by operating the GUI of the target software. ,
A first step of acquiring an operation log including an operation content and a GUI state formed by a pair of GUI structure information and image information of the target software at the time of an operation by the operator on the target software;
A second step of recording the acquired operation log as a sequence in an arbitrary format in which the GUI state is represented as a node and the operation content as an edge;
A third step of selecting and outputting the GUI state to be reconstructed next from the recorded sequence or the operation content observed with the GUI stub together with the recorded sequence;
Using the output GUI state as input, search for all GUI parts included in the structure information, read individual information of each GUI part, create GUI parts to match the individual information, and build GUI stub A fourth step to:
A fifth step of observing operation contents for the purpose of creating or debugging a control program for the constructed GUI stub;
A method for automatically generating a GUI stub, comprising: a sixth step for outputting at least the operation contents for the GUI stub and the structure information of the GUI stub, which are necessary for creating or debugging a control program.
コンピュータを、請求項1乃至のいずれかに記載のGUIスタブの自動生成装置の各手段として機能させるためのプログラム。 The program for functioning a computer as each means of the automatic generation apparatus of the GUI stub in any one of Claims 1 thru | or 8 .
JP2013174593A 2013-08-26 2013-08-26 Apparatus for automatically generating GUI stub, method and program thereof Active JP6052892B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013174593A JP6052892B2 (en) 2013-08-26 2013-08-26 Apparatus for automatically generating GUI stub, method and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013174593A JP6052892B2 (en) 2013-08-26 2013-08-26 Apparatus for automatically generating GUI stub, method and program thereof

Publications (2)

Publication Number Publication Date
JP2015043147A JP2015043147A (en) 2015-03-05
JP6052892B2 true JP6052892B2 (en) 2016-12-27

Family

ID=52696652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013174593A Active JP6052892B2 (en) 2013-08-26 2013-08-26 Apparatus for automatically generating GUI stub, method and program thereof

Country Status (1)

Country Link
JP (1) JP6052892B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268666A (en) * 2005-03-25 2006-10-05 Fujitsu Ltd Automatic test system with correction function, automatic test method, and program
JP4140916B2 (en) * 2005-12-22 2008-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション Method for analyzing state transition in web page
JP5476326B2 (en) * 2011-03-08 2014-04-23 株式会社日立製作所 Web operation recording and reproducing method and apparatus
JP2013137712A (en) * 2011-12-28 2013-07-11 Mitsubishi Electric Corp Software test support device, software test support system, software test support method, and program

Also Published As

Publication number Publication date
JP2015043147A (en) 2015-03-05

Similar Documents

Publication Publication Date Title
US11635974B2 (en) Providing a different configuration of added functionality for each of the stages of predeployment, deployment, and post deployment using a layer of abstraction
JP5947888B2 (en) Live browser tooling in an integrated development environment
US9459780B1 (en) Documenting interactive graphical designs
JP5984215B2 (en) Dynamic manual creation device and method, and computer program
WO2020235085A1 (en) Operation log visualization device, operation log visualization method, and operation log visualization program
CN104572067A (en) Associating a visualization of user interface with source code
JP7280388B2 (en) Apparatus and method, equipment and medium for implementing a customized artificial intelligence production line
WO2014002293A1 (en) Application coordination system, application coordination method, and application coordination program
JP4731335B2 (en) ASSEMBLY EVALUATION METHOD, SYSTEM, AND PROGRAM
US20120311538A1 (en) Capturing Rich Actionable Feedback on Working Software
JP2005266954A (en) Operation information recording/reproduction apparatus
JP6452882B1 (en) System, method and program for automating business processes involving operation of web browser
JP6910494B1 (en) Information processing program, information processing device and information processing method
US20220214963A1 (en) Analysis apparatus, analysis method and program
CN112667517A (en) Method, device, equipment and storage medium for acquiring automatic test script
US10884711B2 (en) Code management system and code management method using a visual programming tool
JP6052892B2 (en) Apparatus for automatically generating GUI stub, method and program thereof
CN113590564B (en) Data storage method, device, electronic equipment and storage medium
JP5058219B2 (en) Scenario creation method, apparatus, program, and recording medium
CN104516860A (en) Methods and systems for selecting text within a displayed document
WO2024127583A1 (en) Operation assistance device, operation assistance method, and operation assistance program
CN114063996A (en) Method and equipment for generating webpage and storage medium
JP6025177B2 (en) Work log visualization method, apparatus, and program
JP5746300B2 (en) User operation automation device
WO2024127582A1 (en) Operation assistance device, operation assistance method, and operation assistance program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160413

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160606

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161124

R150 Certificate of patent or registration of utility model

Ref document number: 6052892

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150