(57)【特許請求の範囲】
【請求項１】
一以上の操作を実行するための情報を記録した操作情報に基づき前記一以上の操作を実行する場合に検出されるエラーの、原因となる操作を特定し、
特定した前記操作の操作対象として登録可能なオブジェクトの一以上の候補を表示し、
表示した前記一以上の候補のうち、指定された候補のオブジェクトの、表示画面における表示態様を変更し、
前記表示態様の変更後のオブジェクトに対する登録指示に応じて、前記操作情報に対して、前記登録指示を受け付けたオブジェクトを、前記特定した操作に対応付けて登録する、
処理をコンピュータに実行させ、
前記表示した一以上の候補のうちのいずれかが指定される前において、前記特定した操作に対応付けて前記操作情報に登録されたオブジェクトよりも上位の階層のオブジェクトの、前記表示画面における表示態様を変更する、
処理を前記コンピュータに実行させる、情報処理プログラム。
【請求項２】
一以上の操作を実行するための情報を記録した操作情報に基づき前記一以上の操作を実行する場合に検出されるエラーの、原因となる操作を特定し、
特定した前記操作の操作対象として登録可能なオブジェクトの一以上の候補を表示し、
表示した前記一以上の候補のうち、指定された候補のオブジェクトの、表示画面における表示態様を変更し、
前記表示態様の変更後のオブジェクトに対する登録指示に応じて、前記操作情報に対して、前記登録指示を受け付けたオブジェクトを、前記特定した操作に対応付けて登録する、
処理をコンピュータに実行させ、
前記表示は、前記特定した操作に対応付けて前記操作情報に登録されたオブジェクトよりも上位の階層のオブジェクトの配下に属する一以上のオブジェクトを、前記候補として表示する、
情報処理プログラム。
【請求項３】
前記特定は、前記操作情報において前記一以上の操作に対応付けて登録された一以上の第１オブジェクトと、前記一以上の操作の実行において前記表示画面に表示される一以上の第２オブジェクトと、に基づいて、前記エラーの原因となる操作を特定する、
請求項１又は請求項２に記載の情報処理プログラム。
【請求項４】
前記特定は、前記一以上の第１オブジェクトに基づく一以上の検索条件により、前記表示画面における前記一以上の第２オブジェクトを検索し、第２オブジェクトが検索条件に一致しない第１オブジェクトに対応する操作を、前記エラーの原因となる操作として特定する、
請求項３に記載の情報処理プログラム。
【請求項５】
前記検索条件は、第１オブジェクトの名称、第１オブジェクトの種類、第１オブジェクトの属性、第１オブジェクトのクラス名、第１オブジェクトの画像、第１オブジェクトの座標、第１オブジェクトのタグ、のいずれか１種類、又は、２種類以上の組み合わせを含む、
請求項４に記載の情報処理プログラム。
【請求項６】
前記操作情報が記録する前記情報は、複数の前記操作を所定の順序で実行するための情報であり、
前記コンピュータに、
前記複数の操作から前記所定の順序で選択した操作について、前記特定を行ない、
前記特定において、前記選択した操作を実行する場合にエラーが検出されないと判定した場合、前記複数の操作から前記所定の順序で次の操作を選択する、
請求項１〜５のいずれか１項に記載の情報処理プログラム。
【請求項７】
前記操作情報が記録する前記情報は、複数の前記操作を所定の順序で実行するための情報であり、
前記コンピュータに、
前記複数の操作のうちの、指定された１以上の操作から前記所定の順序で選択した操作について、前記特定を行ない、
前記特定において、前記選択した操作を実行する場合にエラーが検出されないと判定した場合、前記指定された１以上の操作から前記所定の順序で次の操作を選択する、
請求項１〜５のいずれか１項に記載の情報処理プログラム。
【請求項８】
一以上の操作を実行するための情報を記録した操作情報に基づき前記一以上の操作を実行する場合に検出されるエラーの、原因となる操作を特定し、
特定した前記操作の操作対象として登録可能なオブジェクトの一以上の候補を表示し、
表示した前記一以上の候補のうち、指定された候補のオブジェクトの、表示画面における表示態様を変更し、
前記表示態様の変更後のオブジェクトに対する登録指示に応じて、前記操作情報に対して、前記登録指示を受け付けたオブジェクトを、前記特定した操作に対応付けて登録する、
処理をコンピュータが実行し、
前記表示した一以上の候補のうちのいずれかが指定される前において、前記特定した操作に対応付けて前記操作情報に登録されたオブジェクトよりも上位の階層のオブジェクトの、前記表示画面における表示態様を変更する、
処理を前記コンピュータが実行する、情報処理方法。
【請求項９】
一以上の操作を実行するための情報を記録した操作情報に基づき前記一以上の操作を実行する場合に検出されるエラーの、原因となる操作を特定し、
特定した前記操作の操作対象として登録可能なオブジェクトの一以上の候補を表示し、
表示した前記一以上の候補のうち、指定された候補のオブジェクトの、表示画面における表示態様を変更し、
前記表示態様の変更後のオブジェクトに対する登録指示に応じて、前記操作情報に対して、前記登録指示を受け付けたオブジェクトを、前記特定した操作に対応付けて登録する、
処理をコンピュータが実行し、
前記表示は、前記特定した操作に対応付けて前記操作情報に登録されたオブジェクトよりも上位の階層のオブジェクトの配下に属する一以上のオブジェクトを、前記候補として表示する、
情報処理方法。
【請求項１０】
一以上の操作を実行するための情報を記録した操作情報に基づき前記一以上の操作を実行する場合に検出されるエラーの、原因となる操作を特定する特定部と、
特定した前記操作の操作対象として登録可能なオブジェクトの一以上の候補を表示する制御部と、
表示した前記一以上の候補のうち、指定された候補のオブジェクトの、表示画面における表示態様を変更する変更部と、
前記表示態様の変更後のオブジェクトに対する登録指示に応じて、前記操作情報に対して、前記登録指示を受け付けたオブジェクトを、前記特定した操作に対応付けて登録する登録部と、
を備え、
前記変更部は、前記表示した一以上の候補のうちのいずれかが指定される前において、前記特定した操作に対応付けて前記操作情報に登録されたオブジェクトよりも上位の階層のオブジェクトの、前記表示画面における表示態様を変更する、情報処理装置。
【請求項１１】
一以上の操作を実行するための情報を記録した操作情報に基づき前記一以上の操作を実行する場合に検出されるエラーの、原因となる操作を特定する特定部と、
特定した前記操作の操作対象として登録可能なオブジェクトの一以上の候補を表示する制御部と、
表示した前記一以上の候補のうち、指定された候補のオブジェクトの、表示画面における表示態様を変更する変更部と、
前記表示態様の変更後のオブジェクトに対する登録指示に応じて、前記操作情報に対して、前記登録指示を受け付けたオブジェクトを、前記特定した操作に対応付けて登録する登録部と、
を備え、
前記制御部は、前記特定した操作に対応付けて前記操作情報に登録されたオブジェクトよりも上位の階層のオブジェクトの配下に属する一以上のオブジェクトを、前記候補として表示する、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理プログラム、情報処理方法、及び情報処理装置に関する。
【背景技術】
【０００２】
コンピュータに対する操作内容を記録し、記録した操作内容を再生することで、操作を再現する技術が知られている。例えば、この技術を使用すれば、第１のコンピュータに対する所定の操作を行なう場合に、その操作内容を記録し、記録した操作内容を１又は複数台の第２のコンピュータにて再生することで、操作を効率的に行なうことができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１０６５８９号公報
【特許文献２】特開２００６−２７７３００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述した技術において、記録した操作内容を再生する際にエラーが発生した場合、エラーを引き起こす不具合箇所の修正及び確認を容易に行なうことは困難である。
【０００５】
１つの側面では、本発明は、一以上の操作におけるエラーの原因となる操作を効率よく変更することを目的とする。
【課題を解決するための手段】
【０００６】
１つの側面では、情報処理プログラムは、コンピュータに、以下の処理を実行させてよい。前記処理は、一以上の操作を実行するための情報を記録した操作情報に基づき前記一以上の操作を実行する場合に検出されるエラーの、原因となる操作を特定してよい。また、前記処理は、特定した前記操作の操作対象として登録可能なオブジェクトの一以上の候補を表示してよい。さらに、前記処理は、表示した前記一以上の候補のうち、指定された候補のオブジェクトの、表示画面における表示態様を変更してよい。また、前記処理は、前記表示態様の変更後のオブジェクトに対する登録指示に応じて、前記操作情報に対して、前記登録指示を受け付けたオブジェクトを、前記特定した操作に対応付けて登録してよい。さらに、前記処理は、前記表示した一以上の候補のうちのいずれかが指定される前において、前記特定した操作に対応付けて前記操作情報に登録されたオブジェクトよりも上位の階層のオブジェクトの、前記表示画面における表示態様を変更してよい。
他の側面では、情報処理プログラムは、コンピュータに、以下の処理を実行させてよい。前記処理は、一以上の操作を実行するための情報を記録した操作情報に基づき前記一以上の操作を実行する場合に検出されるエラーの、原因となる操作を特定してよい。また、前記処理は、特定した前記操作の操作対象として登録可能なオブジェクトの一以上の候補を表示してよい。さらに、前記処理は、表示した前記一以上の候補のうち、指定された候補のオブジェクトの、表示画面における表示態様を変更してよい。また、前記処理は、前記表示態様の変更後のオブジェクトに対する登録指示に応じて、前記操作情報に対して、前記登録指示を受け付けたオブジェクトを、前記特定した操作に対応付けて登録してよい。さらに、前記表示は、前記特定した操作に対応付けて前記操作情報に登録されたオブジェクトよりも上位の階層のオブジェクトの配下に属する一以上のオブジェクトを、前記候補として表示してよい。
【発明の効果】
【０００７】
１つの側面では、一以上の操作におけるエラーの原因となる操作を効率よく変更できる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態に係る操作記録再生システムの構成例を示すブロック図である。
【図２】操作記録情報の一例を示す図である。
【図３】操作記録再生システムによる操作記録変更処理の動作例を示す図である。
【図４】操作記録再生システムによる操作記録変更処理の動作例を示す図である。
【図５】一実施形態に係るコンピュータのハードウェア構成例を示すブロック図である。
【図６】一実施形態に係る記録再生装置の機能構成例を示すブロック図である。
【図７】一実施形態に係る記録再生装置による操作記録変更処理の動作例を示すフローチャートである。
【図８】表示画面に表示されるブラウザ及び操作記録画面の一例を示す図である。
【図９】表示画面に表示される管理画面の一例を示す図である。
【図１０】表示画面に表示されるブラウザの一例を示す図である。
【図１１】表示画面に表示される変更画面の一例を示す図である。
【図１２】表示画面に表示される変更画面及び候補一覧画面の一例を示す図である。
【図１３】表示画面に表示されるブラウザの一例を示す図である。
【図１４】表示画面に表示される変更画面及び候補一覧画面の一例を示す図である。
【図１５】表示画面に表示されるブラウザの一例を示す図である。
【図１６】再生処理でエラー発生した場合の操作記録変更処理の動作例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の実施形態で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
【００１０】
〔１〕一実施形態
〔１−１〕一実施形態の説明
図１は、一実施形態に係る操作記録再生システム１の構成例を示す図である。図１に示すように、操作記録再生システム１は、例示的に、記録装置２と、再生装置３−１及び３−２（以下の説明においてこれらを区別しない場合には単に「再生装置３」と表記する）と、を備えてよい。なお、図１の例では、操作記録再生システム１は、２台の再生装置３を備えるが、１台、又は、３台以上の再生装置３を備えてもよい。
【００１１】
操作記録再生システム１は、操作内容、換言すれば処理の軌跡を登録するシステム情報処理システムの一例である。操作記録再生システム１は、図１に例示するように、記録装置２において行なわれた操作の内容を、操作記録情報４００として操作記録ＤＢ（Database）４０に記録する記録処理を行なう。また、操作記録再生システム１は、再生装置３−１及び３−２により、操作記録情報４００を読み込み、記録された操作を再現する再生処理を行なう。
【００１２】
一実施形態において、操作記録情報４００として内容が記録される操作は、例えば記録装置２で繰り返し行なわせたい操作や、再生装置３等の他のコンピュータで行なわせたい操作等である。
【００１３】
操作記録再生システム１は、記録装置２において、操作記録情報４００を記録することで、記録装置２で行なわれた操作を所定数の再生装置３に行なわせることができる。例えば、再生装置３としての複数台のコンピュータに同じ操作（例えば設定等）を実行させる場合、記録装置２において該当する操作を実施して操作記録情報４００を記録し、この操作記録情報４００を複数台のコンピュータに再生させればよい。
【００１４】
また、操作記録再生システム１は、記録装置２において、操作記録情報４００を記録することで、記録した操作を記録装置２に繰り返し行なわせることができる。例えば、１台のコンピュータに複数回同じ操作を実行させる場合、記録装置２としてのコンピュータにおいて該当する操作を実施して操作記録情報４００を記録し、この操作記録情報４００を当該コンピュータに再生させればよい。
【００１５】
さらに、一実施形態では、記録装置２又は再生装置３において、操作記録情報４００が正しいか否かを、記録した操作を行なうことで検証することができる。操作記録情報４００を再生することで操作記録情報４００が正しいか否かを検証する処理は、「再生検査」と称されてもよい。再生検査の詳細は後述する。
【００１６】
操作記録ＤＢ４０は、例えば、記録装置２が有する記憶装置、記録装置２の外部（例えば再生装置３やクラウドサーバ等）の記録装置、可搬型の記録媒体、等のうちの少なくとも１種類の記憶装置に格納されてよい。操作記録情報４００（操作記録ＤＢ４０）は、例えば、記録装置２と再生装置３との間を通信可能に接続するネットワーク（図示省略）を経由して、記録装置２から再生装置３に送信（提供）され、再生装置３の記憶装置に格納されてもよい。或いは、操作記録情報４００（操作記録ＤＢ４０）は、操作記録情報４００を記録する記憶装置や可搬型の記録媒体を再生装置３に接続又は挿入することによって、再生装置３に読み出され（提供され）、再生装置３の記憶装置に格納されてもよい。
【００１７】
操作記録情報４００は、１以上の操作を実行するための情報を記録した操作情報の一例である。操作記録情報４００は、表示画面に表示された操作対象オブジェクトを示す情報と、操作対象オブジェクトに対して行なわれた操作の種類を示す情報（以下、「操作種別情報」と表記する場合がある）とを含んでよい。なお、一実施形態における操作対象オブジェクトとは、例えば、画面上に選択可能な状態で表示され得るものであり、且つ操作の対象となる表示部品である。以下の説明において、「操作対象オブジェクト」を単に「オブジェクト」と表記する場合がある。また、「操作対象オブジェクトを示す情報」を「オブジェクト情報」と表記する場合がある。
【００１８】
オブジェクト情報は、例示的に、操作対象オブジェクトの名称（以下、「オブジェクト名称」と表記する場合がある）とオブジェクトの種類の情報を含んでよい。一実施形態に係るオブジェクト情報は、記録装置２により実行されるＯＳ（Operating System）、又は、ＯＳ上で実行されるアプリケーション、等のソフトウェア（ＳＷ；Software）により取得され、操作記録ＤＢ４０に記録されてよい。
【００１９】
図２は、一実施形態に係る操作記録ＤＢ４０に記録される操作記録情報４００の一例を示す図である。図２に示すように、操作記録情報４００は、例示的に、操作種別情報４００ａ、オブジェクト名称４００ｂ、オブジェクト種類４００ｃ、及び、プロパティ情報４００ｄを含んでよい。
【００２０】
操作種別情報４００ａには、例えば、移動、マウスクリック、ドラッグ、ドロップ等の操作の種類が記録されてよい。オブジェクト名称４００ｂには、例えば、オブジェクトの名称（換言すればラベル）が記録されてよい。オブジェクト名称４００ｂは、一例として、オブジェクト内に表示されたテキストデータであってよい。オブジェクト種類４００ｃには、例えば、ウィンドウ、ダイアログボックス、ボタン（最小化、最大化、閉じる等）等が記録されてよい。図２の例では、オブジェクト名称４００ｂが「ＦＡＱ」の操作対象オブジェクトの種類はメニューであり、所定のアプリケーションの起動により立ち上げられたウィンドウである。
【００２１】
プロパティ情報４００ｄには、オブジェクトの属性、クラス名、タグ（ＨＴＭＬ等の場合）、画像（操作対象のオブジェクトが画像の場合）、座標、等のうちの少なくとも１種類以上の情報が記録されてよい。属性及びクラス名は、ＯＳ、フレームワーク、アプリケーション等においてオブジェクトを管理、分類、識別等するための情報であり、属性値、クラスの名称又はＩＤ（Identifier）、等の種々の情報を含んでよい。画像には、オブジェクトの画像の保存先又は画像そのもの、等の画像を特定可能な情報が設定されてよい。座標には、オブジェクトの座標、操作が行なわれた座標（一例として移動先の座標）、の一方又は双方が含まれてよい。また、画像及び座標は、所定の画像を起点とした相対位置によりオブジェクトが特定されるような操作における、当該オブジェクトを特定するための画像（所定の画像）及び座標（相対座標）であってもよい。
【００２２】
上述したオブジェクト名称４００ｂ、オブジェクト種類４００ｃ、及びプロパティ情報４００ｄは、操作対象のオブジェクトに関するオブジェクト情報４００ｅの一例である。
【００２３】
なお、操作記録情報４００には、上述した情報に加えて、操作により入力された文字列や数値等のデータ、親オブジェクトを特定するための情報、等が含まれてもよい。親オブジェクトは、例えば、操作対象のオブジェクトよりも上位の階層のオブジェクト、換言すれば、オブジェクトの所属する階層の上位階層のオブジェクトである。
【００２４】
操作記録ＤＢ４０に蓄積される複数の操作記録情報４００は、所定の動作を遂行するために行なわれる「一連の操作」、「連続する操作」、或いは「操作手順」と捉えられてもよい。「操作手順」は「シナリオ」と称されてもよい。なお、「操作」は、「処理」と言い換えられてもよい。記録装置２は、例えば、操作の記録を開始してから終了するまでの期間に記録した複数の操作記録情報４００を、一連の操作として登録してもよい。
【００２５】
ここで、操作内容を記録する既存のアプリケーションでは、登録したシナリオを再生する際にエラーが発生した場合、以下の理由から、エラーを引き起こす不具合箇所の修正及び確認を容易に行なうことが困難となる。なお、以下、操作内容を記録するアプリケーションを、「ＲＰＡ（Robotics Process Automation）ツール」と表記する場合がある。
【００２６】
シナリオを再生する際にエラーが発生する場合としては、例えば、シナリオを登録してから、登録したシナリオを再生するまでの間に、オブジェクト、例えば操作画面における入力項目やボタン等に変更があった場合が挙げられる。オブジェクトが変更される場合としては、以下の（ａ）及び（ｂ）に例示するような場合が挙げられる。
【００２７】
（ａ）操作対象領域がデスクトップやフォルダの場合：例えば、操作対象領域内のファイルやフォルダが移動、削除、名称変更等される場合である。
【００２８】
（ｂ）操作対象領域がウェブ（ｗｅｂ）ページの画面（ウェブ画面）の場合：例えば、操作対象領域の表示内容を定義するＨＴＭＬ（HyperText Markup Language）ファイルにおいて、記述内容、例えば、レイアウトやＨＴＭＬ要素等のコードが変更される場合である。
【００２９】
例えば、既存のＲＰＡツールでは、シナリオを再生する際にエラーが発生すると、シナリオの再生処理が停止する。この場合、ユーザは、以下の（ｉ）〜（iii）に例示する手順によって、不具合の修正及び確認を行なう。
【００３０】
（ｉ）ユーザは、シナリオの操作を１つずつ確認し、不具合箇所、例えば変更されたオブジェクトを特定する。
【００３１】
（ii）ユーザは、既存のＲＰＡツールが有する編集機能を利用して、手入力により、登録されたシナリオの不具合箇所を修正する。
【００３２】
（iii）ユーザは、既存のＲＰＡツールが有する再生機能を利用して、シナリオの先頭の操作から最後の操作までを再生する再生処理を実行することで、修正箇所を正しく再生できるか否かを確認する。
【００３３】
また、シナリオを修正するユーザは、オブジェクト要素、ＨＴＭＬ要素（例えばＸＰａｔｈ構文）等のＩＴ（Information Technology）知識に基づき、作業を行なうことになる。
【００３４】
このように、既存のＲＰＡツールにおいては、エラーを引き起こす不具合箇所の特定、修正、及び確認が煩雑となる。また、ＩＴ知識に乏しいユーザにとって、不具合箇所の修正及び確認を容易に行なうことが困難である。
【００３５】
そこで、一実施形態に係る操作記録再生システム１は、以下で説明するように、再生検査機能を設けることにより、操作内容を再生する際に発生したエラーを引き起こす（エラーの原因となる）不具合箇所の特定、修正、及び確認を容易に行なうことを可能とする。
【００３６】
図３及び図４は、操作記録再生システム１による操作記録変更処理の動作例を示す図である。図３及び図４には、記録装置２に接続されたモニタ等の表示装置１００の表示画面１０１に表示されたファイルマネージャ１２０において、フォルダ選択を操作するシナリオを実行した際にエラーが発生した場合を例示する。
【００３７】
図３に例示するように、一実施形態に係る記録装置２は、マウスやキーボード等のユーザインタフェース（ＵＩ；User Interface）を介したユーザからの指示に応じて、オブジェクトの一覧を表示する操作画面１１０を起動する。操作画面１１０は、例えば、表示画面１０１に表示されてよい。
【００３８】
表示画面１０１は、例えば、詳細設定領域１１１と、再生検査ボタン１１２とを含んでよい。詳細設定領域１１１は、１以上のオブジェクト、一例として、指定されたシナリオで実行される１以上の操作のオブジェクトを一覧表示してよい。例えば、記録装置２は、操作記録ＤＢ４０を参照して表示対象のオブジェクト情報４００ｅ（例えばオブジェクト種類４００ｃ及びオブジェクト名称４００ｂ）を抽出し、操作順序に従ったソート結果を詳細設定領域１１１に表示させてよい。
【００３９】
再生検査ボタン１１２は、詳細設定領域１１１に表示された複数のオブジェクトを対象とした再生検査を開始するためのボタンである。記録装置２は、ユーザにより再生検査ボタン１１２が押下されると、詳細設定領域１１１における表示順に（操作順に）、オブジェクトに対する操作が正常に実行できるか否かを検証してよい。「検証」では、記録装置２は、例えば、ファイルマネージャやウェブブラウザを検索し、詳細設定領域１１１に表示されたオブジェクト情報４００ｅと一致するオブジェクトが存在するか否かを判定してもよい。或いは、操作内容を実際に再現し、操作が正常に完了したか否かを判定してもよい。一実施形態では、「検索」により検証を行なうものとして説明する。
【００４０】
なお、記録装置２は、詳細設定領域１１１において、操作が正常に実行できたことを視覚化してよい。一例として、記録装置２は、図３に示すように、項番“０”〜“４”の操作を検証し（符号Ａの矢印参照）、いずれも正常に実行できたことを、これらの項番の一覧に網掛けを設定（例えば背景色を設定）することによって示してよい。
【００４１】
また、記録装置２は、検証により、詳細設定領域１１１におけるオブジェクトに対する操作を正常に実行できないと判定した場合、以下の（１）〜（４）に例示する処理を実行してよい。
【００４２】
（１）エラーの原因となる操作を特定する。
【００４３】
項番“１”〜“４”の操作の再生では、例えば、表示画面１０１におけるデスクトップアイコン１３０のクリック等によって、ファイルマネージャ１２０に表示されているフォルダ階層（表示階層）までの特定（検索）が正常に行なわれているものとする。
【００４４】
例えば、図３において、操作画面１１０の詳細設定領域１１１に表示された項番“５”の操作に着目する。項番“５”の操作では、表示画面１０１に表示されるファイルマネージャ１２０のフォルダを選択した際に、ファイルマネージャ１２０の表示階層に［項目ビュー］−［DUIListView］のフォルダのみが存在することが正しい動作であるとする。
【００４５】
記録装置２は、例えば、項番“５”の操作の再生（検証）において、項番“１”〜“４”の操作により特定される［項目ビュー］内を［DUIListView］のオブジェクト名称４００ｂ（第１のオブジェクト）で検索する（符号Ｂの矢印参照）。
【００４６】
しかし、図３の例では、フォルダ名の変更及びフォルダの追加により、［項目ビュー］には、３つのフォルダ［UIItemsView1］、［UIItemsView2］、［UIItemsView3］（第２のオブジェクト）が存在するものの、［DUIListView］が存在しない。従って、記録装置２は、正しい（一致する）フォルダを選択（特定）できず、エラーを検出する。この場合、記録装置２は、エラーが検出されたときの操作（図３の例では項番“５”の操作）及びその操作の対象であるオブジェクトを、エラーの原因となる操作及びオブジェクトとして特定してよい。
【００４７】
なお、記録装置２は、エラーを検出したオブジェクトの親オブジェクトの表示態様を変更してよい。例えば、記録装置２は、エラーを検出した操作の前の操作（図３の例では直前の項番“４”の操作）の対象のオブジェクトを親オブジェクトとして特定してよい。或いは、操作記録情報４００に親オブジェクトを特定するための情報が含まれる場合、記録装置２は、操作記録情報４００を参照することで親オブジェクトを特定してもよい。
【００４８】
記録装置２は、例えば、項番“４”の操作により特定されるファイルマネージャ１２０のウィンドウ枠を、線色、線幅、線種等の変更等によって強調表示（符号Ｃの破線枠参照）してよい。表示態様の変更は、例えば、オブジェクトに対して強調表示用のレイヤで覆う（オーバレイ表示する）ことにより行なわれてもよい。これ以降の説明における「表示態様の変更」でも同様である。これにより、エラーを検出する直前に特定できた親オブジェクトをユーザに提示することができ、ユーザに対して、エラーが発生することを視覚的に認識させることができる。また、親オブジェクト配下に存在する可能性の高い候補オブジェクトをユーザに提示できるため、エラーの早期解消が期待できる。
【００４９】
（２）上記（１）で特定した操作の操作対象として登録可能なオブジェクトの１以上の候補を表示する。
【００５０】
例えば、記録装置２は、親オブジェクトの配下に存在する１以上のオブジェクトを、１以上の候補オブジェクトとして特定し、候補一覧領域１１３に表示する。例えば、記録装置２は、項番“４”の操作において特定されるファイルマネージャ１２０の表示階層に存在するオブジェクトの名称を特定（検索）し、特定したオブジェクトの名称を、候補一覧として候補一覧領域１１３に表示してよい。
【００５１】
候補一覧領域１１３には、詳細設定領域１１１と同様に、特定したオブジェクトに関するオブジェクト情報、例えば、オブジェクト種類及びオブジェクト名称等の情報が表示されてよい。なお、候補一覧領域１１３は、操作画面１１０上に設けられた表示領域であってもよいし、表示画面１０１に表示される、操作画面１１０とは異なるウィンドウの表示領域であってもよい。
【００５２】
（３）表示した１以上の候補のうち、指定された候補のオブジェクトの、表示画面１０１における表示態様を変更する。
【００５３】
記録装置２は、図４に例示するように、候補一覧領域１１３に表示された候補がユーザにより指定（例えばマウス操作でクリック）されたことを検出すると、表示画面１０１に表示されたオブジェクトから、指定（選択）されたオブジェクト名称を検索する。例えば、記録装置２は、ファイルマネージャ１２０の表示階層におけるフォルダ名から、候補一覧領域１１３で選択された［UIItermsView1］（符号Ｄの破線枠参照）を検索する（符号Ｅの矢印参照）。
【００５４】
そして、記録装置２は、検索により特定したオブジェクトの表示画面１０１における表示態様を変更する。例えば、記録装置２は、ファイルマネージャ１２０の表示階層における［UIItermsView1］を強調表示（符号Ｆの破線枠参照）してよい。強調表示は、例えば、オブジェクトのアイコン、フォルダ名の一方又は双方を囲う枠に対して、線色、線幅、線種等を変更すること等によって行なわれてよい。これにより、ユーザが候補一覧領域１１３で選択したオブジェクトが、表示画面１０１におけるいずれのオブジェクトであるのかをユーザに提示することができ、候補オブジェクトの視認性を向上させることができる。
【００５５】
なお、記録装置２は、ユーザが候補一覧領域１１３で選択したオブジェクトの情報に基づき、詳細設定領域１１１におけるオブジェクトの表示を更新してよい（符号Ｇ参照）。
【００５６】
（４）表示態様の変更後のオブジェクトに対する登録指示に応じて、操作記録情報４００に対して、登録指示を受け付けたオブジェクトを、（１）で特定した操作に対応付けて登録する。
【００５７】
記録装置２は、表示態様を変更したオブジェクトに対する登録指示を受け付けると、エラーを検出した操作に対応する操作記録情報４００に対して、オブジェクト情報４００ｅを、登録指示に係るオブジェクトの情報に更新してよい。登録指示は、例えば、ＵＩを介してユーザにより、候補一覧領域１１３に設けられたＯＫボタン１１４や、操作画面１１０に設けられた登録ボタン１１５が押下されることで発行されてよい。
【００５８】
なお、記録装置２は、上記（３）において候補一覧領域１１３の候補が選択されたことを、当該候補のオブジェクトに対する登録指示として扱ってもよい。この場合、ＯＫボタン１１４や登録ボタン１１５の設置は省略されてもよく、符号Ｇで示す詳細設定領域１１１の表示の更新とともに、操作記録情報４００に対する（修正後の）オブジェクト情報４００ｅの登録が行なわれてもよい。
【００５９】
なお、図４の符号Ｈの矢印は、検索したいフォルダが［UIItemsView1］とは異なっており、ユーザが、候補一覧領域１１３において［UIItemsView3］を指定（選択）した場合を示す。この場合、記録装置２は、［UIItemsView3］を指定された候補オブジェクトとして、上記（３）及び（４）の処理を実行すればよい（符号Ｉ〜Ｌ参照）。すなわち、上記（３）及び（４）の処理の説明において、［UIItemsView1］、符号Ｄ〜Ｇを、それぞれ、［UIItemsView3］、符号Ｉ〜Ｌに読み替えればよい。
【００６０】
以上のように、一実施形態に係る操作記録再生システム１によれば、上述した（１）〜（４）の処理によって、不具合箇所の特定、修正、及び確認を容易に行なうことができ、１以上の操作（シナリオ）におけるエラーの原因となる操作を効率よく変更できる。また、エラーの発生を回避又は早期解消できるため、操作記録再生システム１のダウンタイムを短縮でき、操作記録再生システム１の稼働率を高めることができる。
【００６１】
さらに、記録装置２は、再生検査において、１以上の候補オブジェクトを表示し、指定された候補のオブジェクトの、表示画面１０１における表示態様を変更する。これにより、ユーザは、操作記録情報４００を記録したときの静的なシナリオ（オブジェクト）に基づき、再生処理を行なわない場合でも、記録装置２上で、リアルタイムに、指定した候補オブジェクトの内容が正しいか否かを視覚的に検証することができる。
【００６２】
また、ユーザは、マウス等のＵＩの操作により容易に視覚的な操作を行なうことができるとともに、ＩＴ知識の乏しいユーザであっても容易に操作が可能になる。さらに、視覚的な操作を反復的に行なう事が可能であるため、再生処理前に、再生検査においてトライ＆エラーを行なうことができ、誤った操作記録情報４００により再生処理が行なわれる可能性を低減できる。
【００６３】
なお、記録装置２は、詳細設定領域１１１の一覧における、先頭ではなく途中のオブジェクトから操作記録変更処理を実行してもよい。換言すれば、記録装置２は、詳細設定領域１１１に表示された複数の操作のうちの１以上の操作を対象として、操作記録変更処理を実行してもよい。
【００６４】
また、上述した操作記録変更処理は、再生装置３において実行されてもよい。例えば、再生装置３は、再生検査ボタン１１２の押下により、詳細設定領域１１１に表示された複数の操作のうちの１以上の操作（全ての操作を含む）を対象として、再生検査機能を利用した操作記録変更処理を実行してもよい。
【００６５】
このように、一実施形態に係る操作記録変更処理は、記録装置２及び再生装置３の一方又は双方により実行されてよい。以下、操作記録変更処理を実行する記録装置２又は再生装置３を、情報処理装置の一例である「記録再生装置４」（図６参照）として説明する。
【００６６】
〔１−２〕一実施形態の構成例
記録再生装置４は、仮想サーバ（ＶＭ；Virtual Machine）であってもよいし、物理サーバであってもよい。また、記録再生装置４の機能は、１台のコンピュータにより実現されてもよいし、２台以上のコンピュータにより実現されてもよい。さらに、記録再生装置４の機能のうちの少なくとも一部は、クラウド環境において提供されるＨＷ（Hardware）リソース及びＮＷ（Network）リソースを用いて実現されてもよい。
【００６７】
また、記録再生装置４は、他の装置、例えば、他の記録装置２及び他の再生装置３の一方又は双方と、ネットワークを介して相互に通信可能に接続されてよい。ネットワークは、ＷＡＮ（Wide Area Network）、ＬＡＮ（Local Area Network）、又はこれらの組み合わせを含んでよい。ＷＡＮにはインターネットが含まれてよい。
【００６８】
（ハードウェア構成例）
図５は、記録再生装置４の機能を実現するコンピュータ１０のＨＷ構成例を示すブロック図である。記録再生装置４の機能を実現するＨＷリソースとして、複数のコンピュータが用いられる場合は、各コンピュータが図５に例示するＨＷ構成を備えてよい。
【００６９】
図５に示すように、コンピュータ１０は、ＨＷ構成として、例示的に、プロセッサ１０ａ、メモリ１０ｂ、記憶部１０ｃ、ＩＦ（Interface）部１０ｄ、Ｉ／Ｏ（Input / Output）部１０ｅ、及び読取部１０ｆを備えてよい。
【００７０】
プロセッサ１０ａは、種々の制御や演算を行なう演算処理装置の一例である。プロセッサ１０ａは、コンピュータ１０内の各ブロックとバス１０ｉで相互に通信可能に接続されてよい。なお、プロセッサ１０ａは、複数のプロセッサを含むマルチプロセッサであってもよいし、複数のプロセッサコアを有するマルチコアプロセッサであってもよく、或いは、マルチコアプロセッサを複数有する構成であってもよい。
【００７１】
プロセッサ１０ａとしては、例えば、ＣＰＵ、ＭＰＵ、ＧＰＵ、ＡＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡ等の集積回路（ＩＣ；Integrated Circuit）が挙げられる。なお、プロセッサ１０ａとして、これらの集積回路の２以上の組み合わせが用いられてもよい。ＣＰＵはCentral Processing Unitの略称であり、ＭＰＵはMicro Processing Unitの略称である。ＧＰＵはGraphics Processing Unitの略称であり、ＡＰＵはAccelerated Processing Unitの略称である。ＤＳＰはDigital Signal Processorの略称であり、ＡＳＩＣはApplication Specific ICの略称であり、ＦＰＧＡはField-Programmable Gate Arrayの略称である。
【００７２】
メモリ１０ｂは、種々のデータやプログラム等の情報を格納するＨＷの一例である。メモリ１０ｂとしては、例えばＤＲＡＭ（Dynamic RAM）等の揮発性メモリが挙げられる。
【００７３】
記憶部１０ｃは、種々のデータやプログラム等の情報を格納するＨＷの一例である。記憶部１０ｃとしては、ＨＤＤ（Hard Disk Drive）等の磁気ディスク装置、ＳＳＤ（Solid State Drive）等の半導体ドライブ装置、不揮発性メモリ等の各種記憶装置が挙げられる。不揮発性メモリとしては、例えば、フラッシュメモリ、ＳＣＭ（Storage Class Memory）、ＲＯＭ（Read Only Memory）等が挙げられる。
【００７４】
また、記憶部１０ｃは、コンピュータ１０の各種機能の全部若しくは一部を実現するプログラム１０ｇ（情報処理プログラム）を格納してよい。例えば、記録再生装置４のプロセッサ１０ａは、記憶部１０ｃに格納されたプログラム１０ｇをメモリ１０ｂに展開して実行することにより、記録再生装置４としての機能を実現できる。
【００７５】
ＩＦ部１０ｄは、ネットワークとの間の接続及び通信の制御等を行なう通信ＩＦの一例である。例えば、ＩＦ部１０ｄは、ＬＡＮ、或いは、光通信（例えばＦＣ（Fibre Channel））等に準拠したアダプタを含んでよい。当該アダプタは、無線及び有線の一方又は双方の通信方式に対応してよい。例えば、プログラム１０ｇは、当該通信ＩＦを介して、ネットワークからコンピュータ１０にダウンロードされ、記憶部１０ｃに格納されてもよい。
【００７６】
Ｉ／Ｏ部１０ｅは、入力装置、及び、出力装置、の一方又は双方を含んでよい。入力装置としては、例えば、キーボード、マウス、タッチパネル等が挙げられる。出力装置としては、例えば、モニタ、プロジェクタ、プリンタ等が挙げられる。ユーザが操作する上述したマウスやキーボード等のＵＩは、入力装置の一例である。また、図３及び図４に示す表示装置１００は、出力装置の一例である。
【００７７】
読取部１０ｆは、記録媒体１０ｈに記録されたデータやプログラムの情報を読み出すリーダの一例である。読取部１０ｆは、記録媒体１０ｈを接続可能又は挿入可能な接続端子又は装置を含んでよい。読取部１０ｆとしては、例えば、ＵＳＢ（Universal Serial Bus）等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、ＳＤカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体１０ｈにはプログラム１０ｇが格納されてもよく、読取部１０ｆが記録媒体１０ｈからプログラム１０ｇを読み出して記憶部１０ｃに格納してもよい。
【００７８】
記録媒体１０ｈとしては、例示的に、磁気／光ディスクやフラッシュメモリ等の非一時的なコンピュータ読取可能な記録媒体が挙げられる。磁気／光ディスクとしては、例示的に、フレキシブルディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、ブルーレイディスク、ＨＶＤ（Holographic Versatile Disc）等が挙げられる。フラッシュメモリとしては、例示的に、ＵＳＢメモリやＳＤカード等の半導体メモリが挙げられる。
【００７９】
上述したコンピュータ１０のＨＷ構成は例示である。従って、コンピュータ１０内でのＨＷの増減（例えば任意のブロックの追加や削除）、分割、任意の組み合わせでの統合、又は、バスの追加若しくは削除等は適宜行なわれてもよい。例えば、記録再生装置４において、Ｉ／Ｏ部１０ｅ及び読取部１０ｆの少なくとも一方は、省略されてもよい。
【００８０】
なお、上述のように、「記録再生装置４」は、操作記録変更処理を実行する記録装置２又は再生装置３を示すため、記録装置２及び再生装置３は、それぞれ、コンピュータ１０と同様のＨＷ構成を備えてよい。
【００８１】
（機能構成例）
次に、図６を参照して、一実施形態に係る記録再生装置４の機能構成例を説明する。図６に例示するように、操作記録変更処理に関する機能に着目した記録再生装置４は、操作記録ＤＢ４０、記録処理部４１、再生処理部４２、及び、再生検査部４３を備えてよい。
【００８２】
なお、記録再生装置４は、記録装置２として動作する場合であって、再生処理を行なわない場合には、再生処理部４２の機能を省略してもよい。また、記録再生装置４は、再生装置３として動作する場合であって、操作を記録する記録処理を行なわない場合には、記録処理部４１の機能を省略してもよい。
【００８３】
操作記録ＤＢ４０は、図２に例示する操作記録情報４００を格納してよい。操作記録ＤＢ４０には、例えば、記録処理部４１により記録された操作記録情報４００が格納されてもよく、これに加えて、又は代えて、他の記録装置２により記録され、記録処理部４１により取得（例えば受信）された操作記録情報４００が格納されてよい。操作記録ＤＢ４０は、例えば、コンピュータ１０のメモリ１０ｂ、記憶部１０ｃ、及び記録媒体１０ｈの少なくとも１つが有する記憶領域に格納されてよい。
【００８４】
記録処理部４１は、記録再生装置４において行なわれた操作の内容を、操作記録情報４００として操作記録ＤＢ４０に記録する記録処理を行なう。
【００８５】
再生処理部４２は、操作記録ＤＢ４０から操作記録情報４００を読み込み、記録された操作を再現する再生処理を行なう。読み込み対象の操作記録情報４００は、指定されたシナリオに対応する操作記録情報４００であってもよい。
【００８６】
再生処理部４２は、エラー通知部４２０を備えてよい。エラー通知部４２０は、シナリオを再生する際にエラーの発生を検出すると、表示画面１０１においてエラーの発生を通知（例えば表示）する。なお、エラー通知部４２０は、例えば、ユーザに対して、再生検査の実施を促すメッセージを通知してもよいし、後述する検査部４３１と同様にエラーの原因となるオブジェクトを特定し、特定したオブジェクト（又は操作）を通知してもよい。
【００８７】
再生検査部４３は、再生検査を行なう。再生検査部４３は、再生検査においてエラーの発生を検出すると、操作記録変更処理を行なう。再生検査部４３は、図６に例示するように、検査部４３１、表示制御部４３２、及び、記録変更部４３３を備えてよい。
【００８８】
検査部４３１は、再生検査ボタン１１２（図３参照）の押下に応じて、再生検査を行なう。再生検査の対象となる操作（オブジェクト）は、詳細設定領域１１１におけるオブジェクトの選択に応じて、選択された１以上のオブジェクト、或いは、シナリオ全体（全オブジェクト）、等のように決定されてよい。
【００８９】
検査部４３１は、操作記録情報４００において１以上の操作に対応付けて登録された１以上の第１オブジェクトと、１以上の操作の実行において表示画面１０１に表示される１以上の第２オブジェクトと、に基づき、エラーの原因となる操作を特定してよい。
【００９０】
例えば、検査部４３１は、１以上の第１オブジェクトに基づく１以上の検索条件により、表示画面１０１における１以上の第２オブジェクトを検索してよい。そして、検査部４３１は、第２オブジェクトが検索条件に一致しない第１オブジェクトに対応する操作をエラーの原因となる操作として特定してよい。
【００９１】
検出条件としては、例えば、以下のいずれか１種類、又は、２種類以上の組み合わせを含んでよい。例えば、検査部４３１は、第２オブジェクトが存在し得る検索範囲（例えばフォルダやＨＴＭＬファイル等の親オブジェクト）に、検索条件に一致するオブジェクトが存在しない場合に、当該検索条件の第１オブジェクトに対応する操作を特定する。
【００９２】
・第１オブジェクトの名称。
・第１オブジェクトの種類。
・第１オブジェクトの属性。
・第１オブジェクトのクラス名。
・第１オブジェクトの画像。
・第１オブジェクトの座標。
・第１オブジェクトのタグ（ＨＴＭＬ）。
・その他、操作記録情報４００から抽出できる第１オブジェクトの情報。
【００９３】
なお、上述した検索条件に基づく操作の特定は、エラーの検出も行なわれる。換言すれば、検査部４３１は、検索条件を満たさない場合にエラーを検出し、そのときのオブジェクトに対応する操作を、エラーの原因となる操作として特定する。一方、検査部４３１は、エラーが検出されないと判定した場合、実行順序に従い詳細設定領域１１１から次の操作を選択する。
【００９４】
このように、操作が実行（再生）される場合に表示画面１０１に表示される範囲を検索することで、エラーの原因となる操作を確実に特定することができる。また、上述した検索条件を用いることで、エラーの原因となる操作を、柔軟且つ確実に特定できる。
【００９５】
以上のように、検査部４３１は、１以上の操作を実行するための情報を記録した操作記録情報４００に基づき１以上の操作を実行する場合に検出されるエラーの、原因となる操作を特定する特定部の一例である。
【００９６】
表示制御部４３２は、記録再生装置４が備える（記録再生装置４に接続される）表示装置１００の表示画面１０１における表示制御を行なう。
【００９７】
例えば、表示制御部４３２は、検査部４３１から通知されたオブジェクトの情報に基づき、エラーの原因となるオブジェクトの表示態様を変更する制御を行なう。当該制御には、例えば、以下の少なくとも１つの表示制御が含まれてよい。
【００９８】
・エラーの原因となるオブジェクトの親オブジェクトの強調表示（図３の符号Ｃ参照）。
・候補一覧領域１１３の表示（図３及び図４参照）。
・ユーザ操作により選択された候補オブジェクトの候補一覧領域１１３での強調表示（図４の符号Ｄ及びＩ参照）。
・ユーザ操作により選択された候補オブジェクトの強調表示（図４の符号Ｆ及びＫ参照）。
・ユーザ操作により選択された候補オブジェクトによる詳細設定領域１１１の表示変更（図４の符号Ｇ及びＬ参照）。
【００９９】
以上のように、表示制御部４３２は、検査部４３１が特定した操作の操作対象として登録可能なオブジェクトの１以上の候補を表示する制御部の一例である。また、表示制御部４３２は、表示した１以上の候補のうち、指定された候補のオブジェクトの、表示画面１０１における表示態様を変更する変更部の一例である。
【０１００】
記録変更部４３３は、登録指示に基づき、操作記録情報４００の操作記録を更新する。例えば、記録変更部４３３は、操作記録情報４００に対して、エラーの原因となるオブジェクトの情報を、ユーザ操作により選択されたオブジェクトの情報により更新する。
【０１０１】
登録指示は、上述のように、ユーザ操作によるＯＫボタン１１４又は登録ボタン１１５の押下により発行されてもよいし、候補一覧領域１１３における候補オブジェクトの選択（図４の符号Ｄ及びＩ参照）により発行されてもよい。
【０１０２】
このように、記録変更部４３３は、表示態様の変更後のオブジェクトに対する登録指示に応じて、操作記録情報４００に対して、登録指示を受け付けたオブジェクトを、検査部４３１が特定した操作に対応付けて登録する登録部の一例である。
【０１０３】
〔１−３〕一実施形態の動作例
次に、上述した一実施形態に係る操作記録再生システム１の動作例を説明する。図７は、再生検査部４３による操作記録変更処理の動作例を示すフローチャートである。
【０１０４】
図７に例示するように、記録再生装置４は、アプリケーション、例えばＲＰＡツールの操作画面１１０が表示画面１０１に表示された状態において、再生検査ボタン１１２が押下されるまで待機する（ステップＳ１、ステップＳ１でＮｏ）。
【０１０５】
再生検査ボタン１１２が押下されると（ステップＳ１でＹｅｓ）、再生検査部４３の検査部４３１は、指定された操作のうち、検査未実行、且つ、実行順が先の操作を選択する（ステップＳ２）。「指定された操作」とは、例えば、詳細設定領域１１１（図３参照）において指定された１以上の操作であってよく、或いは、詳細設定領域１１１においてシナリオが指定された場合には指定されたシナリオで実行される全ての操作であってよい。
【０１０６】
検査部４３１は、選択した操作の操作記録情報４００に基づき、表示画面１０１を検索する（ステップＳ３）。例えば、検査部４３１は、選択した操作のオブジェクト情報４００ｅと、表示画面１０１に表示されるオブジェクトとを比較し、一致するオブジェクトの有無を判定する。
【０１０７】
エラーを検出するか否かを判定する（ステップＳ４）。例えば、検査部４３１は、上述したように、オブジェクト名称、属性やクラス名、タグ（ＨＴＭＬ）、画像、座標等の不一致を検出した場合（エラーの検出条件を満たす場合）に、エラーを検出したと判定してよい。
【０１０８】
エラーを検出しない場合（ステップＳ４でＮｏ）、検査部４３１は、当該操作を検査済みと判断し、処理がステップＳ１３に移行する。
【０１０９】
エラーを検出した場合（ステップＳ４でＹｅｓ）、検査部４３１は、エラーの原因となるオブジェクトを特定し（ステップＳ５）、特定したオブジェクトの情報を表示制御部４３２に通知する。例えば、検査部４３１は、エラーが検出されたときの操作の対象であるオブジェクトを、エラーの原因となるオブジェクトとして特定してよい。
【０１１０】
表示制御部４３２は、図３に符号Ｃで例示するように、特定したオブジェクトの親オブジェクトを強調表示する（ステップＳ６）。
【０１１１】
また、表示制御部４３２は、親オブジェクト配下の候補オブジェクトを一覧表示する（ステップＳ７）。例えば、表示制御部４３２は、図４の候補一覧領域１１３に候補オブジェクトを表示してよい。
【０１１２】
表示制御部４３２は、一覧表示した候補オブジェクトが選択されるまで待機する（ステップＳ８、ステップＳ８でＮｏ）。候補オブジェクトが選択されると（ステップＳ８でＹｅｓ）、表示制御部４３２は、表示画面１０１、候補一覧領域１１３、及び詳細設定領域１１１における、選択されたオブジェクトの表示態様を変更する（ステップＳ９）。例えば、表示制御部４３２は、表示画面１０１及び候補一覧領域１１３において選択オブジェクトを強調表示してよい（図４の符号Ｄ及びＦ参照）。また、表示制御部４３２は、詳細設定領域１１１において、オブジェクト名称４００ｂの表示を、選択されたオブジェクトの名称に変更してよい（図４の符号Ｇ参照）。
【０１１３】
次いで、表示制御部４３２は、登録指示を受け付けたか否かを判定する（ステップＳ１０）。登録指示を受け付けていない場合（ステップＳ１０でＮｏ）、表示制御部４３２は、候補一覧領域１１３において候補オブジェクトが再選択されたか否かを判定する（ステップＳ１１）。候補オブジェクトが再選択されていない場合（ステップＳ１１でＮｏ）、処理がステップＳ１０に移行する。一方、候補オブジェクトが再選択された場合（ステップＳ１１でＹｅｓ）、処理がステップＳ９に移行する。この場合、表示制御部４３２は、表示画面１０１、候補一覧領域１１３、及び詳細設定領域１１１における、再選択されたオブジェクトの表示態様を変更する（図４の符号Ｉ〜Ｌ参照）。
【０１１４】
一方、ステップＳ１０において、登録指示を受け付けた場合（ステップＳ１０でＹｅｓ）、記録変更部４３３は、操作記録情報４００を選択（又は再選択）されたオブジェクトで更新する（ステップＳ１２）。例えば、記録変更部４３３は、操作記録情報４００における、エラーを検出した操作のオブジェクト情報４００ｅを、選択（又は再選択）されたオブジェクトの情報に変更してよい。
【０１１５】
検査部４３１は、指定された全操作を検査したか否かを判定し（ステップＳ１３）、全操作を検査していない場合（ステップＳ１３でＮｏ）、処理がステップＳ２に移行する。一方、指定された全操作を検査した場合（ステップＳ１３でＹｅｓ）、処理が終了する。
【０１１６】
〔１−４〕一実施形態の適用例
次に、上述した一実施形態に係る操作記録再生システム１の適用例を説明する。以下では、下記（Ｉ）〜（III）の手順によって処理が行なわれるものとし、図８〜図１５を参照して、これらの手順における画面遷移の一例を説明する。
【０１１７】
（Ｉ）記録再生装置４が、ウェブ画面でサインインボタンを押下する操作を記録する。
【０１１８】
（II）ウェブ画面の改修によりサインインボタンが追加される。この場合、記録再生装置４による再生処理及び再生検査ではエラーの発生が検出される。
【０１１９】
（III）記録再生装置４が、再生検査機能により、サインインボタンを候補一覧に表示し、選択された（ユーザが押下したい）サインインボタンを操作記録情報４００に記録する。
【０１２０】
まず、図８及び図９を参照して、（Ｉ）の手順について説明する。図８に例示するように、記録再生装置４は、ＵＩを介したユーザの操作に応じて、操作の記録を行なうための操作記録画面２１０を起動する。操作記録画面２１０は、例えば、表示画面１０１に表示されてよい。
【０１２１】
記録処理部４１は、記録の開始、一時停止、再開、終了等を切り替えるボタン２１１の押下によって「開始」又は「再開」が選択されると、「終了」又は「一時停止」が押下されるまでの間、表示画面１０１での操作に関する情報を操作記録情報４００に記録する。
【０１２２】
例えば、記録処理部４１は、表示画面１０１に表示されるブラウザ２２０において、ユーザの操作に応じてウェブ画面２２１のサインインボタン２２２が押下されると、当該押下をオブジェクトに対する操作として操作記録情報４００に記録する。図８の例では、操作記録として、ブラウザ２２０のウィンドウにおけるウェブ画面２２１において、（Ｘ，Ｙ）＝（８０，１３）の座標を左シングルクリックする操作が記録される。
【０１２３】
なお、サインインボタン２２２の押下等の操作は、上述のように、記録再生装置４により実行されるＯＳによって検出されてもよいし、或いは、操作の記録を行なうアプリケーション等により検出されてもよい。
【０１２４】
図９に例示するように、記録処理部４１は、シナリオを管理する管理画面２３０を起動し、表示画面１０１に表示してよい。管理画面２３０には、シナリオに含まれる操作の一覧領域２３１、一覧領域２３１で選択された操作２３２に関する操作記録情報４００を表示する表示領域２３３、操作内容２３４、プレビューウィンドウ２３５、及び、後述する変更ボタン２３８が含まれてよい。表示領域２３３及び操作の内容を示す操作内容２３４の情報は、操作記録情報４００から取得されてよい。
【０１２５】
プレビューウィンドウ２３５には、選択された操作２３２の対象のオブジェクトを示すプレビューが表示される。例えば、操作２３２が図８に示すウェブ画面２２１のサインインボタン２２２の押下である場合、図９に示すように、プレビューウィンドウ２３５には、ブラウザ２２０のプレビュー２３６が表示される。プレビュー２３６では、オブジェクトであるサインインボタン２２２を容易に把握（特定）できるように、例えば、オブジェクトとは異なる色の枠２３７が付加されて強調表示される。
【０１２６】
次に、図１０を参照して、（II）について説明する。図１０に例示するように、ウェブ画面２２１の改修により、サインインボタン２２２（図８参照）に代えて、サインインボタン２２３及び２２４が設けられた場合を想定する。この場合、操作記録情報４００を記録したときとオブジェクト情報が異なる（例えばオブジェクトの名称等が一致しない）ため、仮に、再生処理部４２による再生処理を行なったとしても、サインインボタン２２３及び２２４のいずれを押下するかを特定できない。
【０１２７】
次に、図１１〜図１５を参照して、（III）の手順について説明する。例えば、ユーザは、再生処理でのエラーや、システム管理者からの通知等によって、サインインボタン２２２の変更を認識すると、ＵＩを介して図９の変更ボタン２３８を押下する。変更ボタン２３８は、再生検査部４３による再生検査機能を呼び出すボタンである。なお、変更ボタン２３８は、図９の管理画面２３０以外の画面に設けられてもよい。
【０１２８】
再生検査部４３は、変更ボタン２３８の押下を検知すると、図１１に例示する変更画面２４０を表示画面１０１に表示する。変更画面２４０は、図３の操作画面１１０に対応する画面であり、詳細設定領域２４１、検索条件領域２４２、検索結果設定領域２４３、及び、再生検査ボタン２４４を含んでよい。
【０１２９】
詳細設定領域２４１は、図３の詳細設定領域１１１に対応する領域であり、変更ボタン２３８が押下されたときに選択（表示）されていたシナリオのオブジェクト名称４００ｂ及びオブジェクト種類４００ｃ等を表示する。検索条件領域２４２は、検索条件として、オブジェクト情報４００ｅの各パラメータを個別に指定する領域である。なお、図１１の例において、プロパティの条件にはフレームワークＩＤが設定されている。
【０１３０】
検索結果設定領域２４３には、検索結果としてヒットしたオブジェクトのうちの、オブジェクト情報４００ｅと一致するオブジェクト（以下、「一致オブジェクト」と表記する）として扱うためのインデックスが設定されてよい。例えば、インデックス＝“０”の場合、検索結果としてヒットした１番目のオブジェクトを一致オブジェクトとする事を示す。また、インデックス＝“２”の場合、検索結果としてヒットした３番目のオブジェクトを一致オブジェクトとする事を示し、この場合、検索結果として、インデックスに満たない数（例えば２つ）のオブジェクトがヒットした場合には、エラーの発生が検出される。インデックスは、オブジェクト名称を検索結果に使用する場合としない場合とで、それぞれ設定可能である。
【０１３１】
なお、検索条件領域２４２及び検索結果設定領域２４３には、詳細設定領域２４１において選択されている操作（オブジェクト）に関する情報が表示されてよい。
【０１３２】
再生検査ボタン２４４は、再生検査を行なうためのボタンであり、図３に示す再生検査ボタン１１２に対応する。
【０１３３】
例えば、ＵＩを介してユーザが再生検査ボタン２４４を押下した場合、再生検査部４３の検査部４３１は、詳細設定領域２４１に表示された操作の表示順に検査を行なう。例えば、項番“６”の［サインイン］が図８に示すサインインボタン２２２の押下に対応する場合、図１０に例示するように、検査部４３１は、オブジェクト名称が不一致であるため、サインインボタン２２２を特定できない。
【０１３４】
そこで、検査部４３１は、サインインボタン２２２の親オブジェクト（例えばブラウザ２２０）から、サインインボタン２２２に代わる候補オブジェクトであるサインインボタン２２３及び２２４のＨＴＭＬタグを特定する。そして、表示制御部４３２は、図１２に例示するように、候補オブジェクト２５１を一覧表示した候補一覧画面２５０を表示画面１０１に表示する。
【０１３５】
候補一覧画面２５０は、ＯＫボタン２５２及びキャンセルボタン２５３を含むウィンドウであり、図３に示す候補一覧領域１１３の一例である。
【０１３６】
また、表示制御部４３２は、図１３に符号２２５で例示するように、親オブジェクト（例えばブラウザ２２０）を強調表示する。
【０１３７】
図１４に例示するように、ＵＩを介してユーザが候補一覧画面２５０から１番目の候補を選択した場合（符号２５４参照）、表示制御部４３２は、図１５に例示するように、表示画面１０１において、選択された候補オブジェクトを強調表示する。図１５の例では、表示制御部４３２は、サインインボタン２２３を強調表示する（符号２２６参照）。
【０１３８】
また、図１４の例において、候補一覧画面２５０で１番目の候補が選択された状態において、ＯＫボタン２５２が押下されると、記録変更部４３３に登録指示が発行される。この場合、記録変更部４３３は、操作記録情報４００に対して、詳細設定領域２４１における項番“６”のオブジェクト情報４００ｅを、選択されたオブジェクトに変更する（符号２４２参照）。また、表示制御部４３２は、詳細設定領域２４１において、再生検査の進捗を表す網掛けの表示を、項番“０”〜“５”から項番“０”〜“６”に変更することで、項番“６”までの再生検査が終了したことを示してよい。
【０１３９】
以上により、サインインボタン２２２の変更に伴うシナリオの操作記録変更処理が完了する。
【０１４０】
〔２〕その他
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。
【０１４１】
例えば、図６に示す各機能ブロックは、それぞれ任意の組み合わせで併合してもよく、分割してもよい。
【０１４２】
一実施形態では、記録再生装置４が、再生検査ボタン１１２又は２４４の押下により、再生検査機能を利用した操作記録変更処理を実行するものとして説明したが、これに限定されるものではない。例えば、記録再生装置４は、記録した操作の再生処理においてエラーの発生が検出された場合に、上述した操作記録変更処理を実行してもよい。
【０１４３】
一例として、エラー通知部４２０は、エラーの発生を検出すると、エラー発生を検査部４３１に通知してもよい。以下、図１６を参照して、再生処理でエラー発生が検出された場合の操作記録変更処理の動作例を説明する。
【０１４４】
図１６に例示するように、再生処理部４２による再生処理において、エラー発生が検知された場合（ステップＳ２１）、エラー通知部４２０は、再生検査部４３の検査部４３１に対して、エラー発生を通知する。
【０１４５】
エラー発生を通知された検査部４３１は、図７のステップＳ５と同様に、エラーの原因となるオブジェクトを特定する。以降のステップＳ６〜Ｓ１２の処理は、図７のステップＳ６〜Ｓ１２の処理と同様である。
【０１４６】
ステップＳ１２において、記録変更部４３３が操作記録情報４００を更新すると、再生検査部４３の処理が終了し、処理が再生処理部４２による再生処理に戻る（ステップＳ２２）。
【０１４７】
以上の処理によっても、一実施形態と同様の効果を奏することができる。また、再生処理においてエラーの発生が検出されたことを、操作記録変更処理の開始トリガとすることで、記録再生装置４の処理を簡素化でき、処理負荷を低減できる。さらに、エラーが発生してから操作記録情報４００を修正するまでの手順、及び、操作記録情報４００を修正してから修正後の操作記録情報４００を再生するまでの手順、におけるユーザの操作回数を減少させることができ、ユーザによる操作を効率化できる。
【０１４８】
また、一実施形態では、ユーザが、ＵＩを介して記録再生装置４を操作し、記録再生装置４の環境において再生検査を行なうものとしたが、これに限定されるものではない。例えば、記録再生装置４がクラウドサーバである場合や遠隔地（例えばデータセンタ）に設置される場合等において、ユーザは、ユーザ端末を操作して、ネットワーク経由で記録再生装置４にアクセスし、再生検査を行なってもよい。また、記録再生装置４による再生検査の対象は、記録再生装置４とは異なる情報処理装置が備える表示画面１０１の操作であってもよい。この場合、記録再生装置４は、ネットワーク経由で上記異なる情報処理装置にアクセスし、再生検査によって当該情報処理装置の検証を行なってよい。
【０１４９】
〔３〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
【０１５０】
（付記１）
一以上の操作を実行するための情報を記録した操作情報に基づき前記一以上の操作を実行する場合に検出されるエラーの、原因となる操作を特定し、
特定した前記操作の操作対象として登録可能なオブジェクトの一以上の候補を表示し、
表示した前記一以上の候補のうち、指定された候補のオブジェクトの、表示画面における表示態様を変更し、
前記表示態様の変更後のオブジェクトに対する登録指示に応じて、前記操作情報に対して、前記登録指示を受け付けたオブジェクトを、前記特定した操作に対応付けて登録する、
処理をコンピュータに実行させる、情報処理プログラム。
【０１５１】
（付記２）
前記特定は、前記操作情報において前記一以上の操作に対応付けて登録された一以上の第１オブジェクトと、前記一以上の操作の実行において前記表示画面に表示される一以上の第２オブジェクトと、に基づいて、前記エラーの原因となる操作を特定する、
付記１に記載の情報処理プログラム。
【０１５２】
（付記３）
前記特定は、前記一以上の第１オブジェクトに基づく一以上の検索条件により、前記表示画面における前記一以上の第２オブジェクトを検索し、第２オブジェクトが検索条件に一致しない第１オブジェクトに対応する操作を、前記エラーの原因となる操作として特定する、
付記２に記載の情報処理プログラム。
【０１５３】
（付記４）
前記検索条件は、第１オブジェクトの名称、第１オブジェクトの種類、第１オブジェクトの属性、第１オブジェクトのクラス名、第１オブジェクトの画像、第１オブジェクトの座標、第１オブジェクトのタグ、のいずれか１種類、又は、２種類以上の組み合わせを含む、
付記３に記載の情報処理プログラム。
【０１５４】
（付記５）
前記表示した一以上の候補のうちのいずれかが指定される前において、前記特定した操作に対応付けて前記操作情報に登録されたオブジェクトよりも上位の階層のオブジェクトの、前記表示画面における表示態様を変更する、
処理を前記コンピュータに実行させる、付記１〜４のいずれか１項に記載の情報処理プログラム。
【０１５５】
（付記６）
前記表示は、前記特定した操作に対応付けて前記操作情報に登録されたオブジェクトよりも上位の階層のオブジェクトの配下に属する一以上のオブジェクトを、前記候補として表示する、
付記１〜５のいずれか１項に記載の情報処理プログラム。
【０１５６】
（付記７）
前記操作情報が記録する前記情報は、複数の前記操作を所定の順序で実行するための情報であり、
前記コンピュータに、
前記複数の操作から前記所定の順序で選択した操作について、前記特定を行ない、
前記特定において、前記選択した操作を実行する場合にエラーが検出されないと判定した場合、前記複数の操作から前記所定の順序で次の操作を選択する、
付記１〜６のいずれか１項に記載の情報処理プログラム。
【０１５７】
（付記８）
前記操作情報が記録する前記情報は、複数の前記操作を所定の順序で実行するための情報であり、
前記コンピュータに、
前記複数の操作のうちの、指定された１以上の操作から前記所定の順序で選択した操作について、前記特定を行ない、
前記特定において、前記選択した操作を実行する場合にエラーが検出されないと判定した場合、前記指定された１以上の操作から前記所定の順序で次の操作を選択する、
付記１〜６のいずれか１項に記載の情報処理プログラム。
【０１５８】
（付記９）
一以上の操作を実行するための情報を記録した操作情報に基づき前記一以上の操作を実行する場合に検出されるエラーの、原因となる操作を特定し、
特定した前記操作の操作対象として登録可能なオブジェクトの一以上の候補を表示し、
表示した前記一以上の候補のうち、指定された候補のオブジェクトの、表示画面における表示態様を変更し、
前記表示態様の変更後のオブジェクトに対する登録指示に応じて、前記操作情報に対して、前記登録指示を受け付けたオブジェクトを、前記特定した操作に対応付けて登録する、
処理をコンピュータが実行する、情報処理方法。
【０１５９】
（付記１０）
前記特定は、前記操作情報において前記一以上の操作に対応付けて登録された一以上の第１オブジェクトと、前記一以上の操作の実行において前記表示画面に表示される一以上の第２オブジェクトと、に基づいて、前記エラーの原因となる操作を特定する、
付記９に記載の情報処理方法。
【０１６０】
（付記１１）
前記表示した一以上の候補のうちのいずれかが指定される前において、前記特定した操作に対応付けて前記操作情報に登録されたオブジェクトよりも上位の階層のオブジェクトの、前記表示画面における表示態様を変更する、
処理を前記コンピュータが実行する、付記９又は付記１０に記載の情報処理方法。
【０１６１】
（付記１２）
前記表示は、前記特定した操作に対応付けて前記操作情報に登録されたオブジェクトよりも上位の階層のオブジェクトの配下に属する一以上のオブジェクトを、前記候補として表示する、
付記９〜１１のいずれか１項に記載の情報処理方法。
【０１６２】
（付記１３）
一以上の操作を実行するための情報を記録した操作情報に基づき前記一以上の操作を実行する場合に検出されるエラーの、原因となる操作を特定する特定部と、
特定した前記操作の操作対象として登録可能なオブジェクトの一以上の候補を表示する制御部と、
表示した前記一以上の候補のうち、指定された候補のオブジェクトの、表示画面における表示態様を変更する変更部と、
前記表示態様の変更後のオブジェクトに対する登録指示に応じて、前記操作情報に対して、前記登録指示を受け付けたオブジェクトを、前記特定した操作に対応付けて登録する登録部と、
を備える、情報処理装置。
【０１６３】
（付記１４）
前記特定部は、前記操作情報において前記一以上の操作に対応付けて登録された一以上の第１オブジェクトと、前記一以上の操作の実行において前記表示画面に表示される一以上の第２オブジェクトと、に基づいて、前記エラーの原因となる操作を特定する、
付記１３に記載の情報処理装置。
【０１６４】
（付記１５）
前記特定部は、前記一以上の第１オブジェクトに基づく一以上の検索条件により、前記表示画面における前記一以上の第２オブジェクトを検索し、第２オブジェクトが検索条件に一致しない第１オブジェクトに対応する操作を、前記エラーの原因となる操作として特定する、
付記１４に記載の情報処理装置。
【０１６５】
（付記１６）
前記検索条件は、第１オブジェクトの名称、第１オブジェクトの種類、第１オブジェクトの属性、第１オブジェクトのクラス名、第１オブジェクトの画像、第１オブジェクトの座標、第１オブジェクトのタグ、のいずれか１種類、又は、２種類以上の組み合わせを含む、
付記１５に記載の情報処理装置。
【０１６６】
（付記１７）
前記変更部は、前記表示した一以上の候補のうちのいずれかが指定される前において、前記特定した操作に対応付けて前記操作情報に登録されたオブジェクトよりも上位の階層のオブジェクトの、前記表示画面における表示態様を変更する、
付記１３〜１６のいずれか１項に記載の情報処理装置。
【０１６７】
（付記１８）
前記制御部は、前記特定した操作に対応付けて前記操作情報に登録されたオブジェクトよりも上位の階層のオブジェクトの配下に属する一以上のオブジェクトを、前記候補として表示する、
付記１３〜１７のいずれか１項に記載の情報処理装置。
【０１６８】
（付記１９）
前記操作情報が記録する前記情報は、複数の前記操作を所定の順序で実行するための情報であり、
前記特定部は、
前記複数の操作から前記所定の順序で選択した操作について、前記特定を行ない、
前記選択した操作を実行する場合にエラーが検出されないと判定した場合、前記複数の操作から前記所定の順序で次の操作を選択する、
付記１３〜１８のいずれか１項に記載の情報処理装置。
【０１６９】
（付記２０）
前記操作情報が記録する前記情報は、複数の前記操作を所定の順序で実行するための情報であり、
前記特定部は、
前記複数の操作のうちの、指定された１以上の操作から前記所定の順序で選択した操作について、前記特定を行ない、
前記選択した操作を実行する場合にエラーが検出されないと判定した場合、前記指定された１以上の操作から前記所定の順序で次の操作を選択する、
付記１３〜１８のいずれか１項に記載の情報処理装置。
【符号の説明】
【０１７０】
１    操作記録再生システム
１０    コンピュータ
１００    表示装置
１０１    表示画面
２    記録装置
３、３−１、３−２    再生装置
４    記録再生装置
４０    操作記録ＤＢ
４００    操作記録情報
４００ａ    操作種別情報
４００ｂ    オブジェクト名称
４００ｃ    オブジェクト種類
４００ｄ    プロパティ情報
４００ｅ    オブジェクト情報
４１    記録処理部
４２    再生処理部
４２０    エラー通知部
４３    再生検査部
４３１    検査部
４３２    表示制御部
４３３    記録変更部
【要約】
【課題】一以上の操作におけるエラーの原因となる操作を効率よく変更する。
【解決手段】一以上の操作を実行するための情報を記録した操作情報に基づき前記一以上の操作を実行する場合に検出されるエラーの、原因となる操作を特定し、特定した前記操作の操作対象として登録可能なオブジェクトの一以上の候補１１３を表示し、表示した前記一以上の候補１１３のうち、指定された候補のオブジェクトＤ，Ｉの、表示画面１０１における表示態様を変更Ｆ，Ｋし、前記表示態様の変更後のオブジェクトに対する登録指示１１４又は１１５に応じて、前記操作情報に対して、前記登録指示１１４又は１１５を受け付けたオブジェクトを、前記特定した操作に対応付けて登録する。
【選択図】図４【図１】
0006739599.tif 000002
【図２】
0006739599.tif 000003
【図３】
0006739599.tif 000004
【図４】
0006739599.tif 000005
【図５】
0006739599.tif 000006
【図６】
0006739599.tif 000007
【図７】
0006739599.tif 000008
【図８】
0006739599.tif 000009
【図９】
0006739599.tif 000010
【図１０】
0006739599.tif 000011
【図１１】
0006739599.tif 000012
【図１２】
0006739599.tif 000013
【図１３】
0006739599.tif 000014
【図１４】
0006739599.tif 000015
【図１５】
0006739599.tif 000016
【図１６】
0006739599.tif 000017