JP6052892B2 - Apparatus for automatically generating GUI stub, method and program thereof - Google Patents
Apparatus for automatically generating GUI stub, method and program thereof Download PDFInfo
- 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
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
しかし上記の従来のツールでは、制御プログラムの作成において実際のシステム、即ち自動操作の対象となるソフトウェア(以下、対象ソフトウェア)を必要とするという問題があった。 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.
本発明の実施の形態の一例について図面を参照して説明する。 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
ここで、制御プログラム作成/デバッグツール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
なお、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
即ち、GUIスタブ自動生成装置30は、図1に示すように、操作ログ取得部31、操作ログ記録部32、遷移先選定部33、GUI構築部34、操作観測部35および情報出力部36を備えて構成され、GUIスタブCを作成する。
That is, the GUI stub
また、GUIスタブ自動生成装置30は、コンピュータとプログラムによって実現することもでき、コンピュータ10および20とネットワークを介して遠隔において繋がったコンピュータで動作可能であるとともに、コンピュータ10または20において動作することも可能である。さらに、各機能部31〜36は一つのコンピュータ上に存在する必要はなく、分散した環境でも動作可能である。
The GUI stub
操作ログ取得部31は、対象ソフトウェアAが実際に運用されているときの操作ログを取得する。詳細には、OSやWebブラウザやそれに付随するシステムライブラリ等の提供する機能を用いて、対象ソフトウェアAへのオペレータ41による操作を契機に、その操作内容と、そのときの対象ソフトウェアAのGUIの構造情報および画像情報のペアよりなるGUI状態とを含む操作ログを取得する。システムライブラリの一例としては、Windows(登録商標)のAccessibility APIやUI Automation、WebブラウザのシステムであればDOM等があり、その他にも任意のものを利用できる。
The operation
図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
操作ログ記録部32は、操作ログ取得部31によって取得した操作ログを記録する。詳細には、取得した操作ログを、そのGUI状態をノード、操作内容をエッジとして表した任意形式の系列として記録する。
The operation
図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
図4を参照して遷移先選定部33について説明する。図4に示すように、現在再構成されているGUI状態から伸びているエッジ(操作内容)に対して、操作観測部35において観測され出力された操作内容と一致するものを探索し、一致するものが見つかった場合には、そのエッジの先のGUI状態を次に再構成するGUI状態として選定して出力する。
The transition
さらに、遷移先選定部33では、操作観測部35からの操作内容に対応する遷移先が存在しない場合には、遷移先のGUI状態を推定する遷移先推定処理を含む。遷移先推定処理については後述する。
Further, the transition
GUI構築部34は、遷移先選定部33から出力されたGUI状態を入力として対象ソフトウェアAと同様の外観を有するGUIスタブCを構築する。詳細には、遷移先選定部33から出力されたGUI状態を入力として、構造情報の全てのノード(GUI部品)を探索し、各GUI部品の位置やサイズ、名前などの個別情報を読み取り、当該個別情報に一致するようにGUI部品を作成してGUIスタブCを構築する。
The
さらに、GUI構築部34では、制御プログラムの作成またはデバッグ時のパラメータを入力として、GUIの実体の種類を変換するGUI変換処理と、構築されたGUIの実体を対象ソフトウェアAの外観から変化させるGUI変化処理と、構造情報が不完全な場合に画像情報によりGUIを補完するGUI画像補完処理と、を行う。GUI画像補完処理、GUI変換処理およびGUI変化処理については後述する。
Further, the
操作観測部35は、構築されたGUIスタブCに対する制御プログラムの作成またはデバッグを目的とした操作を観測し、その操作内容を出力する。詳細には、操作ログ取得部31における操作内容の取得と同様であり、マウスからのクリックやキーボードからの入力、個々のGUI部品等に対する操作(ボタンを押した、チェックボックスのオン/オフ等)の他、入力デバイス22からの種々の操作内容を取得する。さらに、構築されたGUIスタブCがGUI変換処理またはGUI変化処理を伴う場合には操作変換処理を行う。操作変換処理については後述する。
The
情報出力部36は、制御プログラムの作成またはデバッグ作業に必要な情報を出力する。詳細には、制御プログラム作成/デバッグツールBの要求に応じて、制御プログラムの作成またはデバッグ作業に必要な情報として、GUIスタブCに加えられた操作内容やそのときのGUI状態の情報を出力する。
The
次に、図5を参照して本実施の形態に係るGUIスタブ自動生成装置30の動作について説明する。
Next, the operation of the GUI stub
図5に示すように、まず操作ログ取得部31が、GUIスタブを作成したい対象ソフトウェアAに対するオペレータ41の操作を契機に、当該対象ソフトウェアAのGUIの構造情報および画像情報と、操作内容とを操作ログとして取得する(ステップs1)。
As shown in FIG. 5, first, the operation
次に、操作ログ記録部32が操作ログを順次記録し、GUIの構造情報および画像情報のペアをGUI状態とし、GUI状態をノード、操作内容をエッジとする任意形式の系列を作成する(ステップs2)。このとき、対象ソフトウェアAの起動時のGUI状態を初期状態とする。
Next, the operation
次に、遷移先選定部33が、ステップs5の出力(GUIスタブCへの操作内容)と操作ログ記録部32の系列を入力として次に再構成するGUI状態を選定して出力する(最初は初期状態を出力する)(ステップs3)。
Next, the transition
次に、操作ログを任意時間蓄積した後に、GUI構築部34が遷移先選定部33から出力されたGUI状態(最初は初期状態)を読み取り、GUIスタブCを構築する(ステップs4)。
Next, after accumulating the operation log for an arbitrary time, the
次に、操作観測部35が、構築されたGUIスタブCに対する、制御プログラムの作成またはデバッグを目的とした操作を観測してその内容を出力する(ステップs5)。
Next, the
次に、制御プログラム作成/デバッグツール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
図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
次に、GUIスタブ自動生成装置30の情報出力部36が、GUIスタブCに対して加えられた操作内容や、そのときのGUI状態などの制御プログラムの作成またはデバッグのために必要な情報を制御プログラム作成/デバッグツールBに出力する(ステップs12)。
Next, the
制御プログラム作成/デバッグツール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変換処理とは、構築される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
記録されている操作ログから未知の遷移先を推定する処理の一例としては、図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
操作変換処理では、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
このように本発明に係る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.
Claims (10)
前記対象ソフトウェアへのオペレータによる操作を契機に、その操作内容と、そのときの対象ソフトウェアの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.
ことを特徴とする請求項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.
ことを特徴とする請求項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.
ことを特徴とする請求項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.
ことを特徴とする請求項2に記載の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 .
ことを特徴とする請求項3に記載の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 .
ことを特徴とする請求項1乃至6のいずれかに記載の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.
ことを特徴とする請求項1乃至6のいずれかに記載の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状態とを含む操作ログを取得する第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.
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)
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 |
-
2013
- 2013-08-26 JP JP2013174593A patent/JP6052892B2/en active Active
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 |