(第一の実施形態)
以下に図面を参照して実施形態について説明する。図1は、操作内容の記録と再生について説明する図である。
本実施形態では、コンピュータ100において行われた操作の内容を、操作記録情報200として記録する。記録された操作記録情報200は、コンピュータ300−1、300−2において読み込まれ、記録された操作が再現される。
本実施形態において、操作記録情報200として内容が記録される操作は、例えばコンピュータ100で繰り返し行わせたい操作や、コンピュータ300−1、300−2等の他のコンピュータで行わせたい操作等である。
尚、図1では、操作記録情報200を再生するコンピュータを、コンピュータ300−1、300−2の2台としたが、操作記録情報200を再生するコンピュータの数は任意であって良い。以下の説明では、コンピュータ300−1、300−2を区別しない場合には、単にコンピュータ300と呼ぶ。
また、以下の説明では、操作の内容を操作記録情報200として記録するコンピュータ100を、記録装置100と呼び、操作記録情報200を再生するコンピュータ300を再生装置300と呼ぶ。
本実施形態では、記録装置100において、操作記録情報200を記録することで、記録装置100で行われた操作を自動的に任意の数の再生装置300に行わせることができる。したがって、本実施形態によれば、例えば複数台のコンピュータに同一の設定を行う操作を実施する場合等には、1台の記録装置100において該当する操作を実施して操作記録情報200を記録し、この操作記録情報200を複数台のコンピュータに再生させれば良い。
また、本実施形態では、記録装置100と再生装置300とを別のコンピュータとしているが、これに限定されない。記録装置100と再生装置300とは、同一の装置であっても良い。この場合、例えば1台のコンピュータに複数回同じ操作を実行させたい場合等に、操作記録情報200を記録し、再生させれば良い。
尚、本実施形態の操作記録情報200は、例えば記録装置100において、外部の記憶装置や可搬型の記憶媒体等に記録されても良い。
次に、本実施形態の記録装置100による操作記録情報200の記録と、再生装置300による操作記録情報200の再生について説明する。
本実施形態の記録装置100は、表示画面に表示されたオブジェクトを特定するオブジェクト特定情報と、特定されたオブジェクトに対して行われた操作の種類を示す操作種類情報と、を操作記録情報200として記録する。言い換えれば、本実施形態の操作記録情報200は、オブジェクト特定情報と、オブジェクト特定情報に対応付けられた操作種類情報とを含む。本実施形態におけるオブジェクトとは、画面上に選択可能な状態で表示され得るものであり、且つ操作の対象となる表示部品である。
以下に、オブジェクト特定情報について説明する。
本実施形態のオブジェクト特定情報は、操作対象とされたオブジェクトの階層を示す階層情報と、表示画面に表示された各オブジェクトの並び順を示すインデックス情報と、を含む。
本実施形態の階層情報は、デスクトップを最上位の階層としたとき、階層情報の取得対象とされたオブジェクトが所属する階層から最上位の階層までに、取得対象のオブジェクトが従属しているオブジェクトの名称と、取得対象のオブジェクトの名称と、を上位の階層にあるものから順に並べた情報である。つまり、本実施形態の階層情報は、操作対象のオブジェクトと、表示画面における他のオブジェクトとの関係を示す情報である。
インデックス情報とは、オブジェクトの名称に付与されるものであり、オブジェクトの属する階層の1階層上の階層における、該当するオブジェクトの並び順(配置)を示す。
本実施形態のオブジェクトの名称は、記録装置100に搭載されたOS(Operating System)により取得されるオブジェクト情報に含まれる。オブジェクト情報は、オブジェクトの名称、種類、自身が従属するオブジェクトの名称、自身に従属しているオブジェクトの名称、その名称のオブジェクトの数等の情報が含まれる。
本実施形態の再生装置300は、操作記録情報200に含まれるオブジェクト特定情報に基づき、再生装置300の表示画面において、操作の対象となるオブジェクトを特定する。そして、再生装置300は、操作種類情報に基づき、特定されたオブジェクトに対して操作種類情報が示す種類の操作を発生させる。
したがって、本実施形態によれば、操作記録情報200の再生の際に、表示画面における操作対象のオブジェクトの表示位置に関わらず操作を再現でき、操作の再現の精度を向上させることができる。
また、本実施形態によれば、操作記録情報200の再生の際に、操作内容を記録する際の表示画面の設定環境と、操作内容を再生する際の表示画面の設定環境とが異なる場合等でも、どのオブジェクトに何の操作が行われたかを特定できる。よって、本実施形態によれば、記録時の環境と再生時の環境の違いに影響を抑えることができ、汎用性を向上させることができる。
図2は、記録装置による操作記録情報の記録と、再生装置による操作記録情報の再生を説明する図である。
図2では、記録装置100の表示画面101に表示されたオブジェクトに対して行われた操作の内容を記録する例を示している。表示画面101は、記録装置100のディスプレイ等に表示される。
表示画面101は、記録装置100のデスクトップ画面であり、オブジェクト102−1〜107−1、102−2〜107−2が表示されている。オブジェクト102−1〜107−1、102−2〜107−2は、それぞれが選択可能であり、且つ操作の対象となり得る。
オブジェクト102−1、102−2は、アプリケーション「XYZ」の起動により立ち上げられたウィンドウである。つまり、表示画面101は、同一名称のアプリケーション「XYZ」が複数立ち上げられた状態を示している。
オブジェクト103−1、103−2、104−1、104−2は、起動しているアプリケーション「XYZ」それぞれに対する操作を行うための表示部品である。
オブジェクト103−1、104−1は、オブジェクト102−1の内部に表示された、オブジェクト102−1の1階層下の階層のオブジェクトであり、オブジェクト102−1に従属している。オブジェクト103−2、104−2は、オブジェクト102−2の内部に表示された、オブジェクト102−2の1階層下のオブジェクトであり、オブジェクト102−2に従属している。
オブジェクト105−1、105−2は、それぞれが対応するウィンドウの最小化の要求を行うための表示部品である。オブジェクト106−1、106−2は、それぞれが対応するウィンドウを閉じる要求を行うための表示部品である。ウィンドウを閉じる要求とは、アプリケーション「XYZ」の終了の要求である。オブジェクト107−1、107−2は、それぞれが対応するウィンドウの最大化の要求を行うための表示部品である。
オブジェクト105−1、106−1、107−1は、オブジェクト102−1の内部に表示された表示部品であり、オブジェクト102−1の1階層下のオブジェクトである。オブジェクト105−2、106−2、107−2は、オブジェクト102−2の内部に表示された表示部品であり、オブジェクト102−2の1階層下のオブジェクトである。
ここで、表示画面101に表示されたオブジェクトのうち、名称と種類が一致するオブジェクトについて考える。オブジェクトの名称とは、オブジェクト内に表示されたテキストデータである。オブジェクトの種類とは、例えばウィンドウ、ダイアログボックス、ボタン(最小化、最大化、閉じる等)、ラベル等を示す。
図2の例では、オブジェクト102−1、102−2は、同一のアプリケーション「XYZ」によって表示されるウィンドウであり、オブジェクトの名称と種類が一致する。
オブジェクト102−1には、オブジェクト103−1とオブジェクト104−1が表示されている。オブジェクト103−1とオブジェクト104−1のそれぞれは、名称が「OK」、種類が「ボタン」であり、両方ともオブジェクト102−1に従属しており、自身に従属するオブジェクトは存在しない。
オブジェクト102−2には、オブジェクト103−2とオブジェクト104−2が表示されている。オブジェクト103−2とオブジェクト104−2のそれぞれは、名称が「OK」、種類が「ボタン」であり、両方ともオブジェクト102−2に従属しており、自身に従属するオブジェクトは存在しない。
したがって、オブジェクト102−1、102−2のそれぞれのオブジェクト情報は同一の情報となる。また、オブジェクト103−1、104−1、103−2、104−2のそれぞれのオブジェクト情報は、同一の情報となる。
このため、例えば、表示画面101において、ポインタPによりオブジェクト103−2を選択してクリック操作を行い、その次にオブジェクト104−1を選択してクリック操作を行った場合、単にオブジェクト情報を取得しただけでは、オブジェクト103−2とオブジェクト104−1のオブジェクト情報が同一のものとなり、区別がつかなくなる。したがって、このオブジェクト情報を操作種類情報と対応付けて操作記録情報とした場合、再生装置300に操作を正しく再生させることができない。
そこで、本実施形態の記録装置100は、表示画面に、操作対象とオブジェクト情報が同一となるオブジェクトが複数存在する場合、操作対象のオブジェクトの名称にインデックス情報を付与する。
そして、記録装置100は、インデックス情報が含むオブジェクト特定情報を、操作種類情報と共に操作記録情報200として記録する。
本実施形態では、インデックス情報を付与することで、操作対象のオブジェクトを表示画面上で一意に特定することができる。したがって、例えばオブジェクト103−2に対する操作の操作記録情報と、オブジェクト104−1に対する操作の操作記録情報とは異なるものとなり、これらの操作の操作記録情報を区別して記録することができる。
また、以下の説明では、オブジェクト情報が一致するオブジェクト同士を、同一のオブジェクトと呼ぶ。
また、本実施形態の再生装置300は、操作記録情報200を再生する際に、再生装置300の表示画面において、操作対象となるオブジェクトと同一のオブジェクトの数が、記録装置100の表示画面における操作対象のオブジェクトと同一のオブジェクトの数と一致するか否かを判定する。
そして、本実施形態の再生装置300は、操作対象のオブジェクトと同一のオブジェクトの数が操作記録情報200と一致する場合に再生の処理を実行する。また、本実施形態の再生装置300は、操作対象のオブジェクトと同一のオブジェクトの数が一致しない場合は、エラーとして再生の処理を停止させる。再生装置300において、表示されるオブジェクトの数が記録時と異なる場合には、何らかの理由により操作が正しく再現されていないと考えられるからである。
以上のように、本実施形態の記録装置100は、操作記録情報200を記録する際に、画面上に同一のオブジェクトが複数存在する場合でも、操作対象とされたオブジェクトを区別して記録することができる。
また、本実施形態の再生装置300は、操作記録情報200を再生する際に、操作対象のオブジェクトと同一のオブジェクトが複数存在していても、記録時に操作対象とされたオブジェクトを特定し、そのオブジェクトに対する操作を再現することができる。
よって、本実施形態によれば、操作の再現の精度を向上させることができる。
次に、図3を参照して本実施形態の記録装置100と再生装置300のハードウェア構成について説明する。本実施形態の記録装置100と再生装置300のハードウェア構成は、同じであるため、図3では、記録装置のハードウェア構成について説明し、再生装置300のハードウェア構成の説明は省略する。
図3は、記録装置のハードウェア構成の一例を示す図である。本実施形態の記録装置100は、それぞれバスBで相互に接続されている入力装置11、出力装置12、ドライブ装置13、補助記憶装置14、メモリ装置15、演算処理装置16及びインターフェース装置17を含む。
入力装置11はキーボードやマウス等を含み、各種信号を入力するために用いられる。出力装置12はディスプレイ装置等を含み、各種ウィンドウやデータ等を表示するために用いられる。インターフェース装置17は、モデム、LANカード等を含み、ネットワークに接続する為に用いられる。
操作記録再生プログラムは、記録装置100を制御する各種プログラムの少なくとも一部である。操作記録再生プログラムは例えば記録媒体18の配布やネットワークからのダウンロードなどによって提供される。操作記録再生プログラムを記録した記録媒体18は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
また、操作記録再生プログラムは、操作記録再生プログラムを記録した記録媒体18がドライブ装置13にセットされるとは記録媒体18からドライブ装置13を介して補助記憶装置14にインストールされる。ネットワークからダウンロードされた操作記録再生プログラムは、インターフェース装置17を介して補助記憶装置14にインストールされる。
補助記憶装置14は、インストールされた操作記録再生プログラムを格納すると共に、必要なファイル、データ等を格納する。メモリ装置15は、コンピュータの起動時に補助記憶装置14から操作記録再生プログラムを読み出して格納する。そして、演算処理装置16はメモリ装置15に格納された操作記録再生プログラムに従って、後述するような各種処理を実現している。
また、本実施形態の記録装置100は、例えばタブレット型のコンピュータ等であっても良い。その場合、入力装置11及び出力装置12の代わりに、表示機能を有するタッチパネル等の表示操作装置を有していても良い。
次に、図4を参照して本実施形態の記録装置100と再生装置300の機能について説明する。
図4は、第一の実施形態の記録装置及び再生装置の機能構成を説明する図である。本実施形態の記録装置100は、操作記録再生処理部110を有する。また、本実施形態の再生装置300は、操作記録再生処理部310を有する。
本実施形態の操作記録再生処理部110は、記録装置100にインストールされた操作記録再生プログラムを演算処理装置16が実行することで実現される。
また、本実施形態の操作記録再生処理部310は、再生装置300にインストールされた操作記録再生プログラムを、再生装置300の演算処理装置が実行することで実現される。
ここで、本実施形態において、記録装置100と再生装置300のそれぞれにインストールされる操作記録再生プログラムは、同一のプログラムであって良い。
記録装置100では、操作記録再生プログラムに含まれる記録プログラムを実行することで記録処理部120を実現し、コンピュータを記録装置100として動作させる。
また、再生装置300では、操作記録再生プログラムに含まれる再生プログラムを実行することで再生処理部330を実現し、コンピュータを再生装置300として動作させる。
始めに、本実施形態の記録装置100について説明する。本実施形態の記録装置100の操作記録再生処理部110は、記録処理部120、再生処理部130を有する。
本実施形態の記録処理部120は、操作検知部121、割込発生部122、オブジェクト情報取得部123、操作種類取得部124、階層情報取得部125、オブジェクト数判定部126、インデックス付与部127、操作記録部128を有する。
操作検知部121は、記録装置100において行われた操作を検知する。具体的には、本実施形態の操作検知部121は、記録装置100に搭載されたOSがクリック操作、ドラッグ操作、ドロップ操作を検知したことを示す通知を受け付け、操作を受け付けたことを割込発生部122へ通知する。
本実施形態では、画面上の同一の座標において、マウスボタンのボタンダウンとボタンアップが検知されたとき、この操作はクリック操作として検知される。また、本実施形態では、マウスボタンのボタンダウン後に、ポインタが指し示す座標が移動した場合に、この操作はドラッグ操作として検知される。また、本実施形態では、ポインタが指し示す座標が移動した後のマウスボタンのボタンアップを検知したとき、この操作はドロップ操作として検知される。
割込発生部122は、操作検知部121により検知対象の操作が検知されると、記録装置100に搭載されたOSに対して割り込みを発生させ、操作内容を記録する処理の実行を要求する。
オブジェクト情報取得部123は、割り込みが発生すると、ポインタが指し示しているオブジェクトに関するオブジェクト情報を取得する。
具体的には、オブジェクト情報取得部123は、表示画面においてポインタが指し示している位置の座標情報を取得し、この座標情報を記録装置100に搭載されたOSに渡し、OSから座標情報と対応するオブジェクトのオブジェクト情報を受け取る。
操作種類取得部124は、割り込みが発生すると、操作検知部121により検知された操作の種類を示す情報を取得する。
階層情報取得部125は、オブジェクトの階層情報を取得する。具体的には、階層情報取得部125は、階層情報の取得対象とされたオブジェクトについて、そのオブジェクトが従属している全てのオブジェクトの名称を取得する。つまり、階層情報取得部125は、階層情報の取得対象のオブジェクトが属する階層から1つ上の階層から最上位の階層(デスクトップ)に到達するまでに辿れる全てのオブジェクトの名称と、取得対象のオブジェクトの名称と、を階層情報として取得する。
オブジェクト数判定部126は、オブジェクト情報及び階層情報に基づき、表示画面上における、判定対象のオブジェクトと同一のオブジェクトの数を判定する。
インデックス付与部127は、オブジェクト数判定部126により、表示画面上に同一のオブジェクトが複数存在すると判定されたとき、複数のオブジェクトのそれぞれの名称に、オブジェクトの並び順を示すインデックス情報を付与する。
操作記録部128は、オブジェクトの名称にインデックス情報を付与したオブジェクト特定情報を、操作種類情報と対応付けた操作記録情報200として記録する。また、本実施形態の操作記録部128は、記録処理の終了指示を受け付けたとき、記録の処理を終了する。
操作記録情報200は、例えば可搬型の記憶媒体210に記録される。記憶媒体210は、再生装置300において読取可能な記憶媒体であれば良い。
次に、本実施形態の再生装置300について説明する。本実施形態の再生装置の操作記録再生処理部310は、記録処理部320、再生処理部330を有する。
本実施形態の再生装置300では、上述したように、再生処理部330が実現される。本実施形態の再生処理部330は、操作記録読込部331、操作種類特定部332、存在判定部333、オブジェクト数比較部334、オブジェクト特定部335、操作発生要求部336、テーブル格納部337を有する。
操作記録読込部331は、記憶媒体210に格納された操作記録情報200を読み込む。操作種類特定部332は、操作記録情報200に含まれる操作種類情報から、特定したオブジェクトに対して行う操作の種類を特定する。
存在判定部333は、再生装置300の表示画面上に、操作記録情報200が示すオブジェクトが存在するか否か(表示されているか否か)を判定する。存在判定部333は、再生装置300の表示画面上に該当するオブジェクトが存在しない場合、エラーとして操作記録情報200の再生を停止させる。
オブジェクト数比較部334は、再生装置300の表示画面上に、操作記録情報200が示すオブジェクトが存在すると判定されたとき、操作記録情報200が示すオブジェクトの数と、表示画面上におけるこのオブジェクトの数と、を比較する。そして、オブジェクト数比較部334は、比較結果が一致しない場合には、エラーとして操作記録情報200の再生を停止させる。
オブジェクト特定部335は、オブジェクト数比較部334による比較結果が一致したとき、操作記録情報200に含まれるオブジェクト特定情報に基づき、操作対象のオブジェクトに特定する。
操作発生要求部336は、再生装置300に搭載されたOSに対して、操作対象のオブジェクトに対して特定した操作を発生させるための操作発生要求を行う。再生装置300では、OSに対して操作発生要求を行うことで、OSの機能により要求した操作が発生し、操作記録情報200に記録された操作内容が再生装置300において再現される。
テーブル格納部337は、存在判定部333の処理において参照されるテーブルを格納する。テーブル格納部337が格納するテーブルの詳細は後述する。
次に、図5を参照して、本実施形態のオブジェクト特定情報について説明する。図5は、オブジェクト情報を説明する図である。
図5では、図2に示す表示画面101に対する操作により取得されるオブジェクト特定情報を説明する。
図2に示す表示画面101に表示された各オブジェクトのオブジェクト情報を示している。
オブジェクト情報112−1は、オブジェクト102−1のオブジェクト情報であり、オブジェクト情報112−2は、オブジェクト102−2のオブジェクト情報である。オブジェクト情報112−1、112−2のそれぞれは、オブジェクト102−1、102−2の名称と種類及びオブジェクト102−1、102−2に含まれるオブジェクトの名称とその数が含まれる。
本実施形態のオブジェクト102−1、102−2は、デスクトップ101Aを最上位の階層とした場合に、デスクトップ101Aの1つ下の階層のオブジェクトとなる。デスクトップ101Aは、オブジェクトではないため、オブジェクト102−1、102−2が従属しているオブジェクトは存在しない。よって、オブジェクト情報112−1、112−2には、オブジェクト102−1、102−2が従属するオブジェクトの名称は含まれない。
また、本実施形態のオブジェクト102−1、102−2には、それぞれにオブジェクト103−1、104−1とオブジェクト103−2、104−2が含まれる。したがって、オブジェクト情報112−1には、オブジェクト102−1に含まれる(従属する)103−1、104−1の名称が含まれる。また、オブジェクト情報112−1には、オブジェクト102−1に含まれるオブジェクトのうち、名称が一致するオブジェクトの個数が含まれる。
オブジェクト102−1、102−2は、両者ともアプリケーション「XYZ」により起動されるウィンドウである。よって、オブジェクト情報112−1、112−2のどちらも、名称「XYZ」、種類「ウィンドウ」を含む。また、オブジェクト102−1、102−2は、両者ともに、オブジェクトの名称が「OK」となるオブジェクトが2つずつ含まれる。このため、オブジェクト情報112−1、112−2のどちらも、含んでいるオブジェクトの名称「OK」と、個数「2」を含む。
したがって、オブジェクト情報112−1、112−2は同一の情報となり、それぞれに同一の識別子が付与される。
本実施形態の識別子とは、オブジェクトをデスクトップ101Aに表示させるときに、各オブジェクトのオブジェクト情報に付与される識別子である。この識別子は、アプリケーションXYZの実行によって付与され、画面の表示が遷移する度に新たに付与されるものであり、オブジェクト情報には含まれなくても良い。また、本実施形態では、同一のオブジェクト情報に対しては同一の識別子が付与される。以下の説明では、オブジェクト情報を識別するための識別子を、オブジェクトIDと呼ぶ。
オブジェクト情報113−1、114−1は、オブジェクト103−1、104−1のオブジェクト情報であり、オブジェクト103−1、104−1の名称と種類と及びオブジェクト103−1、104−1のそれぞれが従属するオブジェクトの名称が含まれる。また、オブジェクト103−1、104−1に含まれるオブジェクトは存在しない。したがって、オブジェクト情報113−1、114−1には、含まれるオブジェクトの名称と個数を示す情報は含まれない。
オブジェクト103−1の名称は「OK」であり、種類は「ボタン」である。また、オブジェクト103−1は、オブジェクト102−1の内部に表示されたオブジェクト102−1に従属するオブジェクトであり、オブジェクト102−1の下の階層のオブジェクトとなる。
よって、オブジェクト情報113−1では、オブジェクト103−1の名称「OK」、種類「ボタン」に加え、オブジェクト103−1が従属するオブジェクト102−1の名称である「XYZ」を含む。
オブジェクト104−1の名称は「OK」であり、種類は「ボタン」である。また、オブジェクト104−1は、オブジェクト102−1の内部に表示されているオブジェクトであり、オブジェクト102−1の下の階層のオブジェクトである。
よって、オブジェクト情報114−1では、オブジェクト104−1の名称「OK」、種類「ボタン」、オブジェクト104−1が従属するオブジェクト102−1の名称である「XYZ」を含む。
すなわち、オブジェクト情報113−1、114−1は、同一の情報となる。したがって、オブジェクト情報113−1、114−1には、同一のオブジェクトIDが付与される。
オブジェクト情報113−2、114−2は、オブジェクト103−2、104−2のオブジェクト情報であり、オブジェクト103−2、104−2の名称と種類と及びオブジェクト103−2、104−2のそれぞれが従属するオブジェクトの名称が含まれる。
したがって、オブジェクト情報113−2、114−2は、名称「OK」、種類「ボタン」、それぞれのオブジェクトが従属するオブジェクト102−2の名称である「XYZ」を含む。よって、オブジェクト情報113−2、114−2はそれぞれが同一の情報であり、さらに、オブジェクト情報113−1、114−1とも同一の情報となる。したがって、オブジェクト情報113−1、113−2、114−1、114−2には、同一のオブジェクトIDが付与される。
本実施形態の記録装置100では、これらのオブジェクト情報に含まれるオブジェクトの名称に、そのオブジェクトの1つ上の階層における並び順(配置)を示す情報をインデックス情報として付与する。
例えば、オブジェクト102−1は、オブジェクト102−1の1つ上の階層のデスクトップ101Aにおいて、左側に配置され、オブジェクト102−2は、オブジェクト102−2の1つ上の階層のデスクトップ101Aにおいて、右側に配置されている(図2参照)。
そこで、本実施形態では、1つ上の階層において、左端に配置されたオブジェクトから順に、並び順を示す値をインデックス情報として付与する。
例えば、デスクトップ101Aには、同一のオブジェクト102−1、102−2が表示されており、オブジェクト102−1は左端に表示されている。
したがって、記録装置100は、例えばオブジェクト102−1の場合、オブジェクト102−1の名称に、インデックス情報として「インデックス値:0」を付与し、オブジェクト102−1のオブジェクト特定情報とする。
また、記録装置100は、オブジェクト102−2の場合、オブジェクト102−2の名称に、インデックス情報として「インデックス値:1」を付与し、オブジェクト102−2のオブジェクト特定情報とする。
同様に、記録装置100は、オブジェクト103−1の場合、オブジェクト103−1の1つ上の階層であるオブジェクト102−1における、オブジェクト103−1の並び順をインデックス情報として、オブジェクト103−1の名称に付与する。
オブジェクト102−1には、オブジェクト103−1と同一のオブジェクトであるオブジェクト104−1が存在する。また、オブジェクト103−1は、オブジェクト102−1において左端に表示されている。よって、記録装置100は、オブジェクト103−1の名称に、インデックス情報として「インデックス値:0」を付与し、オブジェクト103−1のオブジェクト特定情報とする。
また、本実施形態の記録装置100は、オブジェクトの1階層上に、同一の他のオブジェクトが存在しない場合には、このオブジェクトの名称に、インデックス情報として「インデックス値:0」を付与する。
以上のように、本実施形態の記録装置100は、操作記録情報200を記録する際に、オブジェクトの名称に、インデックス情報を付与することで、同一のオブジェクトが複数存在する場合でも再生装置300に操作対象のオブジェクトを特定させることができる。
以下に、図6を参照して本実施形態の記録装置100の記録処理部120の処理について説明する。図6は、記録処理部の処理を説明するフローチャートである。
本実施形態の記録装置100の記録処理部120は、操作検知部121により、操作を検知し、割込発生部122により割込を発生させ、表示画面において操作を受け付けた位置の座標を示す座標情報を取得する。また、記録処理部120は、操作種類取得部124により、操作検知部121が検知した操作の種類を示す操作種類情報を取得する(ステップS601)。
続いて、記録処理部120は、オブジェクト情報取得部123により、取得した座標情報と対応する位置にあるオブジェクトのオブジェクト情報と、オブジェクト情報に付与されたオブジェクトIDをOSから取得する。さらに、記録処理部120は、階層情報取得部125により、座標情報と対応する位置にあるオブジェクトの階層情報をOSから取得する(ステップS602)。取得した座標情報と対応する位置にあるオブジェクトは、操作対象のオブジェクトである。
続いて、記録処理部120は、階層情報取得部125により、階層情報に基づき、操作対象のオブジェクトからデスクトップまでの階層数を取得し、取得した階層数をmaxとする(ステップS603)。
続いて、記録処理部120は、操作対象のオブジェクトを問い合わせ対象のオブジェクトに設定し(ステップS604)、変数n=1とする(ステップS605)。続いて、記録処理部120は、記録装置100の有する作業用の記憶領域を初期化する(ステップS606)。作業用の記憶領域とは、例えば記録装置100の有するメモリ装置15等に設けられた所定の記憶領域である。
続いて、記録処理部120は、オブジェクト情報取得部123により、階層情報を参照し、問い合わせ対象のオブジェクトの1階層上のオブジェクトのオブジェクト情報と、そのオブジェクトIDとを取得する(ステップS607)。続いて、記録処理部120は、オブジェクト数判定部126により、ステップS607で取得したオブジェクト情報に、問い合わせ対象のオブジェクトの名称がいくつあるか、判定する(ステップS608)。
続いて、記録処理部120は、オブジェクト数判定部126により、該当するオブジェクトの名称が1つであるか否かを判定する(ステップS609)。
つまり、オブジェクト数判定部126は、問い合わせ対象のオブジェクトと同じ名称のオブジェクトが、1階層上のオブジェクトに複数存在しているか否かを判定している。言い換えれば、オブジェクト数判定部126は、問い合わせ対象のオブジェクトと、共通するオブジェクトに従属しているオブジェクトの数を判定している。
ステップS609において、該当するオブジェクトの数が1つであった場合、記録処理部120は、インデックス付与部127により、「インデックス値:0」のインデックス情報をステップS602で取得した問い合わせ対象のオブジェクトの名称に付与し(ステップS610)、後述するステップS613へ進む。
ステップS609において、該当するオブジェクトの数が1つでない場合、つまり2つ以上であった場合、記録処理部120は、インデックス付与部127により、複数存在した同一名称のオブジェクトのオブジェクト情報に付与されたオブジェクトIDを抽出する(ステップS611)。
続いて、インデックス付与部127は、抽出したオブジェクトIDのうち、問い合わせ対象のオブジェクトのオブジェクト情報に付与されたオブジェクトIDと一致するオブジェクトIDを特定する。そして、インデックス付与部127は、特定されたオブジェクトIDが付与されたオブジェクト情報が示すオブジェクトの並び順を判定し、並び順に応じたインデックス情報を付与する(ステップS612)。つまり、インデックス値は、問い合わせ対象(操作対象)のオブジェクトと、共通のオブジェクトに従属している他のオブジェクト(識別対象オブジェクト)とを識別するための情報である。
続いて、記録処理部120は、作業用の記憶領域へ、インデックス情報と、問い合わせ対象のオブジェクトの名称とを対応付けて、記憶(保持)させる(ステップS613)。
続いて、記録処理部120は、問い合わせ対象のオブジェクトの1階層上のオブジェクトを問い合わせ対象とし(ステップS614)、変数nの値をn+1とする(ステップS615)。
続いて、記録処理部120は、nの値がMaxより大きいか否かを判定する(ステップS616)。ステップS616において、nの値がMax以下である場合、記録処理部120は、ステップS607へ戻る。
ステップS616において、nの値がMaxより大きい場合、記録処理部120は、作業用の記憶領域に格納された情報をオブジェクト特定情報とし、操作種類情報と対応付けた操作記録情報200として記憶媒体210に記録する(ステップS617)。続いて記録処理部120は、記録処理の終了指示を受け付けたか否かを判定する(ステップS618)。ステップS618において、終了指示を受け付けない場合、記録処理部120は、ステップS601へ戻る。
ステップS618において、終了指示を受け付けた場合、記録処理部120は処理を終了する。
尚、本実施形態では、ステップS610において、問い合わせ対象オブジェクトと名称が一致するオブジェクトが1つであった場合にもインデックス値を付与するものとしたが、
これに限定されない。問い合わせ対象オブジェクトと名称が一致し、且つ共通する一階層上のオブジェクトに従属する他のオブジェクトが存在しない場合、インデックス値は付与されなくても良い。
図7は、インデックス情報が付与された操作記録情報の記述例を示す図である。図7に示す記述71では、表示画面101においてオブジェクト103−2をクリックする操作の操作記録情報と、オブジェクト104−1をクリックする操作の操作記録情報とを記述した例である。尚、本実施形態では、記述<Operation>から記述</Operation>までを1回の操作を示す記述とする。
記述71において、記述200−1は、表示画面101においてオブジェクト103−2をクリックする操作の操作記録情報であり、記述200−2は、表示画面101においてオブジェクト104−1をクリックする操作の操作記録情報である。
記述200−1の記述21は、オブジェクト103−2を特定するオブジェクト特定情報であり、記述22は操作種類情報である。
オブジェクト103−2の1階層上のオブジェクトはオブジェクト102−2である。また、オブジェクト102−2には、オブジェクト103−2と、名称とオブジェクトIDが一致するオブジェクト104−2が存在し、オブジェクト103−2は、左端に配置されている。したがって、オブジェクト103−2の名称には、インデックス情報「インデックス値:0」が付与される。
また、オブジェクト102−2の1階層上のデスクトップ101Aには、オブジェクト102−2の名称とオブジェクトIDが一致するオブジェクト102−1が存在し、オブジェクト102−2は、左端から2番目に配置されている。したがって、オブジェクト102−2の名称には、インデックス情報「インデックス値:1」が付与される。
また、本実施形態の記述21では、上位の階層から下位の階層に向かって、上位の階層にあるオブジェクトから順に名称が記述されている。この記述が、本実施形態の階層情報である。
すなわち、記述21は、階層情報であるオブジェクト102−2の名称「XYZ」と、インデックス情報である「インデックス値:1」とが対応付けられた記述21−1と、記述21−1の次の階層を示す階層情報であるオブジェクト103−2の名称「OK」と、インデックス情報と「インデックス値:0」が対応付けられた記述21−2と、を含む。
言い換えれば、本実施形態のオブジェクト特定情報は、表示画面における操作対象のオブジェクトと、他のオブジェクトとの関係を示す階層情報と、操作対象のオブジェクトの並び順を示すインデックス情報とが対応付けられた情報である。
そして、インデックス特定情報である記述21は、操作の種類「click」を示す操作種類情報である記述22と対応付けられている。
したがって、本実施形態の記述200−1によれば、デスクトップ101Aの左から2つ目のXYZアプリケーションのウィンドウに表示された2つのOKボタンのうち、左側のOKボタンがクリックされたことがわかる。
記述200−2の記述23は、オブジェクト104−1を特定するオブジェクト特定情報であり、記述23は操作種類情報である。
オブジェクト103−1の1階層上のオブジェクトはオブジェクト102−1である。また、オブジェクト102−1には、オブジェクト104−1と、名称とオブジェクトIDが一致するオブジェクト103−1が存在し、オブジェクト104−1は、左端から2番目に配置されている。したがって、オブジェクト104−1の名称には、インデックス情報「インデックス値:1」が付与される。
また、オブジェクト102−1の1階層上のデスクトップ101Aには、オブジェクト102−1の名称とオブジェクトIDが一致するオブジェクト102−2が存在し、オブジェクト102−1は、左端に配置されている。したがって、オブジェクト102−1の名称には、インデックス情報「インデックス値:0」が付与される。
本実施形態の記述23は、オブジェクト102−1の名称「XYZ」と、「インデックス値:0」が対応付けられた記述23−1と、記述23−1の次に記述された、オブジェクト104−1の名称「OK」と、「インデックス値:1」が対応付けられた記述23−2と、を含む。そして、記述24は、操作の種類「click」を示す操作種類情報を示す記述24と対応付けられている。
したがって、本実施形態の記述200−2によれば、デスクトップ101Aの一番左のXYZアプリケーションのウィンドウに表示された2つのOKボタンのうち、右側のOKボタンがクリックされたことがわかる。
次に、図8を参照して、本実施形態の再生装置300による操作記録情報200の再生について説明する。図8は、再生処理部330の処理を説明するフローチャートである。
本実施形態の再生処理部330は、操作記録読込部331により、操作記録情報200を読み込む(ステップS801)。続いて、再生処理部330は、操作記録情報200における操作の数(回数)をnMaxに設定し(ステップS802)、変数nに1を設定する(ステップS803)。
続いて、再生処理部330は、存在判定部333により、n番目の操作の操作記録情報からオブジェクト特定情報を抽出する(ステップS804)。続いて、再生処理部330は、操作種類特定部332により、n番目の操作の操作記録情報から操作種類情報を抽出する(ステップS805)。
続いて、再生処理部330は、存在判定部333により、オブジェクト特定情報により示される階層数をkMaxとする(ステップS806)。続いて、再生処理部330は、存在判定部333により、テーブル格納部337が格納する存在チェックテーブルにデスクトップを設定し(ステップS807)、変数kの値を1に設定する(ステップS808)。
続いて、再生処理部330は、存在判定部333により、抽出したオブジェクト特定情報から、デスクトップからk階層下のオブジェクトまでを着目オブジェクトとし、着目オブジェクトのオブジェクト情報を取得する(ステップS809)。
続いて、再生処理部330は、存在判定部333により、取得したオブジェクト情報に基づき、着目オブジェクトが、存在チェックテーブルに設定された階層に従属しているか否かを判定する(ステップS810)。
ステップS810において、着目オブジェクトが従属していない場合(ステップS811)、再生処理部330は、エラーと判定し(ステップS812)、操作記録情報200の再生を中止して処理を終了する。尚、本実施形態の再生処理部330は、エラーと判定した場合、その旨のメッセージ等を再生装置300に表示させても良い。
ステップS810において、着目オブジェクトが従属してする場合(ステップS811)、再生処理部330は、オブジェクト数比較部334により、ステップS809で取得したオブジェクト情報の数と、オブジェクト特定情報のデスクトップからk階層下のオブジェクトの名称に付与されたインデックス値に1を加算した値と、を比較する(ステップS813)。
具体的には、オブジェクト数比較部334は、再生装置300に表示されている画面において、操作対象となるオブジェクトと同一のオブジェクトが、操作記録情報200において操作対象とされたオブジェクトの数と同じ数存在しているか否かを判定している。
再生処理部330は、オブジェクト数比較部334により、着目オブジェクトのオブジェクト情報の数が、インデックス値に1を加算した値より大きいと判定された場合(ステップS814)、ステップS812へ進む。
再生処理部330は、オブジェクト数比較部334により、着目オブジェクトのオブジェクト情報の数が、インデックス値に1を加算した値以下と判定された場合(ステップS814)、オブジェクト特定情報における、デスクトップからk階層下のオブジェクトの名称とインデックス値とを存在チェックテーブルへ保持させる(ステップS815)。
続いて、再生処理部330は、変数kの値をk+1に設定し(ステップS816)、kの値がkMaxより大きい否かを判定する(ステップS817)。
ステップS817において、kの値がkMax以下である場合、再生処理部330は、ステップS809に戻る。
ステップS817において、kの値がkMaxより大きい場合、再生処理部330は、存在チェックテーブルに保持されたオブジェクト特定情報を読み取る(ステップS818)。尚、ステップS818において存在チェックテーブルに保持されたオブジェクト特定情報は、操作記録情報から読み取ったオブジェクト特定情報と同じものである。
存在チェックテーブルに保持されたオブジェクト特定情報は、再生装置300の表示画面において、オブジェクト特定情報に含まれるインデックス情報の通りに、オブジェクト特定情報に含まれる名称のオブジェクトが配置されていることが確認されたものである。
続いて、再生処理部330は、操作発生要求部336により、読み取ったオブジェクト特定情報により特定されたオブジェクトに対し、操作種類情報が示す種類の操作を発生させる(ステップS819)。
続いて、再生処理部330は、変数nの値をn+1に設定し(ステップS820)、nの値がnMaxより大きいか否かを判定する(ステップS821)。ステップS821において、nの値がnMax以下の場合、再生処理部330は、ステップS804に戻る。ステップS821において、nの値がnMaxより大きい場合、再生処理部330は、処理を終了する。
以下に、図9を参照して本実施形態の存在チェックテーブルについて説明する。図9は、存在チェックテーブルを説明する図である。
本実施形態の存在チェックテーブル91では、操作記録情報200から読み取ったオブジェクト特定情報において、再生装置300の表示画面に存在していると判定されたオブジェクトの名称とインデックス値とを保持する。
以下に、再生装置300が、操作記録情報200として、図7に示す記述71を読み込んだ場合について説明する。
このとき、再生装置300の再生処理部330は、再生装置300の表示画面に、図2に示す表示画面101上に存在する全てのオブジェクトが存在しているか否かを判定する。
再生処理部330は、記述71に示す操作記録情報200を読み込むと、操作の数が2であるから、nMax=2とする。
また、再生処理部330は、1番目の操作記録情報である記述200−1から、オブジェクト特定情報である記述22と、操作種類情報である記述23を抽出し、記述21の階層数である2をkMaxの値とする。
そして再生処理部330は、存在チェックテーブル91にデスクトップを設定し、デスクトップの1階層下のオブジェクトを着目オブジェクトとする。着目オブジェクトと同一の名称「XYZ」のオブジェクトは、デスクトップに2つ存在する。したがって、再生処理部330は、2つのオブジェクトのオブジェクト情報を取得する。
次に、再生処理部330は、着目オブジェクトがデスクトップに従属しているため、着目オブジェクトのオブジェクト数と、オブジェクト特定情報において名称「XYZ」に付与されたインデックス値に1を加算した値とを比較する。
ここで、オブジェクト数は2であり、インデックス値に1を加算した値は2であるため、比較結果が一致する。
よって、本実施形態の再生処理部330は、再生装置300の画面における名称「XYZ」のオブジェクトの数と、記録装置100の表示画面における名称「XYZ」のオブジェクトの数が一致することがわかる。そして、再生処理部330は、オブジェクト特定情報に含まれる名称「XYZ」のオブジェクトが、デスクトップに並べられた2個のオブジェクトのうち、左から2番目のものであることを示す情報を、存在チェックテーブルに保持させる。つまり、存在チェックテーブル91には、この時点でオブジェクト特定情報の一部が保持された状態となる。
続いて、再生処理部330は、名称「XYZ」のオブジェクトの1階層下のオブジェクトである、名称が「OK」のオブジェクトについても同様の処理を行い、存在チェックテーブル91へ保持させる。この処理により、存在チェックテーブル91には、オブジェクト特定情報と同一の情報が保持される。
本実施形態では、以上のように、存在チェックテーブルを用いることで、再生装置300の画面においてオブジェクト特定情報が示す並び順にオブジェクトが存在するか否かを判定できる。本実施形態では、存在チェックテーブルに保持された情報が、オブジェクト特定情報と同一となった場合に、操作記録情報200を再生する。
したがって、本実施形態の再生装置300によれば、操作記録情報200による操作の再現の精度を向上させるこができる。
以下に、インデックス情報を有していない操作記録情報の例を示す。図10は、インデックス情報が付与されていない操作記録情報の記述例を示す図である。
図10の示す記述10は、図2に示す画面101において、オブジェクト103−2をクリックする操作と、オブジェクト104−1をクリックする操作を示している。
記述10では、オブジェクトを特定する情報11、12に、オブジェクトの並び順を示すインデックス情報が付与されていない。
このため、オブジェクトを特定する情報11、12は同一の情報となり、再生時にどのオブジェクトをクリックする操作なのか区別することができないことがわかる。
これに対し、本実施形態では、オブジェクトを特定するオブジェクト特定情報に含まれるオブジェクトの名称に、オブジェクトの並び順を示すインデックス情報を対応付けるため、同じ名称のオブジェクトが複数存在していても、操作対象のオブジェクトを特定できる。したがって、本実施形態によれば、操作の再現の精度を向上させることができる。
(第二の実施形態)
以下に図面を参照して第二の実施形態について説明する。第二の実施形態は、一台のコンピュータが記録処理部と再生処理部を実現する点が第一の実施形態と相違する。よって、以下の第二の実施形態の説明では、第一の実施形態との相違点について説明し、第一の実施形態と同様の機能構成を有するものには、第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
図11は、第二の実施形態の記録再生装置の機能構成を説明する図である。本実施形態の記録再生装置100Aは、操作記録再生処理部110Aを有する。
本実施形態の操作記録再生処理部110Aは、記録処理部120と再生処理部130とを有する。再生処理部130は、操作記録読込部131、操作種類特定部132、存在判定部133、オブジェクト数比較部134、オブジェクト特定部135、操作発生要求部136を有する。再生処理部130の有する各部は、第一の実施形態の再生処理部330の有する各部と同様の機能を実現する。
また、本実施形態の記録再生装置100Aは、記憶部140を有する。記憶部140は、記録再生装置100Aが有するメモリ装置等に設けられた記憶領域である。本実施形態の記録再生装置100Aでは、記録処理部120による記録された操作記録情報200を記憶部140に格納しても良い。この場合、再生処理部130は、記憶部140に格納された操作記録情報200を再生する。
本実施形態では、1台のコンピュータ(記録再生装置)100Aにおいて、記録処理部120による記録と、再生処理部130による再生とを同一のコンピュータで行うことで、操作内容を記録する際の表示画面の環境と、操作内容を再生する際の表示画面の環境とが異なる場合でも、操作の再現の精度を維持できる。
(第三の実施形態)
以下に図面を参照して第三の実施形態について説明する。第三の実施形態は、記録装置100において記録された操作記録情報200が、外部のサーバに格納される点が第一の実施形態と相違する。
よって、以下の第三の実施形態の説明では、第一の実施形態との相違点について説明し、第一の実施形態と同様の機能構成を有するものには、第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
図12は、第三の実施形態の記録再生装置の機能構成を説明する図である。本実施形態の記録再生システム400は、記録装置100、再生装置300、サーバ410を有する。記録装置100、再生装置300及びサーバ410は、ネットワークを介して接続されている。
本実施形態の記録装置100は、操作記録再生処理部110の記録処理部120により、操作記録情報200をサーバ410に記録する。本実施形態の記録装置100は、操作内容の記録の終了指示を受け付けてから、記録された操作記録情報200をサーバ410に送信しても良い。
本実施形態の再生装置300は、操作記録再生処理部310の再生処理部330により、サーバ410から操作記録情報200を読み込んで再生する。本実施形態の再生装置300は、操作記録情報200全てをサーバ410から取得した後に、再生装置300内に保持された操作記録情報200を再生しても良い。
本実施形態によれば、再生装置300はサーバ410から操作記録情報200を取得すれば良く、操作記録情報200が記憶された可搬型の記憶媒体を持ち運んだり、記憶媒体から操作記録情報200を再生装置300に読み取らせたりする作業が軽減される。
開示の技術では、以下に記載する付記のような形態が考えられる。
(付記1)
画面に表示されたオブジェクトに対する操作を検知し、
検知された操作対象オブジェクトに基づいて、オブジェクトの階層情報を取得し、
取得した前記階層情報に基づいて、前記操作対象オブジェクトと、共通のオブジェクトに従属する識別対象オブジェクトを検索し、
前記操作対象オブジェクトと識別対象オブジェクトとを識別するインデックス情報を生成してオブジェクト特定情報に付与し、
前記インデックス情報を付与した前記オブジェクト特定情報に、前記操作の種類を示す操作種類情報を、対応付けた操作記録情報を記録し、
記録された前記操作記録情報を読み込み、
前記オブジェクト特定情報と前記インデックス情報とに基づき、前記操作を発生させるオブジェクトを特定し、
特定された前記オブジェクトに対して前記操作種類情報に従った種類の前記操作を発生させる、処理をコンピュータに実行させる
(付記2)
前記操作記録情報を記録する処理は、前記操作対象オブジェクトの上位階層の階層情報を含む操作記録情報を記録し、
前記識別対象オブジェクトを検索する処理は、前記操作対象オブジェクトに変えて、前記階層情報から得られる操作対象オブジェクトの上位階層の上位オブジェクトに対して、前記操作対象オブジェクトと共通のオブジェクトに従属する識別対象オブジェクトを検索し、
前記インデックス情報を生成する処理は、前記上位オブジェクトと前記識別対象オブジェクトを識別するインデックス情報を生成し、
生成した前記インデックス情報を前記階層情報に含まれる前記上位オブジェクトを示す情報に付与する付記1記載の操作記録再生プログラム。
(付記3)
前記識別対象オブジェクトを検索する処理は、インデックス情報を生成する対象のオブジェクトと同じオブジェクト名称を有する識別対象オブジェクトを検索し、
前記インデックス情報を生成する処理は、インデックス情報を生成する対象のオブジェクトと同じオブジェクト名称を有する識別対象オブジェクトが存在する場合に付与する付記1記載の操作記録再生プログラム。
(付記4)
前記操作を発生させる処理は、
前記階層情報と前記インデックス情報とに基づき、画面に、前記操作対象オブジェクト及び他のオブジェクトが表示されているか否かを判定し、
前記操作対象オブジェクト及び前記他のオブジェクトが全て前記画面に表示されていると判定された場合、前記操作を発生させるオブジェクトを特定し、
前記操作対象オブジェクト及び前記他のオブジェクトの少なくとも一部が前記画面に表示されていないと判定された場合、前記操作を発生させる処理を終了する、付記1記載の操作記録再生プログラム。
(付記5)
前記操作対象オブジェクト及び前記他のオブジェクトの少なくとも一部が前記画面に表示されていないと判定された場合、エラー通知を出力する、付記4記載の操作記録再生プログラム。
(付記6)
前記階層情報は、
前記操作対象オブジェクトの名称と、
前記操作対象オブジェクトが属する階層より1階層上の階層から前記画面と対応する階層までの各階層における、前記操作対象オブジェクトが従属するオブジェクトの名称と、を、上位の階層から順に記述した情報である、付記1乃至5の何れか一項に記載の操作記録再生プログラム。
(付記7)
前記インデックス情報は、
前記操作対象オブジェクト及び他のオブジェクトのそれぞれが属する階層の1階層上の階層における、前記操作対象オブジェクト及び前記他のオブジェクトの並び順を示す情報である付記1乃至6の何れか一項に記載の操作記録再生プログラム。
(付記8)
画面に表示されたオブジェクトに対する操作を記録した操作記録情報を読み込み、
前記操作記録情報に含まれる、オブジェクトの階層情報と、操作対象オブジェクトと共通のオブジェクトに従属する識別対象オブジェクトとを識別するインデックス情報と、を含むオブジェクト特定情報に基づき、前記操作を発生させるオブジェクトを特定し、
前記オブジェクト特定情報と対応付けられた操作記録情報に含まれる、前記操作の種類を示す操作種類情報に従った操作を、特定された前記オブジェクトに対して発生させる、処理をコンピュータに実行させる操作再生プログラム。
(付記9)
コンピュータによる操作再生方法であって、該コンピュータが、
画面に表示されたオブジェクトに対する操作を記録した操作記録情報を読み込み、
前記操作記録情報に含まれる、オブジェクトの階層情報と、操作対象オブジェクトと共通のオブジェクトに従属する識別対象オブジェクトとを識別するインデックス情報と、を含むオブジェクト特定情報に基づき、前記操作を発生させるオブジェクトを特定し、
前記オブジェクト特定情報と対応付けられた操作記録情報に含まれる、前記操作の種類を示す操作種類情報に従った操作を、特定された前記オブジェクトに対して発生させる、操作再生方法。
(付記10)
画面に表示されたオブジェクトに対する操作を検知し、
検知された操作対象オブジェクトに基づいて、オブジェクトの階層情報を取得し、
取得した前記階層情報に基づいて、前記操作対象オブジェクトと、共通のオブジェクトに従属する識別対象オブジェクトを検索し、
前記操作対象オブジェクトと識別対象オブジェクトとを識別するインデックス情報を生成してオブジェクト特定情報に付与し、
前記インデックス情報を付与した前記オブジェクト特定情報に、前記操作の種類を示す操作種類情報を、対応付けた操作記録情報を記録する記録処理部と、
記録された前記操作記録情報を読み込み、
前記オブジェクト特定情報と前記インデックス情報とに基づき、前記操作を発生させるオブジェクトを特定し、
特定された前記オブジェクトに対して前記操作種類情報に従った種類の前記操作を発生させる再生処理部と、を有する操作記録再生装置。
本発明は、具体的に開示された実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。