JP7306022B2 - データ記録装置、データ記録方法およびプログラム - Google Patents

データ記録装置、データ記録方法およびプログラム Download PDF

Info

Publication number
JP7306022B2
JP7306022B2 JP2019069092A JP2019069092A JP7306022B2 JP 7306022 B2 JP7306022 B2 JP 7306022B2 JP 2019069092 A JP2019069092 A JP 2019069092A JP 2019069092 A JP2019069092 A JP 2019069092A JP 7306022 B2 JP7306022 B2 JP 7306022B2
Authority
JP
Japan
Prior art keywords
coordinate
control component
window
coordinates
latest
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
JP2019069092A
Other languages
English (en)
Other versions
JP2020166773A (ja
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2019069092A priority Critical patent/JP7306022B2/ja
Publication of JP2020166773A publication Critical patent/JP2020166773A/ja
Application granted granted Critical
Publication of JP7306022B2 publication Critical patent/JP7306022B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Description

本発明は、データ記録装置、データ記録方法およびプログラムに関する。
特許文献1には、操作画面の表示を伴うアプリケーションプログラムを対象とした操作において、操作の画面の情報を採取して再現することにより、操作シナリオの作成作業を省力化でき、負荷試験の作業効率を向上できる技術が開示されている。
特許文献2には、画面におけるユーザ操作をアクション単位で記録し、ユーザの操作を再演させ、ユーザ操作をアクション単位で突き合わせて相互チェックすることで、操作対象AP(Application)や適用対象PC(Personal Computer)の変化による影響を検出することにより、操作対象APや適用対象PCが変化しても対応可能な自動操作エージェントを提供する技術が開示されている。
特開2009-032099号公報 特開2015-005245号公報
GUI(Graphical User Interface)上の自動操作は定型業務の人手を削減できるメリットがあるため、多く利用されている。
しかし、特許文献1-2に記載の技術のように、GUI上の自動操作について、期待通りの結果が得られたのか否かを検証するためには、ユーザが目視もしくはそれに近い方法で確認する必要があり、ユーザの手作業が発生している。
本発明の目的は、GUI上の自動操作の検証において手作業を削減できるデータ記録装置、データ記録方法およびプログラムを提供することにある。
本発明の第1態様によれば、データ記録装置は、自動操作にかかる手順データを記憶する手順記憶部に記憶された前記手順データに基づいて、GUIプログラムを自動操作する自動操作部と、前記自動操作にかかるGUI上のウィンドウおよびコントロールコンポーネントの情報、前記コントロールコンポーネントの入力内容を、時系列に収集する取得部と、前記自動操作の後かつ前記コントロールコンポーネントの入力の直前までに座標が取得された各ウィンドウのうち、前記GUI上のポインタの横軸における座標が、ウィンドウの最新左上端の前記横軸における座標以上でかつ最新右下端の前記横軸における座標以下であり、更に、前記GUI上のポインタの縦軸における座標が、ウィンドウの最新左上端の前記縦軸における座標以下でかつ最新右下端の前記縦軸における座標以上であるウィンドウを特定し、特定したウィンドウの座標情報に基づいてウィンドウ識別情報を特定するとともに、前記コントロールコンポーネントの入力の直前のポインタの座標から、ウィンドウの最新左上端の座標を減算して、ウィンドウの最新左上端を基準とする前記コントロールコンポーネントの入力の直前のポインタの相対座標を求め、前記自動操作の後かつ前記コントロールコンポーネントの入力の直前までに座標が取得された各コントロールコンポーネントのうち、前記相対座標の前記横軸における座標が、コントロールコンポーネントの最新左上端の相対座標の前記横軸における座標以上でかつ最新右下端の相対座標の前記横軸における座標以下であり、更に、前記相対座標の前記縦軸における座標が、コントロールコンポーネントの最新左上端の相対座標の前記縦軸における座標以下でかつ最新右下端の相対座標の前記縦軸における座標以上であるコントロールコンポーネントを特定し、特定したコントロールコンポーネントの座標情報に関連付けられたコントロールコンポーネント識別情報を特定し、前記取得部が収集したデータ、特定したウィンドウ識別情報、特定したコントロールコンポーネント識別情報を用いて、前記手順データと同形式の再現手順データを生成する再現手順生成部と、を備える
本発明の第2態様によれば、データ記録方法は、自動操作にかかる手順データを記憶する手順記憶部に記憶された前記手順データに基づいて、GUIプログラムを自動操作するステップ、前記自動操作にかかるGUI上のウィンドウおよびコントロールコンポーネントの情報、前記コントロールコンポーネントの入力内容を、時系列に収集するステップ、前記自動操作の後かつ前記コントロールコンポーネントの入力の直前までに座標が取得された各ウィンドウのうち、前記GUI上のポインタの横軸における座標が、ウィンドウの最新左上端の前記横軸における座標以上でかつ最新右下端の前記横軸における座標以下であり、更に、前記GUI上のポインタの縦軸における座標が、ウィンドウの最新左上端の前記縦軸における座標以下でかつ最新右下端の前記縦軸における座標以上であるウィンドウを特定するステップ、特定したウィンドウの座標情報に基づいてウィンドウ識別情報を特定するステップ、前記コントロールコンポーネントの入力の直前のポインタの座標から、ウィンドウの最新左上端の座標を減算して、ウィンドウの最新左上端を基準とする前記コントロールコンポーネントの入力の直前のポインタの相対座標を求めるステップ、前記自動操作の後かつ前記コントロールコンポーネントの入力の直前までに座標が取得された各コントロールコンポーネントのうち、前記相対座標の前記横軸における座標が、コントロールコンポーネントの最新左上端の相対座標の前記横軸における座標以上でかつ最新右下端の相対座標の前記横軸における座標以下であり、更に、前記相対座標の前記縦軸における座標が、コントロールコンポーネントの最新左上端の相対座標の前記縦軸における座標以下でかつ最新右下端の相対座標の前記縦軸における座標以上であるコントロールコンポーネントを特定するステップ、特定したコントロールコンポーネントの座標情報に関連付けられたコントロールコンポーネント識別情報を特定するステップ、収集したデータ、特定したウィンドウ識別情報、特定したコントロールコンポーネント識別情報を用いて、前記手順データと同形式の再現手順データを生成するステップ、前記時系列に収集されたデータ、前記GUIプログラムから収集したウィンドウ識別情報、前記GUIプログラムから収集したコントロールコンポーネント識別情報を用いて、前記手順データと同形式の再現手順データを生成するステップ、を有する
本発明の第3態様によれば、プログラムは、コンピュータを、自動操作にかかる手順データを記憶する手順記憶部に記憶された前記手順データに基づいて、GUIプログラムを自動操作する自動操作部、前記自動操作にかかるGUI上のウィンドウおよびコントロールコンポーネントの情報、前記コントロールコンポーネントの入力内容を、時系列に収集する取得部、前記自動操作の後かつ前記コントロールコンポーネントの入力の直前までに座標が取得された各ウィンドウのうち、前記GUI上のポインタの横軸における座標が、ウィンドウの最新左上端の前記横軸における座標以上でかつ最新右下端の前記横軸における座標以下であり、更に、前記GUI上のポインタの縦軸における座標が、ウィンドウの最新左上端の前記縦軸における座標以下でかつ最新右下端の前記縦軸における座標以上であるウィンドウを特定し、特定したウィンドウの座標情報に基づいてウィンドウ識別情報を特定するとともに、前記コントロールコンポーネントの入力の直前のポインタの座標から、ウィンドウの最新左上端の座標を減算して、ウィンドウの最新左上端を基準とする前記コントロールコンポーネントの入力の直前のポインタの相対座標を求め、前記自動操作の後かつ前記コントロールコンポーネントの入力の直前までに座標が取得された各コントロールコンポーネントのうち、前記相対座標の前記横軸における座標が、コントロールコンポーネントの最新左上端の相対座標の前記横軸における座標以上でかつ最新右下端の相対座標の前記横軸における座標以下であり、更に、前記相対座標の前記縦軸における座標が、コントロールコンポーネントの最新左上端の相対座標の前記縦軸における座標以下でかつ最新右下端の相対座標の前記縦軸における座標以上であるコントロールコンポーネントを特定し、特定したコントロールコンポーネントの座標情報に関連付けられたコントロールコンポーネント識別情報を特定し、前記取得部が収集したデータ、特定したウィンドウ識別情報、特定したコントロールコンポーネント識別情報を用いて、前記手順データと同形式の再現手順データを生成する再現手順生成部、として機能させる
本発明によれば、手順データに基づいたGUI上の自動操作の内容を記録して、自動操作の再現手順を生成するため、手順と再現手順をユーザが対照することで、GUI上の自動操作について期待通りの結果が得られたのか否かを検証でき、自動操作の検証における手作業を削減できる。
第1の実施形態に係るデータ記録装置の構成を示す概略ブロック図である。 第1の実施形態に係るデータ記録装置の動作を示すフローチャートである。 第1の実施形態に係るデータ記録装置の手順データの例示である。 第1の実施形態に係るデータ記録装置の取得部が取得したデータの例示である。 第1の実施形態に係るデータ記録装置の再現手順データの例示である。 第1の実施形態に係るデータ記録装置の座標検証部の検証の例示である。 データ記録装置の基本構成を示す概略ブロック図である。 少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
〈第1の実施形態〉
以下、図面を参照しながら本発明の第1実施形態について詳しく説明する。
《データ記録システムの構成》
図1は、第1の実施形態に係るデータ記録システム10の構成を示す概略ブロック図である。データ記録システム10とは、データ記録装置100と、手順記憶部200と、GUIプログラム記憶部300を備えるシステムである。
手順記憶部200は、自動操作部110の自動操作にかかる手順データを記憶する。例えば、手順データとは、イベントごとに、時系列に、自動操作にかかる各ウィンドウ識別情報および各コントロールコンポーネント識別情報、コントロールコンポーネントの入力内容のデータがある。コントロールコンポーネントとは、例えば、テキストボックス、チェックボックス、ボタンがある。
GUIプログラム記憶部300とは、グラフィックにてユーザにインタフェースを表すプログラムを記憶する記憶部である。GUIプログラム記憶部300が記憶するGUIプログラムは、自動操作部110によって自動操作できる。
《データ記録装置の構成》
データ記録装置100とは、自動操作部110と、取得部120と、再現手順生成部130と、対照検証部140と、座標検証部150を備える装置である。
自動操作部110とは、手順記憶部200が記憶する手順データに基づいて、GUIプログラム記憶部300が記憶するGUIプログラムを自動操作する部である。
例えば、自動操作部110は、手順記憶部200の手順データに記載された各ウィンドウ識別情報および各コントロールコンポーネント識別情報により、入力内容にかかる各ウィンドウおよび各コントロールコンポーネントを特定する。上述の特定の後に、自動操作部110は、手順記憶部200の手順データに記載されているイベントごとの時系列順に、GUI上にポインタを動かしながら、上述により特定された各ウィンドウおよび各コントロールコンポーネントを対象に、手順記憶部200の手順データに記載されている入力内容を入力する。
取得部120とは、自動操作部110の自動操作にかかるGUI上のポインタの座標、GUI上のウィンドウの座標、ウィンドウのコントロールコンポーネントの座標、コントロールコンポーネントの入力内容を、時系列に収集する部である。
例えば、取得部120は、ポインタの位置が変わるたびに、時系列に、GUIの左上端を原点とするポインタの座標を、GUIプログラム記憶部300から取得することで、ポインタの座標を収集する。
例えば、取得部120は、ウィンドウの位置が変わるたびに、時系列に、GUIの左上端を原点とするウィンドウの左上端および右下端の座標を、GUIプログラム記憶部300から取得することで、ウィンドウの座標を収集する。
例えば、取得部120は、上述のウィンドウ上のコントロールコンポーネントごとに、コントロールコンポーネントが属するウィンドウの左上端を原点とするコントロールコンポーネントの左上端および右下端の座標を、GUIプログラム記憶部300から収集し、コントロールコンポーネントの相対座標を算出する。
上述したコントロールコンポーネントの相対座標を算出する方法は、以下の方法がある。
まず、取得部120は、上述のウィンドウ上のコントロールコンポーネントごとに、GUIの左上端を原点とするコントロールコンポーネントの左上端および右下端の座標を、GUIプログラム記憶部300から収集する。
さらに、取得部120は、上述したコントロールコンポーネントの左上端および右下端の座標から、上述したコントロールコンポーネントの属するウィンドウの左上端の座標を減算する。これにより、取得部120は、コントロールコンポーネントの左上端および右下端の相対座標を算出する。
その後、取得部120は、ウィンドウおよびコントロールコンポーネントの組み合わせごとに一意の通し番号を付与する。通し番号は、例えば、アルファベット、数字を用いることができる。
例えば、取得部120は、時系列に、GUIプログラム記憶部300からのコマンド内容を収集することにより、コントロールコンポーネントの入力内容を収集する。
再現手順生成部130は、取得部120のデータと、GUIプログラム記憶部300から収集したウィンドウ識別情報およびコントロールコンポーネント識別情報を用いて、手順記憶部200の手順データと同形式の再現手順データを生成する。ここで、識別情報は、GUIプログラムによって、規定されたものである。
例えば、上述した再現手順データの生成方法として、以下の方法が挙げられる。
再現手順生成部130は、各コントロールコンポーネントの入力の直前のポインタの座標を用いて、上述の入力にかかるウィンドウおよびコントロールコンポーネントの識別情報を特定する。
例えば、再現手順生成部130が、入力されたコントロールコンポーネントが属するウィンドウの識別情報を特定する方法は、以下の方法がある。
再現手順生成部130は、自動操作の後かつコントロールコンポーネントの入力の直前までに再現手順生成部130が座標を取得した各ウィンドウのうち、上述のポインタのX座標が、ウィンドウの最新左上端のX座標以上で且つ最新右下端のX座標以下であり、および、上述の直前のポインタのY座標が、ウィンドウの最新左上端のY座標以下で且つ最新右下端のY座標以上であるウィンドウを特定する。ここで、X座標とは横軸の座標、Y座標とは縦軸の座標を意味する。
その後、再現手順生成部130は、上述の特定されたウィンドウの座標情報を用いてウィンドウの範囲を特定する。再現手順生成部130は、上述のウィンドウの範囲に基づいて、GUIプログラム記憶部300からウィンドウの識別情報を収集し、ウィンドウの識別情報を特定する。これにより、再現手順生成部130は、コントロールコンポーネントの入力にかかるコントロールコンポーネントが属するウィンドウの識別情報を特定する。
再現手順生成部130が、入力されたコントロールコンポーネントの識別情報を特定する方法は、例えば、以下の方法がある。
コントロールコンポーネントの入力が、クリック入力である場合は、再現手順生成部130は、以下の方法で入力されたコントロールコンポーネントの識別情報を特定する。
再現手順生成部130は、コントロールコンポーネントのクリック入力の直前のポインタの座標から、入力にかかるウィンドウの最新左上端の座標を減算して、入力にかかるウィンドウの最新左上端を基準とするポインタの相対座標を求める。
また、再現手順生成部130は、自動操作の後かつコントロールコンポーネントのクリック入力の直前までに再現手順生成部130が座標を取得した各コントロールコンポーネントのうち、上述のポインタの相対座標のX座標が、コントロールコンポーネントの最新左上端の相対座標のX座標以上で且つ最新右下端の相対座標のX座標以下であり、かつ、上述の直前のポインタの相対座標のY座標が、コントロールコンポーネントの最新左上端の相対座標のY座標以下で且つ最新右下端の相対座標のY座標以上であるコントロールコンポーネントを特定する。
さらに、再現手順生成部130は、GUIプログラム記憶部300から、コントロールコンポーネントの座標情報に関連付けられた識別情報を収集する。
その後、再現手順生成部130は、入力にかかるコントロールコンポーネントの座標情報と、コントロールコンポーネントの座標情報に関連付けられた識別情報を用いて、入力にかかるコントロールコンポーネントの識別情報を特定する。
次に、コントロールコンポーネントの入力が、キー入力である場合は、再現手順生成部130は、以下の方法で、入力されたコントロールコンポーネントの識別情報を特定する。
再現手順生成部130は、コントロールコンポーネントのキー入力の直前のクリック入力の、直前のポインタの座標から、入力にかかるウィンドウの最新左上端の座標を減算し、入力にかかるウィンドウの最新左上端を基準とするポインタの相対座標を求める。
また、再現手順生成部130は、自動操作の後かつコントロールコンポーネントのクリック入力の直前までに再現手順生成部130が座標を取得した各コントロールコンポーネントのうち、上述のポインタの相対座標のX座標が、コントロールコンポーネントの最新左上端の相対座標のX座標以上で且つ最新右下端の相対座標のX座標以下であり、かつ、上述の直前のポインタの相対座標のY座標が、コントロールコンポーネントの最新左上端の相対座標のY座標以下で且つ最新右下端の相対座標のY座標以上であるコントロールコンポーネントを特定する。
さらに、再現手順生成部130は、GUIプログラム記憶部300から、コントロールコンポーネントの座標情報に関連付けられた識別情報を収集する。
その後、再現手順生成部130は、入力にかかるコントロールコンポーネントの座標情報と、コントロールコンポーネントの座標情報に関連付けられた識別情報を用いて、入力にかかるコントロールコンポーネントの識別情報を特定する。
再現手順生成部130は、上述の方法により特定されたウィンドウの識別情報が複数である場合には、入力にかかるコントロールコンポーネントの識別情報に基づいて、入力にかかるウィンドウを特定する。
再現手順生成部130は、上述の方法により、入力にかかるウィンドウおよびコントロールコンポーネントの識別情報を特定した後は、以下のように、再現手順を生成する。
再現手順生成部130は、一つのコントロールコンポーネントの入力を、一つのイベントとして記載する。ただし、再現手順生成部130は、同一のコントロールコンポーネントにて、時系列順に連続で複数のテキスト入力があった場合には、かかるコントロールコンポーネントへのテキスト入力以外の入力がされるまで、かかる複数のテキスト入力を一つのイベントにまとめる。
再現手順生成部130は、イベントごとに、ウィンドウ識別情報と、コントロールコンポーネント識別情報およびコントロールコンポーネントの入力内容を、時系列に記載し、再現手順データを生成する。
対照検証部140は、自動操作にかかる手順記憶部200の手順データと、再現手順生成部130の再現手順データを対照して、手順データを検証する。
例えば、対照検証部140は、時系列順に、イベントごとに、手順データと再現手順データの、ウィンドウ識別情報、コントロールコンポーネント識別情報およびコントロールコンポーネントの入力内容が全て同一か否か判定し、同一でない場合は、操作エラーのメッセージを表示する。
座標検証部150は、再現手順生成部130のデータと、GUIプログラム記憶部300から収集した、GUI上の最前面ウィンドウの情報に基づいて、手順データを検証する。
例えば、座標検証部150は、再現手順生成部130からデータを収集して、コントロールコンポーネントの入力にかかるウィンドウを特定する。また、座標検証部150は、GUIプログラム記憶部300からGUI上の最前面ウィンドウのデータを収集して、入力にかかるウィンドウがGUI上の最前面ウィンドウであるか否かを判定する。
上述の判定で、入力にかかるウィンドウが最前面ウィンドウではないと座標検証部150が判定した場合には、座標検証部150は、かかる入力が操作エラーか否かを検証する。
かかる入力がクリック入力の場合、座標検証部150は、かかる入力の直前のポインタのX座標が、最前面ウィンドウの最新左上端のX座標以上で且つ最新右下端のX座標以下であり、および、かかるコントロールコンポーネントの入力の直前のポインタのY座標が、最前面ウィンドウの最新左上端のY座標以下で且つ最新右下端のY座標以上である場合は、操作エラーのメッセージを表示する。
かかる入力がキー入力の場合、座標検証部150は、かかる入力の直前のクリック入力の、直前のポインタのX座標が、最前面ウィンドウの最新左上端のX座標以上で且つ最新右下端のX座標以下であり、および、かかるコントロールコンポーネントの入力の直前のポインタのY座標が、最前面ウィンドウの最新左上端のY座標以下で且つ最新右下端のY座標以上である場合は、操作エラーのメッセージを表示する。
《データ記録装置の動作》
次に、データ記録装置100の動作について説明する。
図2は、データ記録装置100の動作を示すフローチャートである。
自動操作部110は、手順記憶部200に記憶された手順データに基づいて、GUIプログラム記憶部300が記憶するGUIプログラムの自動操作を開始する(ステップS1)。
取得部120は、ステップS1により自動操作されたGUIプログラムを記憶するGUIプログラム記憶部300から、自動操作にかかるGUI上のポインタの座標、ウィンドウの座標、コントロールコンポーネントの座標、コントロールコンポーネントの入力内容を、時系列に収集する(ステップS2)。
再現手順生成部130は、ステップS2により取得部120が取得したデータ、GUIプログラム記憶部300から収集した識別情報を用いて、再現手順データを生成する(ステップS3)。
対照検証部140は、ステップS3により再現手順生成部130が生成した再現手順データと、手順記憶部200から収集した手順データを対照し、手順データを検証する(ステップS4)。
座標検証部150は、再現手順生成部130のデータと、GUIプログラム記憶部300から収集したデータに基づいて、手順記憶部200の手順データを検証する(ステップS5)。
自動操作部110が手順記憶部200の手順データの全ての内容の自動操作が完了した場合(ステップS6:YES)は、データ記録装置100の動作は終了する。他方、自動操作部110が手順記憶部200の手順データの全ての内容を自動操作していない場合(ステップS6:NO)は、取得部120は、自動操作にかかる座標情報および入力内容を収集し続ける(ステップS2)。
《具体的例示》
次に、の具体例について説明する。
図3は、自動操作部110がGUIプログラムを自動操作するために用いる手順記憶部200の手順データの具体的例示である。図3は3つのイベントが時系列順に、行ごとにイベントが記載されている手順データである。
まず、自動操作部110は、図3の表1行目のイベントのデータに基づいて、GUIプログラム記憶部300のGUIプログラムを自動操作する。つまり、自動操作部110は、ウィンドウ識別情報が「1」のウィンドウに属するコントロールコンポーネント識別情報が「1」のコントロールコンポーネントに対して、クリック入力をする内容の自動操作を、GUIプログラム記憶部300のGUIプログラムに対して行う。
さらに、自動操作部110は、図3の表2行目のイベントのデータに基づいて、GUIプログラムを自動操作する。つまり、自動操作部110は、ウィンドウ識別情報が「1」のウィンドウに属するコントロールコンポーネント識別情報が「1」のコントロールコンポーネントに対して、「ICHIRO」の複数の文字のキー入力をする内容の自動操作を、GUIプログラム記憶部300のGUIプログラムに対して行う。
その後、自動操作部110は、図3の表3行目のイベントのデータに基づいて、GUIプログラムを自動操作する。つまり、自動操作部110は、ウィンドウ識別情報が「1」のウィンドウに属するコントロールコンポーネント識別情報が「2」のコントロールコンポーネントに対して、クリック入力をする内容の自動操作を、GUIプログラム記憶部300のGUIプログラムに対して行う。
図4は、図3にかかる内容の自動操作がされた場合に、取得部120が収集する、ポインタの座標、ウィンドウの座標、コントロールコンポーネントの入力内容と、取得部120が算出したコントロールコンポーネントの相対座標の例示である。
取得部120は、表1行目のように、自動操作の開始時におけるポインタの座標、ウィンドウの座標、コントロールコンポーネントの座標を収集し、ウィンドウおよびコントロールコンポーネントごとに一意の通し番号を付与する。
取得部120は、表2行目のように、ポインタが動いてポインタの位置が変更された場合は、さらにポインタの座標を収集する。
取得部120は、コントロールコンポーネントに入力があった場合は、表3行目から表9行目のように、入力内容を収集する。
取得部120は、表10行目のように、コントロールコンポーネントの入力の後にポインタが動いてポインタの位置が変更された場合には、さらにポイントの座標を収集する。
取得部120は、表11行目のように、表3行目のクリック以降に新たなクリック入力があった場合は、新たに入力内容を収集する。
図5は、取得部120が図4にかかる内容の取得をした場合、再現手順生成部130がかかる取得部120のデータに基づいて生成した再現手順の具体例である。
図5の表1行目は、再現手順生成部130が、図4の表3行目のクリック入力にかかるイベントを生成した再現手順である。かかるクリックの直前のポインタの座標が(52,52)で、ウィンドウに対する相対座標は(22,12)となり、ウィンドウの座標および通し番号がAであるコントロールコンポーネントの相対座標の範囲に属するため、図4の表3行目のクリック入力は、コントロールコンポーネントAに対するものである。再現手順生成部130は、GUIプログラム記憶部300から収集したコントロールコンポーネントAの座標情報に関連付けられた識別情報に基づいて、かかるクリック入力のコントロールコンポーネントAの識別情報の「1」を特定し、再現手順を生成する。
図5の表2行目は、図4の表4行目から表9行目までのキー入力をまとめたイベントについて、再現手順生成部130が生成した再現手順である。再現手順生成部130は、かかるキー入力以降に発生した図4の表11行目のクリック入力までのキー入力を一つのイベントとしてまとめて、かかるキー入力の直前のクリック入力の相対座標(22,12)が属するコントロールコンポーネントの入力内容として、再現手順を生成する。
図5の表3行目は、図4の表11行目のクリック入力にかかるイベントについて、再現手順生成部130が生成した再現手順データである。かかるクリック入力の直前のポインタの座標(71、76)で、相対座標が(41,36)となり、かかるクリック入力は通し番号がBであるコントロールコンポーネントの範囲内である。よって、再現手順生成部130は、図5の3行目については、図5の表1行目のコントロールコンポーネントの識別情報とは異なる識別情報「2」にて、再現手順を生成する。
対照検証部140は、図3の手順データと図5の再現手順データを対照することにより、自動操作を検証する。つまり、対照検証部140は、図3の表1行目と図5の表1行目のウィンドウ識別情報、コントロールコンポーネント識別情報、入力内容が同一であるか否かの検証と、図3の表2行目と図5の表2行目のウィンドウ識別情報、コントロールコンポーネント識別情報、入力内容が同一であるか否かの検証と、図3の表3行目と図5の表3行目のウィンドウ識別情報、コントロールコンポーネント識別情報、入力内容が同一であるか否かの検証をする。
図6は、座標検証部150の検証の例を示す。自動操作にかかるGUI上に、ウィンドウ400と、ウィンドウ410が、図6のように同時に存在する場合、最前面ウィンドウは、ウィンドウ400である。コントロールコンポーネント420は、ウィンドウ410に属するコントロールコンポーネントである。ポイント430はコントロールコンポーネント420へのキー入力の直前のクリック入力の、直前のポイントの位置である。
自動操作にかかるキー入力がコントロールコンポーネント420へのキー入力の場合、かかるキー入力の直前のクリック入力の、直前のポイント430の座標が最前面のウィンドウ400の範囲に属するため、座標検証部150は、操作エラーのメッセージを表示する。
《作用・効果》
このように、本実施形態によれば、データ記録装置100は、自動操作部110と、取得部120と、再現手順生成部130を備える。つまり、自動操作部110にかかる自動操作の内容について、取得部120が取得したデータに基づいて、再現手順生成部130が再現手順データを生成するため、ユーザは、かかる再現手順データを用いて自動操作について期待通りの結果が得られたのか否かを検証でき、自動操作の検証における手作業を削減できる。
本実施形態によれば、データ記録装置100は、取得部120が自動操作にかかる情報として座標を収集する。つまり、データ記録装置100は、取得部120がGUIプログラム記憶部300のGUIプログラムから、入力にかかるコントロールコンポーネントの識別情報を直接特定できる情報を得られない場合であっても、座標を収集することにより、入力にかかるコントロールコンポーネントの識別情報を特定でき、再現手順生成部130が再現手順を生成できる。
本実施形態によれば、データ記録装置100は、手順記憶部200の手順データを検証する対照検証部140を備える。つまり、データ記録装置100は、再現手順データを検証する再現手順生成部130が再現手順を検証するため、再現手順データを用いて自動操作を検証することについて、より手作業を削減できる。
本実施形態によれば、データ記録装置100は、最前面ウィンドウにかかるデータと再現手順生成部130の座標データにより自動操作を検証する座標検証部150を備える。これにより、座標検証部150は、自動操作を検証できる。また、データ記録装置100は、対照検証部140を備えない別の実施形態による場合でも、座標検証部150を備えることにより、自動操作を検証できる。
〈他の実施形態〉
なお、本実施形態は、取得部120がGUIプログラム記憶部300のGUIプログラムからポインタの座標、ウィンドウの座標およびコントロールコンポーネントの座標を取得するが、他の実施形態では、取得部120が、コントロールコンポーネント入力にかかるウィンドウおよびコントロールコンポーネントの識別情報を、GUIプログラム記憶部300のGUIプログラムから直接収集しても良い。この場合、再現手順生成部130は、取得部120が収集したウィンドウおよびコントロールコンポーネントの識別情報と、コントロールコンポーネントの入力内容を用いて、再現手順データを生成する。
この場合、データ記録装置100は、再現手順生成部130が収集するデータの量を減らすことができ、より早く再現手順を生成できる。
《基本構成》
図7は、本発明によるデータ記録装置の基本構成を示す概略ブロック図である。
上述した実施形態では、本発明によるデータ記録装置の一実施形態として図1に示す構成について説明したが、本発明によるデータ記録装置の基本構成は、図7に示すとおりである。
すなわち、本発明によるは、自動操作部110と、取得部120と、再現手順生成部130を基本構成とする。
自動操作部110は、手順記憶部200に記憶された手順データに基づいて、GUIプログラム記憶部300のGUIプログラムを自動操作する。
取得部120は、自動操作部110の自動操作にかかるGUI上のウィンドウおよびコントロールコンポーネントの情報、コントロールコンポーネントの入力内容を、時系列に収集する。
再現手順生成部130は、取得部120のデータ、GUIプログラム記憶部300のGUIプログラムから収集したウィンドウ識別情報およびコントロールコンポーネント識別情報を用いて、手順記憶部200の手順データと同形式の再現手順データを生成する。
図8は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ500は、プロセッサ510、メインメモリ520、ストレージ530、インタフェース540を備える。
上述のデータ記録装置100は、コンピュータ500に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ530に記憶されている。プロセッサ510は、プログラムをストレージ530から読み出してメインメモリ520に展開し、当該プログラムに従って上記処理を実行する。また、プロセッサ510は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ520に確保する。
プログラムは、コンピュータ500に発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、ストレージ530に既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。なお、他の実施形態においては、コンピュータ500は、上記構成に加えて、または上記構成に代えてPLD(Programmable Logic Device)などのカスタムLSI(Large Scale Integrated Circuit)を備えてもよい。PLDの例としては、PAL(Programmable Array Logic)、GAL(Generic Array Logic)、CPLD(Complex Programmable Logic Device)、FPGA(Field Programmable Gate Array)が挙げられる。この場合、プロセッサ510によって実現される機能の一部または全部が当該集積回路によって実現されてよい。
ストレージ530の例としては、磁気ディスク、光磁気ディスク、半導体メモリ等が挙げられる。ストレージ530は、コンピュータ500のバスに直接接続された内部メディアであってもよいし、インタフェース540または通信回線を介してコンピュータに接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ500に配信される場合、配信を受けたコンピュータ500が当該プログラムをメインメモリ520に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ530は、一時的でない有形の記憶媒体である。
また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能をストレージ530に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であってもよい。
10 データ記録システム
100 データ記録装置
110 自動操作部
120 取得部
130 再現手順生成部
140 対照検証部
150 座標検証部
200 手順記憶部
300 GUIプログラム記憶部
500 コンピュータ
510 プロセッサ
520 メインメモリ
530 ストレージ
540 インタフェース

Claims (6)

  1. 自動操作にかかる手順データを記憶する手順記憶部に記憶された前記手順データに基づいて、GUIプログラムを自動操作する自動操作部と、
    前記自動操作にかかるGUI上のウィンドウおよびコントロールコンポーネントの情報、前記コントロールコンポーネントの入力内容を、時系列に収集する取得部と、
    前記自動操作の後かつ前記コントロールコンポーネントの入力の直前までに座標が取得された各ウィンドウのうち、前記GUI上のポインタの横軸における座標が、ウィンドウの最新左上端の前記横軸における座標以上でかつ最新右下端の前記横軸における座標以下であり、更に、前記GUI上のポインタの縦軸における座標が、ウィンドウの最新左上端の前記縦軸における座標以下でかつ最新右下端の前記縦軸における座標以上であるウィンドウを特定し、特定したウィンドウの座標情報に基づいてウィンドウ識別情報を特定するとともに、前記コントロールコンポーネントの入力の直前のポインタの座標から、ウィンドウの最新左上端の座標を減算して、ウィンドウの最新左上端を基準とする前記コントロールコンポーネントの入力の直前のポインタの相対座標を求め、前記自動操作の後かつ前記コントロールコンポーネントの入力の直前までに座標が取得された各コントロールコンポーネントのうち、前記相対座標の前記横軸における座標が、コントロールコンポーネントの最新左上端の相対座標の前記横軸における座標以上でかつ最新右下端の相対座標の前記横軸における座標以下であり、更に、前記相対座標の前記縦軸における座標が、コントロールコンポーネントの最新左上端の相対座標の前記縦軸における座標以下でかつ最新右下端の相対座標の前記縦軸における座標以上であるコントロールコンポーネントを特定し、特定したコントロールコンポーネントの座標情報に関連付けられたコントロールコンポーネント識別情報を特定し、前記取得部が収集したデータ、特定したウィンドウ識別情報、特定したコントロールコンポーネント識別情報を用いて、前記手順データと同形式の再現手順データを生成する再現手順生成部と、
    を備えるデータ記録装置。
  2. 前記取得部は、前記GUI上のポインタの座標、前記GUI上のウィンドウの座標、前記コントロールコンポーネントの座標、前記コントロールコンポーネントの入力内容を、時系列に収集する
    請求項1に記載のデータ記録装置。
  3. 前記手順データと前記再現手順データを対照し、前記手順データを検証する対照検証部を備える
    請求項1または請求項2に記載のデータ記録装置。
  4. 前記再現手順生成部のデータと、前記GUIプログラムから収集した最前面ウィンドウの情報に基づいて、前記手順データを検証する座標検証部を備える
    請求項1から請求項3のいずれか1項に記載のデータ記録装置。
  5. 自動操作にかかる手順データを記憶する手順記憶部に記憶された前記手順データに基づいて、GUIプログラムを自動操作するステップ、
    前記自動操作にかかるGUI上のウィンドウおよびコントロールコンポーネントの情報、前記コントロールコンポーネントの入力内容を、時系列に収集するステップ、
    前記自動操作の後かつ前記コントロールコンポーネントの入力の直前までに座標が取得された各ウィンドウのうち、前記GUI上のポインタの横軸における座標が、ウィンドウの最新左上端の前記横軸における座標以上でかつ最新右下端の前記横軸における座標以下であり、更に、前記GUI上のポインタの縦軸における座標が、ウィンドウの最新左上端の前記縦軸における座標以下でかつ最新右下端の前記縦軸における座標以上であるウィンドウを特定するステップ、
    特定したウィンドウの座標情報に基づいてウィンドウ識別情報を特定するステップ、
    前記コントロールコンポーネントの入力の直前のポインタの座標から、ウィンドウの最新左上端の座標を減算して、ウィンドウの最新左上端を基準とする前記コントロールコンポーネントの入力の直前のポインタの相対座標を求めるステップ、
    前記自動操作の後かつ前記コントロールコンポーネントの入力の直前までに座標が取得された各コントロールコンポーネントのうち、前記相対座標の前記横軸における座標が、コントロールコンポーネントの最新左上端の相対座標の前記横軸における座標以上でかつ最新右下端の相対座標の前記横軸における座標以下であり、更に、前記相対座標の前記縦軸における座標が、コントロールコンポーネントの最新左上端の相対座標の前記縦軸における座標以下でかつ最新右下端の相対座標の前記縦軸における座標以上であるコントロールコンポーネントを特定するステップ、
    特定したコントロールコンポーネントの座標情報に関連付けられたコントロールコンポーネント識別情報を特定するステップ、
    収集したデータ、特定したウィンドウ識別情報、特定したコントロールコンポーネント識別情報を用いて、前記手順データと同形式の再現手順データを生成するステップ、
    前記時系列に収集されたデータ、前記GUIプログラムから収集したウィンドウ識別情報、前記GUIプログラムから収集したコントロールコンポーネント識別情報を用いて、前記手順データと同形式の再現手順データを生成するステップ、
    を有するデータ記録方法。
  6. コンピュータを、
    自動操作にかかる手順データを記憶する手順記憶部に記憶された前記手順データに基づいて、GUIプログラムを自動操作する自動操作部、
    前記自動操作にかかるGUI上のウィンドウおよびコントロールコンポーネントの情報、前記コントロールコンポーネントの入力内容を、時系列に収集する取得部、
    前記自動操作の後かつ前記コントロールコンポーネントの入力の直前までに座標が取得された各ウィンドウのうち、前記GUI上のポインタの横軸における座標が、ウィンドウの最新左上端の前記横軸における座標以上でかつ最新右下端の前記横軸における座標以下であり、更に、前記GUI上のポインタの縦軸における座標が、ウィンドウの最新左上端の前記縦軸における座標以下でかつ最新右下端の前記縦軸における座標以上であるウィンドウを特定し、特定したウィンドウの座標情報に基づいてウィンドウ識別情報を特定するとともに、前記コントロールコンポーネントの入力の直前のポインタの座標から、ウィンドウの最新左上端の座標を減算して、ウィンドウの最新左上端を基準とする前記コントロールコンポーネントの入力の直前のポインタの相対座標を求め、前記自動操作の後かつ前記コントロールコンポーネントの入力の直前までに座標が取得された各コントロールコンポーネントのうち、前記相対座標の前記横軸における座標が、コントロールコンポーネントの最新左上端の相対座標の前記横軸における座標以上でかつ最新右下端の相対座標の前記横軸における座標以下であり、更に、前記相対座標の前記縦軸における座標が、コントロールコンポーネントの最新左上端の相対座標の前記縦軸における座標以下でかつ最新右下端の相対座標の前記縦軸における座標以上であるコントロールコンポーネントを特定し、特定したコントロールコンポーネントの座標情報に関連付けられたコントロールコンポーネント識別情報を特定し、前記取得部が収集したデータ、特定したウィンドウ識別情報、特定したコントロールコンポーネント識別情報を用いて、前記手順データと同形式の再現手順データを生成する再現手順生成部、
    として機能させるためのプログラム。
JP2019069092A 2019-03-29 2019-03-29 データ記録装置、データ記録方法およびプログラム Active JP7306022B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019069092A JP7306022B2 (ja) 2019-03-29 2019-03-29 データ記録装置、データ記録方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019069092A JP7306022B2 (ja) 2019-03-29 2019-03-29 データ記録装置、データ記録方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2020166773A JP2020166773A (ja) 2020-10-08
JP7306022B2 true JP7306022B2 (ja) 2023-07-11

Family

ID=72714924

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019069092A Active JP7306022B2 (ja) 2019-03-29 2019-03-29 データ記録装置、データ記録方法およびプログラム

Country Status (1)

Country Link
JP (1) JP7306022B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012018583A (ja) 2010-07-08 2012-01-26 Canon Inc ソフトウェア開発支援装置及びその処理方法
US20130311827A1 (en) 2012-05-16 2013-11-21 International Business Machines Corporation METHOD and APPARATUS for automatic testing of automation software
JP2015007825A (ja) 2013-06-24 2015-01-15 日本電信電話株式会社 コンピュータの自動操作装置、自動操作方法、及び自動操作プログラム
JP2015076041A (ja) 2013-10-11 2015-04-20 日本電信電話株式会社 誤入力検出装置および誤入力検出プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08123676A (ja) * 1994-10-27 1996-05-17 Hitachi Ltd ウインドウ操作手順の記録再生装置
JP3008872B2 (ja) * 1997-01-08 2000-02-14 日本電気株式会社 Guiシステム自動操作装置および操作マクロ実行装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012018583A (ja) 2010-07-08 2012-01-26 Canon Inc ソフトウェア開発支援装置及びその処理方法
US20130311827A1 (en) 2012-05-16 2013-11-21 International Business Machines Corporation METHOD and APPARATUS for automatic testing of automation software
JP2015007825A (ja) 2013-06-24 2015-01-15 日本電信電話株式会社 コンピュータの自動操作装置、自動操作方法、及び自動操作プログラム
JP2015076041A (ja) 2013-10-11 2015-04-20 日本電信電話株式会社 誤入力検出装置および誤入力検出プログラム

Also Published As

Publication number Publication date
JP2020166773A (ja) 2020-10-08

Similar Documents

Publication Publication Date Title
CN107025174B (zh) 用于设备的用户界面异常测试的方法、装置和可读储介质
JP5779077B2 (ja) プログラムの生成を支援する装置及び方法
JP2017524169A (ja) ユーザの操作行為に基いて解決策をレコメンドする方法および装置
KR101718070B1 (ko) 제스처 조합 기반의 이벤트 실행이 가능한 터치스크린 장치 및 그 동작 방법
CN113076257B (zh) 测试脚本录制方法、装置、介质及计算机设备
KR101460860B1 (ko) 상태 기반의 테스트 시나리오 모델을 이용한 gui 테스트 장치 및 방법
JP7306022B2 (ja) データ記録装置、データ記録方法およびプログラム
JP4896909B2 (ja) シナリオ生成装置及びプログラム
CN106155740A (zh) 用于进行卸载控制的方法和装置
CN109871172B (zh) 一种自动化测试中的鼠标点击方法、装置及可读存储介质
JP2017107265A (ja) テストシナリオ作成支援システム及びテストシナリオ作成支援方法
CN111382643B (zh) 一种手势检测方法、装置、设备及存储介质
JP6233034B2 (ja) 基板解析プログラム、情報処理装置及び基板解析方法
CN116305375A (zh) 一种快速检查三维数模干涉位置的方法、系统、装置及其存储介质
US20080275756A1 (en) Apparatus and method for analyzing business continuity, and computer product
JP2017167739A (ja) 寸法公差解析システム、寸法公差解析方法、3次元モデル生成プログラム及び記録媒体
JP2019106093A (ja) 計算機、ログの再現方法及び記憶媒体
JP6747161B2 (ja) ソフトウェア品質判定方法
CN114489461A (zh) 触控响应方法、装置、设备及存储介质
US11294788B2 (en) Predicting performance of a computer system
US11222226B2 (en) Monitoring-screen-data generation device, monitoring-screen-data generation method, and recording medium
CN111190674A (zh) 统一处理触摸穿透方法、装置、存储介质及一体机设备
JP2008262473A (ja) 設備保全管理システム
CN110806981A (zh) 一种应用程序测试方法、装置、设备和存储介质
JP2020017131A (ja) 作業異常検知支援装置、作業異常検知支援方法、および作業異常検知支援プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221223

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230221

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230612

R151 Written notification of patent or utility model registration

Ref document number: 7306022

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151