以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の実施形態で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
〔1〕一実施形態
〔1−1〕一実施形態の説明
図1は、一実施形態に係る操作記録再生システム1の構成例を示す図である。図1に示すように、操作記録再生システム1は、例示的に、記録装置2と、再生装置3−1及び3−2(以下の説明においてこれらを区別しない場合には単に「再生装置3」と表記する)と、を備えてよい。なお、図1の例では、操作記録再生システム1は、2台の再生装置3を備えるが、1台、又は、3台以上の再生装置3を備えてもよい。
操作記録再生システム1は、操作内容、換言すれば処理の軌跡を登録するシステム情報処理システムの一例である。操作記録再生システム1は、図1に例示するように、記録装置2において行なわれた操作の内容を、操作記録情報400として操作記録DB(Database)40に記録する記録処理を行なう。また、操作記録再生システム1は、再生装置3−1及び3−2により、操作記録情報400を読み込み、記録された操作を再現する再生処理を行なう。
一実施形態において、操作記録情報400として内容が記録される操作は、例えば記録装置2で繰り返し行なわせたい操作や、再生装置3等の他のコンピュータで行なわせたい操作等である。
操作記録再生システム1は、記録装置2において、操作記録情報400を記録することで、記録装置2で行なわれた操作を所定数の再生装置3に行なわせることができる。例えば、再生装置3としての複数台のコンピュータに同じ操作(例えば設定等)を実行させる場合、記録装置2において該当する操作を実施して操作記録情報400を記録し、この操作記録情報400を複数台のコンピュータに再生させればよい。
また、操作記録再生システム1は、記録装置2において、操作記録情報400を記録することで、記録した操作を記録装置2に繰り返し行なわせることができる。例えば、1台のコンピュータに複数回同じ操作を実行させる場合、記録装置2としてのコンピュータにおいて該当する操作を実施して操作記録情報400を記録し、この操作記録情報400を当該コンピュータに再生させればよい。
さらに、一実施形態では、記録装置2又は再生装置3において、操作記録情報400が正しいか否かを、記録した操作を行なうことで検証することができる。操作記録情報400を再生することで操作記録情報400が正しいか否かを検証する処理は、「再生検査」と称されてもよい。再生検査の詳細は後述する。
操作記録DB40は、例えば、記録装置2が有する記憶装置、記録装置2の外部(例えば再生装置3やクラウドサーバ等)の記録装置、可搬型の記録媒体、等のうちの少なくとも1種類の記憶装置に格納されてよい。操作記録情報400(操作記録DB40)は、例えば、記録装置2と再生装置3との間を通信可能に接続するネットワーク(図示省略)を経由して、記録装置2から再生装置3に送信(提供)され、再生装置3の記憶装置に格納されてもよい。或いは、操作記録情報400(操作記録DB40)は、操作記録情報400を記録する記憶装置や可搬型の記録媒体を再生装置3に接続又は挿入することによって、再生装置3に読み出され(提供され)、再生装置3の記憶装置に格納されてもよい。
操作記録情報400は、1以上の操作を実行するための情報を記録した操作情報の一例である。操作記録情報400は、表示画面に表示された操作対象オブジェクトを示す情報と、操作対象オブジェクトに対して行なわれた操作の種類を示す情報(以下、「操作種別情報」と表記する場合がある)とを含んでよい。なお、一実施形態における操作対象オブジェクトとは、例えば、画面上に選択可能な状態で表示され得るものであり、且つ操作の対象となる表示部品である。以下の説明において、「操作対象オブジェクト」を単に「オブジェクト」と表記する場合がある。また、「操作対象オブジェクトを示す情報」を「オブジェクト情報」と表記する場合がある。
オブジェクト情報は、例示的に、操作対象オブジェクトの名称(以下、「オブジェクト名称」と表記する場合がある)とオブジェクトの種類の情報を含んでよい。一実施形態に係るオブジェクト情報は、記録装置2により実行されるOS(Operating System)、又は、OS上で実行されるアプリケーション、等のソフトウェア(SW;Software)により取得され、操作記録DB40に記録されてよい。
図2は、一実施形態に係る操作記録DB40に記録される操作記録情報400の一例を示す図である。図2に示すように、操作記録情報400は、例示的に、操作種別情報400a、オブジェクト名称400b、オブジェクト種類400c、及び、プロパティ情報400dを含んでよい。
操作種別情報400aには、例えば、移動、マウスクリック、ドラッグ、ドロップ等の操作の種類が記録されてよい。オブジェクト名称400bには、例えば、オブジェクトの名称(換言すればラベル)が記録されてよい。オブジェクト名称400bは、一例として、オブジェクト内に表示されたテキストデータであってよい。オブジェクト種類400cには、例えば、ウィンドウ、ダイアログボックス、ボタン(最小化、最大化、閉じる等)等が記録されてよい。図2の例では、オブジェクト名称400bが「FAQ」の操作対象オブジェクトの種類はメニューであり、所定のアプリケーションの起動により立ち上げられたウィンドウである。
プロパティ情報400dには、オブジェクトの属性、クラス名、タグ(HTML等の場合)、画像(操作対象のオブジェクトが画像の場合)、座標、等のうちの少なくとも1種類以上の情報が記録されてよい。属性及びクラス名は、OS、フレームワーク、アプリケーション等においてオブジェクトを管理、分類、識別等するための情報であり、属性値、クラスの名称又はID(Identifier)、等の種々の情報を含んでよい。画像には、オブジェクトの画像の保存先又は画像そのもの、等の画像を特定可能な情報が設定されてよい。座標には、オブジェクトの座標、操作が行なわれた座標(一例として移動先の座標)、の一方又は双方が含まれてよい。また、画像及び座標は、所定の画像を起点とした相対位置によりオブジェクトが特定されるような操作における、当該オブジェクトを特定するための画像(所定の画像)及び座標(相対座標)であってもよい。
上述したオブジェクト名称400b、オブジェクト種類400c、及びプロパティ情報400dは、操作対象のオブジェクトに関するオブジェクト情報400eの一例である。
なお、操作記録情報400には、上述した情報に加えて、操作により入力された文字列や数値等のデータ、親オブジェクトを特定するための情報、等が含まれてもよい。親オブジェクトは、例えば、操作対象のオブジェクトよりも上位の階層のオブジェクト、換言すれば、オブジェクトの所属する階層の上位階層のオブジェクトである。
操作記録DB40に蓄積される複数の操作記録情報400は、所定の動作を遂行するために行なわれる「一連の操作」、「連続する操作」、或いは「操作手順」と捉えられてもよい。「操作手順」は「シナリオ」と称されてもよい。なお、「操作」は、「処理」と言い換えられてもよい。記録装置2は、例えば、操作の記録を開始してから終了するまでの期間に記録した複数の操作記録情報400を、一連の操作として登録してもよい。
ここで、操作内容を記録する既存のアプリケーションでは、登録したシナリオを再生する際にエラーが発生した場合、以下の理由から、エラーを引き起こす不具合箇所の修正及び確認を容易に行なうことが困難となる。なお、以下、操作内容を記録するアプリケーションを、「RPA(Robotics Process Automation)ツール」と表記する場合がある。
シナリオを再生する際にエラーが発生する場合としては、例えば、シナリオを登録してから、登録したシナリオを再生するまでの間に、オブジェクト、例えば操作画面における入力項目やボタン等に変更があった場合が挙げられる。オブジェクトが変更される場合としては、以下の(a)及び(b)に例示するような場合が挙げられる。
(a)操作対象領域がデスクトップやフォルダの場合:例えば、操作対象領域内のファイルやフォルダが移動、削除、名称変更等される場合である。
(b)操作対象領域がウェブ(web)ページの画面(ウェブ画面)の場合:例えば、操作対象領域の表示内容を定義するHTML(HyperText Markup Language)ファイルにおいて、記述内容、例えば、レイアウトやHTML要素等のコードが変更される場合である。
例えば、既存のRPAツールでは、シナリオを再生する際にエラーが発生すると、シナリオの再生処理が停止する。この場合、ユーザは、以下の(i)〜(iii)に例示する手順によって、不具合の修正及び確認を行なう。
(i)ユーザは、シナリオの操作を1つずつ確認し、不具合箇所、例えば変更されたオブジェクトを特定する。
(ii)ユーザは、既存のRPAツールが有する編集機能を利用して、手入力により、登録されたシナリオの不具合箇所を修正する。
(iii)ユーザは、既存のRPAツールが有する再生機能を利用して、シナリオの先頭の操作から最後の操作までを再生する再生処理を実行することで、修正箇所を正しく再生できるか否かを確認する。
また、シナリオを修正するユーザは、オブジェクト要素、HTML要素(例えばXPath構文)等のIT(Information Technology)知識に基づき、作業を行なうことになる。
このように、既存のRPAツールにおいては、エラーを引き起こす不具合箇所の特定、修正、及び確認が煩雑となる。また、IT知識に乏しいユーザにとって、不具合箇所の修正及び確認を容易に行なうことが困難である。
そこで、一実施形態に係る操作記録再生システム1は、以下で説明するように、再生検査機能を設けることにより、操作内容を再生する際に発生したエラーを引き起こす(エラーの原因となる)不具合箇所の特定、修正、及び確認を容易に行なうことを可能とする。
図3及び図4は、操作記録再生システム1による操作記録変更処理の動作例を示す図である。図3及び図4には、記録装置2に接続されたモニタ等の表示装置100の表示画面101に表示されたファイルマネージャ120において、フォルダ選択を操作するシナリオを実行した際にエラーが発生した場合を例示する。
図3に例示するように、一実施形態に係る記録装置2は、マウスやキーボード等のユーザインタフェース(UI;User Interface)を介したユーザからの指示に応じて、オブジェクトの一覧を表示する操作画面110を起動する。操作画面110は、例えば、表示画面101に表示されてよい。
表示画面101は、例えば、詳細設定領域111と、再生検査ボタン112とを含んでよい。詳細設定領域111は、1以上のオブジェクト、一例として、指定されたシナリオで実行される1以上の操作のオブジェクトを一覧表示してよい。例えば、記録装置2は、操作記録DB40を参照して表示対象のオブジェクト情報400e(例えばオブジェクト種類400c及びオブジェクト名称400b)を抽出し、操作順序に従ったソート結果を詳細設定領域111に表示させてよい。
再生検査ボタン112は、詳細設定領域111に表示された複数のオブジェクトを対象とした再生検査を開始するためのボタンである。記録装置2は、ユーザにより再生検査ボタン112が押下されると、詳細設定領域111における表示順に(操作順に)、オブジェクトに対する操作が正常に実行できるか否かを検証してよい。「検証」では、記録装置2は、例えば、ファイルマネージャやウェブブラウザを検索し、詳細設定領域111に表示されたオブジェクト情報400eと一致するオブジェクトが存在するか否かを判定してもよい。或いは、操作内容を実際に再現し、操作が正常に完了したか否かを判定してもよい。一実施形態では、「検索」により検証を行なうものとして説明する。
なお、記録装置2は、詳細設定領域111において、操作が正常に実行できたことを視覚化してよい。一例として、記録装置2は、図3に示すように、項番“0”〜“4”の操作を検証し(符号Aの矢印参照)、いずれも正常に実行できたことを、これらの項番の一覧に網掛けを設定(例えば背景色を設定)することによって示してよい。
また、記録装置2は、検証により、詳細設定領域111におけるオブジェクトに対する操作を正常に実行できないと判定した場合、以下の(1)〜(4)に例示する処理を実行してよい。
(1)エラーの原因となる操作を特定する。
項番“1”〜“4”の操作の再生では、例えば、表示画面101におけるデスクトップアイコン130のクリック等によって、ファイルマネージャ120に表示されているフォルダ階層(表示階層)までの特定(検索)が正常に行なわれているものとする。
例えば、図3において、操作画面110の詳細設定領域111に表示された項番“5”の操作に着目する。項番“5”の操作では、表示画面101に表示されるファイルマネージャ120のフォルダを選択した際に、ファイルマネージャ120の表示階層に[項目ビュー]−[DUIListView]のフォルダのみが存在することが正しい動作であるとする。
記録装置2は、例えば、項番“5”の操作の再生(検証)において、項番“1”〜“4”の操作により特定される[項目ビュー]内を[DUIListView]のオブジェクト名称400b(第1のオブジェクト)で検索する(符号Bの矢印参照)。
しかし、図3の例では、フォルダ名の変更及びフォルダの追加により、[項目ビュー]には、3つのフォルダ[UIItemsView1]、[UIItemsView2]、[UIItemsView3](第2のオブジェクト)が存在するものの、[DUIListView]が存在しない。従って、記録装置2は、正しい(一致する)フォルダを選択(特定)できず、エラーを検出する。この場合、記録装置2は、エラーが検出されたときの操作(図3の例では項番“5”の操作)及びその操作の対象であるオブジェクトを、エラーの原因となる操作及びオブジェクトとして特定してよい。
なお、記録装置2は、エラーを検出したオブジェクトの親オブジェクトの表示態様を変更してよい。例えば、記録装置2は、エラーを検出した操作の前の操作(図3の例では直前の項番“4”の操作)の対象のオブジェクトを親オブジェクトとして特定してよい。或いは、操作記録情報400に親オブジェクトを特定するための情報が含まれる場合、記録装置2は、操作記録情報400を参照することで親オブジェクトを特定してもよい。
記録装置2は、例えば、項番“4”の操作により特定されるファイルマネージャ120のウィンドウ枠を、線色、線幅、線種等の変更等によって強調表示(符号Cの破線枠参照)してよい。表示態様の変更は、例えば、オブジェクトに対して強調表示用のレイヤで覆う(オーバレイ表示する)ことにより行なわれてもよい。これ以降の説明における「表示態様の変更」でも同様である。これにより、エラーを検出する直前に特定できた親オブジェクトをユーザに提示することができ、ユーザに対して、エラーが発生することを視覚的に認識させることができる。また、親オブジェクト配下に存在する可能性の高い候補オブジェクトをユーザに提示できるため、エラーの早期解消が期待できる。
(2)上記(1)で特定した操作の操作対象として登録可能なオブジェクトの1以上の候補を表示する。
例えば、記録装置2は、親オブジェクトの配下に存在する1以上のオブジェクトを、1以上の候補オブジェクトとして特定し、候補一覧領域113に表示する。例えば、記録装置2は、項番“4”の操作において特定されるファイルマネージャ120の表示階層に存在するオブジェクトの名称を特定(検索)し、特定したオブジェクトの名称を、候補一覧として候補一覧領域113に表示してよい。
候補一覧領域113には、詳細設定領域111と同様に、特定したオブジェクトに関するオブジェクト情報、例えば、オブジェクト種類及びオブジェクト名称等の情報が表示されてよい。なお、候補一覧領域113は、操作画面110上に設けられた表示領域であってもよいし、表示画面101に表示される、操作画面110とは異なるウィンドウの表示領域であってもよい。
(3)表示した1以上の候補のうち、指定された候補のオブジェクトの、表示画面101における表示態様を変更する。
記録装置2は、図4に例示するように、候補一覧領域113に表示された候補がユーザにより指定(例えばマウス操作でクリック)されたことを検出すると、表示画面101に表示されたオブジェクトから、指定(選択)されたオブジェクト名称を検索する。例えば、記録装置2は、ファイルマネージャ120の表示階層におけるフォルダ名から、候補一覧領域113で選択された[UIItermsView1](符号Dの破線枠参照)を検索する(符号Eの矢印参照)。
そして、記録装置2は、検索により特定したオブジェクトの表示画面101における表示態様を変更する。例えば、記録装置2は、ファイルマネージャ120の表示階層における[UIItermsView1]を強調表示(符号Fの破線枠参照)してよい。強調表示は、例えば、オブジェクトのアイコン、フォルダ名の一方又は双方を囲う枠に対して、線色、線幅、線種等を変更すること等によって行なわれてよい。これにより、ユーザが候補一覧領域113で選択したオブジェクトが、表示画面101におけるいずれのオブジェクトであるのかをユーザに提示することができ、候補オブジェクトの視認性を向上させることができる。
なお、記録装置2は、ユーザが候補一覧領域113で選択したオブジェクトの情報に基づき、詳細設定領域111におけるオブジェクトの表示を更新してよい(符号G参照)。
(4)表示態様の変更後のオブジェクトに対する登録指示に応じて、操作記録情報400に対して、登録指示を受け付けたオブジェクトを、(1)で特定した操作に対応付けて登録する。
記録装置2は、表示態様を変更したオブジェクトに対する登録指示を受け付けると、エラーを検出した操作に対応する操作記録情報400に対して、オブジェクト情報400eを、登録指示に係るオブジェクトの情報に更新してよい。登録指示は、例えば、UIを介してユーザにより、候補一覧領域113に設けられたOKボタン114や、操作画面110に設けられた登録ボタン115が押下されることで発行されてよい。
なお、記録装置2は、上記(3)において候補一覧領域113の候補が選択されたことを、当該候補のオブジェクトに対する登録指示として扱ってもよい。この場合、OKボタン114や登録ボタン115の設置は省略されてもよく、符号Gで示す詳細設定領域111の表示の更新とともに、操作記録情報400に対する(修正後の)オブジェクト情報400eの登録が行なわれてもよい。
なお、図4の符号Hの矢印は、検索したいフォルダが[UIItemsView1]とは異なっており、ユーザが、候補一覧領域113において[UIItemsView3]を指定(選択)した場合を示す。この場合、記録装置2は、[UIItemsView3]を指定された候補オブジェクトとして、上記(3)及び(4)の処理を実行すればよい(符号I〜L参照)。すなわち、上記(3)及び(4)の処理の説明において、[UIItemsView1]、符号D〜Gを、それぞれ、[UIItemsView3]、符号I〜Lに読み替えればよい。
以上のように、一実施形態に係る操作記録再生システム1によれば、上述した(1)〜(4)の処理によって、不具合箇所の特定、修正、及び確認を容易に行なうことができ、1以上の操作(シナリオ)におけるエラーの原因となる操作を効率よく変更できる。また、エラーの発生を回避又は早期解消できるため、操作記録再生システム1のダウンタイムを短縮でき、操作記録再生システム1の稼働率を高めることができる。
さらに、記録装置2は、再生検査において、1以上の候補オブジェクトを表示し、指定された候補のオブジェクトの、表示画面101における表示態様を変更する。これにより、ユーザは、操作記録情報400を記録したときの静的なシナリオ(オブジェクト)に基づき、再生処理を行なわない場合でも、記録装置2上で、リアルタイムに、指定した候補オブジェクトの内容が正しいか否かを視覚的に検証することができる。
また、ユーザは、マウス等のUIの操作により容易に視覚的な操作を行なうことができるとともに、IT知識の乏しいユーザであっても容易に操作が可能になる。さらに、視覚的な操作を反復的に行なう事が可能であるため、再生処理前に、再生検査においてトライ&エラーを行なうことができ、誤った操作記録情報400により再生処理が行なわれる可能性を低減できる。
なお、記録装置2は、詳細設定領域111の一覧における、先頭ではなく途中のオブジェクトから操作記録変更処理を実行してもよい。換言すれば、記録装置2は、詳細設定領域111に表示された複数の操作のうちの1以上の操作を対象として、操作記録変更処理を実行してもよい。
また、上述した操作記録変更処理は、再生装置3において実行されてもよい。例えば、再生装置3は、再生検査ボタン112の押下により、詳細設定領域111に表示された複数の操作のうちの1以上の操作(全ての操作を含む)を対象として、再生検査機能を利用した操作記録変更処理を実行してもよい。
このように、一実施形態に係る操作記録変更処理は、記録装置2及び再生装置3の一方又は双方により実行されてよい。以下、操作記録変更処理を実行する記録装置2又は再生装置3を、情報処理装置の一例である「記録再生装置4」(図6参照)として説明する。
〔1−2〕一実施形態の構成例
記録再生装置4は、仮想サーバ(VM;Virtual Machine)であってもよいし、物理サーバであってもよい。また、記録再生装置4の機能は、1台のコンピュータにより実現されてもよいし、2台以上のコンピュータにより実現されてもよい。さらに、記録再生装置4の機能のうちの少なくとも一部は、クラウド環境において提供されるHW(Hardware)リソース及びNW(Network)リソースを用いて実現されてもよい。
また、記録再生装置4は、他の装置、例えば、他の記録装置2及び他の再生装置3の一方又は双方と、ネットワークを介して相互に通信可能に接続されてよい。ネットワークは、WAN(Wide Area Network)、LAN(Local Area Network)、又はこれらの組み合わせを含んでよい。WANにはインターネットが含まれてよい。
(ハードウェア構成例)
図5は、記録再生装置4の機能を実現するコンピュータ10のHW構成例を示すブロック図である。記録再生装置4の機能を実現するHWリソースとして、複数のコンピュータが用いられる場合は、各コンピュータが図5に例示するHW構成を備えてよい。
図5に示すように、コンピュータ10は、HW構成として、例示的に、プロセッサ10a、メモリ10b、記憶部10c、IF(Interface)部10d、I/O(Input / Output)部10e、及び読取部10fを備えてよい。
プロセッサ10aは、種々の制御や演算を行なう演算処理装置の一例である。プロセッサ10aは、コンピュータ10内の各ブロックとバス10iで相互に通信可能に接続されてよい。なお、プロセッサ10aは、複数のプロセッサを含むマルチプロセッサであってもよいし、複数のプロセッサコアを有するマルチコアプロセッサであってもよく、或いは、マルチコアプロセッサを複数有する構成であってもよい。
プロセッサ10aとしては、例えば、CPU、MPU、GPU、APU、DSP、ASIC、FPGA等の集積回路(IC;Integrated Circuit)が挙げられる。なお、プロセッサ10aとして、これらの集積回路の2以上の組み合わせが用いられてもよい。CPUはCentral Processing Unitの略称であり、MPUはMicro Processing Unitの略称である。GPUはGraphics Processing Unitの略称であり、APUはAccelerated Processing Unitの略称である。DSPはDigital Signal Processorの略称であり、ASICはApplication Specific ICの略称であり、FPGAはField-Programmable Gate Arrayの略称である。
メモリ10bは、種々のデータやプログラム等の情報を格納するHWの一例である。メモリ10bとしては、例えばDRAM(Dynamic RAM)等の揮発性メモリが挙げられる。
記憶部10cは、種々のデータやプログラム等の情報を格納するHWの一例である。記憶部10cとしては、HDD(Hard Disk Drive)等の磁気ディスク装置、SSD(Solid State Drive)等の半導体ドライブ装置、不揮発性メモリ等の各種記憶装置が挙げられる。不揮発性メモリとしては、例えば、フラッシュメモリ、SCM(Storage Class Memory)、ROM(Read Only Memory)等が挙げられる。
また、記憶部10cは、コンピュータ10の各種機能の全部若しくは一部を実現するプログラム10g(情報処理プログラム)を格納してよい。例えば、記録再生装置4のプロセッサ10aは、記憶部10cに格納されたプログラム10gをメモリ10bに展開して実行することにより、記録再生装置4としての機能を実現できる。
IF部10dは、ネットワークとの間の接続及び通信の制御等を行なう通信IFの一例である。例えば、IF部10dは、LAN、或いは、光通信(例えばFC(Fibre Channel))等に準拠したアダプタを含んでよい。当該アダプタは、無線及び有線の一方又は双方の通信方式に対応してよい。例えば、プログラム10gは、当該通信IFを介して、ネットワークからコンピュータ10にダウンロードされ、記憶部10cに格納されてもよい。
I/O部10eは、入力装置、及び、出力装置、の一方又は双方を含んでよい。入力装置としては、例えば、キーボード、マウス、タッチパネル等が挙げられる。出力装置としては、例えば、モニタ、プロジェクタ、プリンタ等が挙げられる。ユーザが操作する上述したマウスやキーボード等のUIは、入力装置の一例である。また、図3及び図4に示す表示装置100は、出力装置の一例である。
読取部10fは、記録媒体10hに記録されたデータやプログラムの情報を読み出すリーダの一例である。読取部10fは、記録媒体10hを接続可能又は挿入可能な接続端子又は装置を含んでよい。読取部10fとしては、例えば、USB(Universal Serial Bus)等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、SDカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体10hにはプログラム10gが格納されてもよく、読取部10fが記録媒体10hからプログラム10gを読み出して記憶部10cに格納してもよい。
記録媒体10hとしては、例示的に、磁気/光ディスクやフラッシュメモリ等の非一時的なコンピュータ読取可能な記録媒体が挙げられる。磁気/光ディスクとしては、例示的に、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク、HVD(Holographic Versatile Disc)等が挙げられる。フラッシュメモリとしては、例示的に、USBメモリやSDカード等の半導体メモリが挙げられる。
上述したコンピュータ10のHW構成は例示である。従って、コンピュータ10内でのHWの増減(例えば任意のブロックの追加や削除)、分割、任意の組み合わせでの統合、又は、バスの追加若しくは削除等は適宜行なわれてもよい。例えば、記録再生装置4において、I/O部10e及び読取部10fの少なくとも一方は、省略されてもよい。
なお、上述のように、「記録再生装置4」は、操作記録変更処理を実行する記録装置2又は再生装置3を示すため、記録装置2及び再生装置3は、それぞれ、コンピュータ10と同様のHW構成を備えてよい。
(機能構成例)
次に、図6を参照して、一実施形態に係る記録再生装置4の機能構成例を説明する。図6に例示するように、操作記録変更処理に関する機能に着目した記録再生装置4は、操作記録DB40、記録処理部41、再生処理部42、及び、再生検査部43を備えてよい。
なお、記録再生装置4は、記録装置2として動作する場合であって、再生処理を行なわない場合には、再生処理部42の機能を省略してもよい。また、記録再生装置4は、再生装置3として動作する場合であって、操作を記録する記録処理を行なわない場合には、記録処理部41の機能を省略してもよい。
操作記録DB40は、図2に例示する操作記録情報400を格納してよい。操作記録DB40には、例えば、記録処理部41により記録された操作記録情報400が格納されてもよく、これに加えて、又は代えて、他の記録装置2により記録され、記録処理部41により取得(例えば受信)された操作記録情報400が格納されてよい。操作記録DB40は、例えば、コンピュータ10のメモリ10b、記憶部10c、及び記録媒体10hの少なくとも1つが有する記憶領域に格納されてよい。
記録処理部41は、記録再生装置4において行なわれた操作の内容を、操作記録情報400として操作記録DB40に記録する記録処理を行なう。
再生処理部42は、操作記録DB40から操作記録情報400を読み込み、記録された操作を再現する再生処理を行なう。読み込み対象の操作記録情報400は、指定されたシナリオに対応する操作記録情報400であってもよい。
再生処理部42は、エラー通知部420を備えてよい。エラー通知部420は、シナリオを再生する際にエラーの発生を検出すると、表示画面101においてエラーの発生を通知(例えば表示)する。なお、エラー通知部420は、例えば、ユーザに対して、再生検査の実施を促すメッセージを通知してもよいし、後述する検査部431と同様にエラーの原因となるオブジェクトを特定し、特定したオブジェクト(又は操作)を通知してもよい。
再生検査部43は、再生検査を行なう。再生検査部43は、再生検査においてエラーの発生を検出すると、操作記録変更処理を行なう。再生検査部43は、図6に例示するように、検査部431、表示制御部432、及び、記録変更部433を備えてよい。
検査部431は、再生検査ボタン112(図3参照)の押下に応じて、再生検査を行なう。再生検査の対象となる操作(オブジェクト)は、詳細設定領域111におけるオブジェクトの選択に応じて、選択された1以上のオブジェクト、或いは、シナリオ全体(全オブジェクト)、等のように決定されてよい。
検査部431は、操作記録情報400において1以上の操作に対応付けて登録された1以上の第1オブジェクトと、1以上の操作の実行において表示画面101に表示される1以上の第2オブジェクトと、に基づき、エラーの原因となる操作を特定してよい。
例えば、検査部431は、1以上の第1オブジェクトに基づく1以上の検索条件により、表示画面101における1以上の第2オブジェクトを検索してよい。そして、検査部431は、第2オブジェクトが検索条件に一致しない第1オブジェクトに対応する操作をエラーの原因となる操作として特定してよい。
検出条件としては、例えば、以下のいずれか1種類、又は、2種類以上の組み合わせを含んでよい。例えば、検査部431は、第2オブジェクトが存在し得る検索範囲(例えばフォルダやHTMLファイル等の親オブジェクト)に、検索条件に一致するオブジェクトが存在しない場合に、当該検索条件の第1オブジェクトに対応する操作を特定する。
・第1オブジェクトの名称。
・第1オブジェクトの種類。
・第1オブジェクトの属性。
・第1オブジェクトのクラス名。
・第1オブジェクトの画像。
・第1オブジェクトの座標。
・第1オブジェクトのタグ(HTML)。
・その他、操作記録情報400から抽出できる第1オブジェクトの情報。
なお、上述した検索条件に基づく操作の特定は、エラーの検出も行なわれる。換言すれば、検査部431は、検索条件を満たさない場合にエラーを検出し、そのときのオブジェクトに対応する操作を、エラーの原因となる操作として特定する。一方、検査部431は、エラーが検出されないと判定した場合、実行順序に従い詳細設定領域111から次の操作を選択する。
このように、操作が実行(再生)される場合に表示画面101に表示される範囲を検索することで、エラーの原因となる操作を確実に特定することができる。また、上述した検索条件を用いることで、エラーの原因となる操作を、柔軟且つ確実に特定できる。
以上のように、検査部431は、1以上の操作を実行するための情報を記録した操作記録情報400に基づき1以上の操作を実行する場合に検出されるエラーの、原因となる操作を特定する特定部の一例である。
表示制御部432は、記録再生装置4が備える(記録再生装置4に接続される)表示装置100の表示画面101における表示制御を行なう。
例えば、表示制御部432は、検査部431から通知されたオブジェクトの情報に基づき、エラーの原因となるオブジェクトの表示態様を変更する制御を行なう。当該制御には、例えば、以下の少なくとも1つの表示制御が含まれてよい。
・エラーの原因となるオブジェクトの親オブジェクトの強調表示(図3の符号C参照)。
・候補一覧領域113の表示(図3及び図4参照)。
・ユーザ操作により選択された候補オブジェクトの候補一覧領域113での強調表示(図4の符号D及びI参照)。
・ユーザ操作により選択された候補オブジェクトの強調表示(図4の符号F及びK参照)。
・ユーザ操作により選択された候補オブジェクトによる詳細設定領域111の表示変更(図4の符号G及びL参照)。
以上のように、表示制御部432は、検査部431が特定した操作の操作対象として登録可能なオブジェクトの1以上の候補を表示する制御部の一例である。また、表示制御部432は、表示した1以上の候補のうち、指定された候補のオブジェクトの、表示画面101における表示態様を変更する変更部の一例である。
記録変更部433は、登録指示に基づき、操作記録情報400の操作記録を更新する。例えば、記録変更部433は、操作記録情報400に対して、エラーの原因となるオブジェクトの情報を、ユーザ操作により選択されたオブジェクトの情報により更新する。
登録指示は、上述のように、ユーザ操作によるOKボタン114又は登録ボタン115の押下により発行されてもよいし、候補一覧領域113における候補オブジェクトの選択(図4の符号D及びI参照)により発行されてもよい。
このように、記録変更部433は、表示態様の変更後のオブジェクトに対する登録指示に応じて、操作記録情報400に対して、登録指示を受け付けたオブジェクトを、検査部431が特定した操作に対応付けて登録する登録部の一例である。
〔1−3〕一実施形態の動作例
次に、上述した一実施形態に係る操作記録再生システム1の動作例を説明する。図7は、再生検査部43による操作記録変更処理の動作例を示すフローチャートである。
図7に例示するように、記録再生装置4は、アプリケーション、例えばRPAツールの操作画面110が表示画面101に表示された状態において、再生検査ボタン112が押下されるまで待機する(ステップS1、ステップS1でNo)。
再生検査ボタン112が押下されると(ステップS1でYes)、再生検査部43の検査部431は、指定された操作のうち、検査未実行、且つ、実行順が先の操作を選択する(ステップS2)。「指定された操作」とは、例えば、詳細設定領域111(図3参照)において指定された1以上の操作であってよく、或いは、詳細設定領域111においてシナリオが指定された場合には指定されたシナリオで実行される全ての操作であってよい。
検査部431は、選択した操作の操作記録情報400に基づき、表示画面101を検索する(ステップS3)。例えば、検査部431は、選択した操作のオブジェクト情報400eと、表示画面101に表示されるオブジェクトとを比較し、一致するオブジェクトの有無を判定する。
エラーを検出するか否かを判定する(ステップS4)。例えば、検査部431は、上述したように、オブジェクト名称、属性やクラス名、タグ(HTML)、画像、座標等の不一致を検出した場合(エラーの検出条件を満たす場合)に、エラーを検出したと判定してよい。
エラーを検出しない場合(ステップS4でNo)、検査部431は、当該操作を検査済みと判断し、処理がステップS13に移行する。
エラーを検出した場合(ステップS4でYes)、検査部431は、エラーの原因となるオブジェクトを特定し(ステップS5)、特定したオブジェクトの情報を表示制御部432に通知する。例えば、検査部431は、エラーが検出されたときの操作の対象であるオブジェクトを、エラーの原因となるオブジェクトとして特定してよい。
表示制御部432は、図3に符号Cで例示するように、特定したオブジェクトの親オブジェクトを強調表示する(ステップS6)。
また、表示制御部432は、親オブジェクト配下の候補オブジェクトを一覧表示する(ステップS7)。例えば、表示制御部432は、図4の候補一覧領域113に候補オブジェクトを表示してよい。
表示制御部432は、一覧表示した候補オブジェクトが選択されるまで待機する(ステップS8、ステップS8でNo)。候補オブジェクトが選択されると(ステップS8でYes)、表示制御部432は、表示画面101、候補一覧領域113、及び詳細設定領域111における、選択されたオブジェクトの表示態様を変更する(ステップS9)。例えば、表示制御部432は、表示画面101及び候補一覧領域113において選択オブジェクトを強調表示してよい(図4の符号D及びF参照)。また、表示制御部432は、詳細設定領域111において、オブジェクト名称400bの表示を、選択されたオブジェクトの名称に変更してよい(図4の符号G参照)。
次いで、表示制御部432は、登録指示を受け付けたか否かを判定する(ステップS10)。登録指示を受け付けていない場合(ステップS10でNo)、表示制御部432は、候補一覧領域113において候補オブジェクトが再選択されたか否かを判定する(ステップS11)。候補オブジェクトが再選択されていない場合(ステップS11でNo)、処理がステップS10に移行する。一方、候補オブジェクトが再選択された場合(ステップS11でYes)、処理がステップS9に移行する。この場合、表示制御部432は、表示画面101、候補一覧領域113、及び詳細設定領域111における、再選択されたオブジェクトの表示態様を変更する(図4の符号I〜L参照)。
一方、ステップS10において、登録指示を受け付けた場合(ステップS10でYes)、記録変更部433は、操作記録情報400を選択(又は再選択)されたオブジェクトで更新する(ステップS12)。例えば、記録変更部433は、操作記録情報400における、エラーを検出した操作のオブジェクト情報400eを、選択(又は再選択)されたオブジェクトの情報に変更してよい。
検査部431は、指定された全操作を検査したか否かを判定し(ステップS13)、全操作を検査していない場合(ステップS13でNo)、処理がステップS2に移行する。一方、指定された全操作を検査した場合(ステップS13でYes)、処理が終了する。
〔1−4〕一実施形態の適用例
次に、上述した一実施形態に係る操作記録再生システム1の適用例を説明する。以下では、下記(I)〜(III)の手順によって処理が行なわれるものとし、図8〜図15を参照して、これらの手順における画面遷移の一例を説明する。
(I)記録再生装置4が、ウェブ画面でサインインボタンを押下する操作を記録する。
(II)ウェブ画面の改修によりサインインボタンが追加される。この場合、記録再生装置4による再生処理及び再生検査ではエラーの発生が検出される。
(III)記録再生装置4が、再生検査機能により、サインインボタンを候補一覧に表示し、選択された(ユーザが押下したい)サインインボタンを操作記録情報400に記録する。
まず、図8及び図9を参照して、(I)の手順について説明する。図8に例示するように、記録再生装置4は、UIを介したユーザの操作に応じて、操作の記録を行なうための操作記録画面210を起動する。操作記録画面210は、例えば、表示画面101に表示されてよい。
記録処理部41は、記録の開始、一時停止、再開、終了等を切り替えるボタン211の押下によって「開始」又は「再開」が選択されると、「終了」又は「一時停止」が押下されるまでの間、表示画面101での操作に関する情報を操作記録情報400に記録する。
例えば、記録処理部41は、表示画面101に表示されるブラウザ220において、ユーザの操作に応じてウェブ画面221のサインインボタン222が押下されると、当該押下をオブジェクトに対する操作として操作記録情報400に記録する。図8の例では、操作記録として、ブラウザ220のウィンドウにおけるウェブ画面221において、(X,Y)=(80,13)の座標を左シングルクリックする操作が記録される。
なお、サインインボタン222の押下等の操作は、上述のように、記録再生装置4により実行されるOSによって検出されてもよいし、或いは、操作の記録を行なうアプリケーション等により検出されてもよい。
図9に例示するように、記録処理部41は、シナリオを管理する管理画面230を起動し、表示画面101に表示してよい。管理画面230には、シナリオに含まれる操作の一覧領域231、一覧領域231で選択された操作232に関する操作記録情報400を表示する表示領域233、操作内容234、プレビューウィンドウ235、及び、後述する変更ボタン238が含まれてよい。表示領域233及び操作の内容を示す操作内容234の情報は、操作記録情報400から取得されてよい。
プレビューウィンドウ235には、選択された操作232の対象のオブジェクトを示すプレビューが表示される。例えば、操作232が図8に示すウェブ画面221のサインインボタン222の押下である場合、図9に示すように、プレビューウィンドウ235には、ブラウザ220のプレビュー236が表示される。プレビュー236では、オブジェクトであるサインインボタン222を容易に把握(特定)できるように、例えば、オブジェクトとは異なる色の枠237が付加されて強調表示される。
次に、図10を参照して、(II)について説明する。図10に例示するように、ウェブ画面221の改修により、サインインボタン222(図8参照)に代えて、サインインボタン223及び224が設けられた場合を想定する。この場合、操作記録情報400を記録したときとオブジェクト情報が異なる(例えばオブジェクトの名称等が一致しない)ため、仮に、再生処理部42による再生処理を行なったとしても、サインインボタン223及び224のいずれを押下するかを特定できない。
次に、図11〜図15を参照して、(III)の手順について説明する。例えば、ユーザは、再生処理でのエラーや、システム管理者からの通知等によって、サインインボタン222の変更を認識すると、UIを介して図9の変更ボタン238を押下する。変更ボタン238は、再生検査部43による再生検査機能を呼び出すボタンである。なお、変更ボタン238は、図9の管理画面230以外の画面に設けられてもよい。
再生検査部43は、変更ボタン238の押下を検知すると、図11に例示する変更画面240を表示画面101に表示する。変更画面240は、図3の操作画面110に対応する画面であり、詳細設定領域241、検索条件領域242、検索結果設定領域243、及び、再生検査ボタン244を含んでよい。
詳細設定領域241は、図3の詳細設定領域111に対応する領域であり、変更ボタン238が押下されたときに選択(表示)されていたシナリオのオブジェクト名称400b及びオブジェクト種類400c等を表示する。検索条件領域242は、検索条件として、オブジェクト情報400eの各パラメータを個別に指定する領域である。なお、図11の例において、プロパティの条件にはフレームワークIDが設定されている。
検索結果設定領域243には、検索結果としてヒットしたオブジェクトのうちの、オブジェクト情報400eと一致するオブジェクト(以下、「一致オブジェクト」と表記する)として扱うためのインデックスが設定されてよい。例えば、インデックス=“0”の場合、検索結果としてヒットした1番目のオブジェクトを一致オブジェクトとする事を示す。また、インデックス=“2”の場合、検索結果としてヒットした3番目のオブジェクトを一致オブジェクトとする事を示し、この場合、検索結果として、インデックスに満たない数(例えば2つ)のオブジェクトがヒットした場合には、エラーの発生が検出される。インデックスは、オブジェクト名称を検索結果に使用する場合としない場合とで、それぞれ設定可能である。
なお、検索条件領域242及び検索結果設定領域243には、詳細設定領域241において選択されている操作(オブジェクト)に関する情報が表示されてよい。
再生検査ボタン244は、再生検査を行なうためのボタンであり、図3に示す再生検査ボタン112に対応する。
例えば、UIを介してユーザが再生検査ボタン244を押下した場合、再生検査部43の検査部431は、詳細設定領域241に表示された操作の表示順に検査を行なう。例えば、項番“6”の[サインイン]が図8に示すサインインボタン222の押下に対応する場合、図10に例示するように、検査部431は、オブジェクト名称が不一致であるため、サインインボタン222を特定できない。
そこで、検査部431は、サインインボタン222の親オブジェクト(例えばブラウザ220)から、サインインボタン222に代わる候補オブジェクトであるサインインボタン223及び224のHTMLタグを特定する。そして、表示制御部432は、図12に例示するように、候補オブジェクト251を一覧表示した候補一覧画面250を表示画面101に表示する。
候補一覧画面250は、OKボタン252及びキャンセルボタン253を含むウィンドウであり、図3に示す候補一覧領域113の一例である。
また、表示制御部432は、図13に符号225で例示するように、親オブジェクト(例えばブラウザ220)を強調表示する。
図14に例示するように、UIを介してユーザが候補一覧画面250から1番目の候補を選択した場合(符号254参照)、表示制御部432は、図15に例示するように、表示画面101において、選択された候補オブジェクトを強調表示する。図15の例では、表示制御部432は、サインインボタン223を強調表示する(符号226参照)。
また、図14の例において、候補一覧画面250で1番目の候補が選択された状態において、OKボタン252が押下されると、記録変更部433に登録指示が発行される。この場合、記録変更部433は、操作記録情報400に対して、詳細設定領域241における項番“6”のオブジェクト情報400eを、選択されたオブジェクトに変更する(符号242参照)。また、表示制御部432は、詳細設定領域241において、再生検査の進捗を表す網掛けの表示を、項番“0”〜“5”から項番“0”〜“6”に変更することで、項番“6”までの再生検査が終了したことを示してよい。
以上により、サインインボタン222の変更に伴うシナリオの操作記録変更処理が完了する。
〔2〕その他
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。
例えば、図6に示す各機能ブロックは、それぞれ任意の組み合わせで併合してもよく、分割してもよい。
一実施形態では、記録再生装置4が、再生検査ボタン112又は244の押下により、再生検査機能を利用した操作記録変更処理を実行するものとして説明したが、これに限定されるものではない。例えば、記録再生装置4は、記録した操作の再生処理においてエラーの発生が検出された場合に、上述した操作記録変更処理を実行してもよい。
一例として、エラー通知部420は、エラーの発生を検出すると、エラー発生を検査部431に通知してもよい。以下、図16を参照して、再生処理でエラー発生が検出された場合の操作記録変更処理の動作例を説明する。
図16に例示するように、再生処理部42による再生処理において、エラー発生が検知された場合(ステップS21)、エラー通知部420は、再生検査部43の検査部431に対して、エラー発生を通知する。
エラー発生を通知された検査部431は、図7のステップS5と同様に、エラーの原因となるオブジェクトを特定する。以降のステップS6〜S12の処理は、図7のステップS6〜S12の処理と同様である。
ステップS12において、記録変更部433が操作記録情報400を更新すると、再生検査部43の処理が終了し、処理が再生処理部42による再生処理に戻る(ステップS22)。
以上の処理によっても、一実施形態と同様の効果を奏することができる。また、再生処理においてエラーの発生が検出されたことを、操作記録変更処理の開始トリガとすることで、記録再生装置4の処理を簡素化でき、処理負荷を低減できる。さらに、エラーが発生してから操作記録情報400を修正するまでの手順、及び、操作記録情報400を修正してから修正後の操作記録情報400を再生するまでの手順、におけるユーザの操作回数を減少させることができ、ユーザによる操作を効率化できる。
また、一実施形態では、ユーザが、UIを介して記録再生装置4を操作し、記録再生装置4の環境において再生検査を行なうものとしたが、これに限定されるものではない。例えば、記録再生装置4がクラウドサーバである場合や遠隔地(例えばデータセンタ)に設置される場合等において、ユーザは、ユーザ端末を操作して、ネットワーク経由で記録再生装置4にアクセスし、再生検査を行なってもよい。また、記録再生装置4による再生検査の対象は、記録再生装置4とは異なる情報処理装置が備える表示画面101の操作であってもよい。この場合、記録再生装置4は、ネットワーク経由で上記異なる情報処理装置にアクセスし、再生検査によって当該情報処理装置の検証を行なってよい。
〔3〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
一以上の操作を実行するための情報を記録した操作情報に基づき前記一以上の操作を実行する場合に検出されるエラーの、原因となる操作を特定し、
特定した前記操作の操作対象として登録可能なオブジェクトの一以上の候補を表示し、
表示した前記一以上の候補のうち、指定された候補のオブジェクトの、表示画面における表示態様を変更し、
前記表示態様の変更後のオブジェクトに対する登録指示に応じて、前記操作情報に対して、前記登録指示を受け付けたオブジェクトを、前記特定した操作に対応付けて登録する、
処理をコンピュータに実行させる、情報処理プログラム。
(付記2)
前記特定は、前記操作情報において前記一以上の操作に対応付けて登録された一以上の第1オブジェクトと、前記一以上の操作の実行において前記表示画面に表示される一以上の第2オブジェクトと、に基づいて、前記エラーの原因となる操作を特定する、
付記1に記載の情報処理プログラム。
(付記3)
前記特定は、前記一以上の第1オブジェクトに基づく一以上の検索条件により、前記表示画面における前記一以上の第2オブジェクトを検索し、第2オブジェクトが検索条件に一致しない第1オブジェクトに対応する操作を、前記エラーの原因となる操作として特定する、
付記2に記載の情報処理プログラム。
(付記4)
前記検索条件は、第1オブジェクトの名称、第1オブジェクトの種類、第1オブジェクトの属性、第1オブジェクトのクラス名、第1オブジェクトの画像、第1オブジェクトの座標、第1オブジェクトのタグ、のいずれか1種類、又は、2種類以上の組み合わせを含む、
付記3に記載の情報処理プログラム。
(付記5)
前記表示した一以上の候補のうちのいずれかが指定される前において、前記特定した操作に対応付けて前記操作情報に登録されたオブジェクトよりも上位の階層のオブジェクトの、前記表示画面における表示態様を変更する、
処理を前記コンピュータに実行させる、付記1〜4のいずれか1項に記載の情報処理プログラム。
(付記6)
前記表示は、前記特定した操作に対応付けて前記操作情報に登録されたオブジェクトよりも上位の階層のオブジェクトの配下に属する一以上のオブジェクトを、前記候補として表示する、
付記1〜5のいずれか1項に記載の情報処理プログラム。
(付記7)
前記操作情報が記録する前記情報は、複数の前記操作を所定の順序で実行するための情報であり、
前記コンピュータに、
前記複数の操作から前記所定の順序で選択した操作について、前記特定を行ない、
前記特定において、前記選択した操作を実行する場合にエラーが検出されないと判定した場合、前記複数の操作から前記所定の順序で次の操作を選択する、
付記1〜6のいずれか1項に記載の情報処理プログラム。
(付記8)
前記操作情報が記録する前記情報は、複数の前記操作を所定の順序で実行するための情報であり、
前記コンピュータに、
前記複数の操作のうちの、指定された1以上の操作から前記所定の順序で選択した操作について、前記特定を行ない、
前記特定において、前記選択した操作を実行する場合にエラーが検出されないと判定した場合、前記指定された1以上の操作から前記所定の順序で次の操作を選択する、
付記1〜6のいずれか1項に記載の情報処理プログラム。
(付記9)
一以上の操作を実行するための情報を記録した操作情報に基づき前記一以上の操作を実行する場合に検出されるエラーの、原因となる操作を特定し、
特定した前記操作の操作対象として登録可能なオブジェクトの一以上の候補を表示し、
表示した前記一以上の候補のうち、指定された候補のオブジェクトの、表示画面における表示態様を変更し、
前記表示態様の変更後のオブジェクトに対する登録指示に応じて、前記操作情報に対して、前記登録指示を受け付けたオブジェクトを、前記特定した操作に対応付けて登録する、
処理をコンピュータが実行する、情報処理方法。
(付記10)
前記特定は、前記操作情報において前記一以上の操作に対応付けて登録された一以上の第1オブジェクトと、前記一以上の操作の実行において前記表示画面に表示される一以上の第2オブジェクトと、に基づいて、前記エラーの原因となる操作を特定する、
付記9に記載の情報処理方法。
(付記11)
前記表示した一以上の候補のうちのいずれかが指定される前において、前記特定した操作に対応付けて前記操作情報に登録されたオブジェクトよりも上位の階層のオブジェクトの、前記表示画面における表示態様を変更する、
処理を前記コンピュータが実行する、付記9又は付記10に記載の情報処理方法。
(付記12)
前記表示は、前記特定した操作に対応付けて前記操作情報に登録されたオブジェクトよりも上位の階層のオブジェクトの配下に属する一以上のオブジェクトを、前記候補として表示する、
付記9〜11のいずれか1項に記載の情報処理方法。
(付記13)
一以上の操作を実行するための情報を記録した操作情報に基づき前記一以上の操作を実行する場合に検出されるエラーの、原因となる操作を特定する特定部と、
特定した前記操作の操作対象として登録可能なオブジェクトの一以上の候補を表示する制御部と、
表示した前記一以上の候補のうち、指定された候補のオブジェクトの、表示画面における表示態様を変更する変更部と、
前記表示態様の変更後のオブジェクトに対する登録指示に応じて、前記操作情報に対して、前記登録指示を受け付けたオブジェクトを、前記特定した操作に対応付けて登録する登録部と、
を備える、情報処理装置。
(付記14)
前記特定部は、前記操作情報において前記一以上の操作に対応付けて登録された一以上の第1オブジェクトと、前記一以上の操作の実行において前記表示画面に表示される一以上の第2オブジェクトと、に基づいて、前記エラーの原因となる操作を特定する、
付記13に記載の情報処理装置。
(付記15)
前記特定部は、前記一以上の第1オブジェクトに基づく一以上の検索条件により、前記表示画面における前記一以上の第2オブジェクトを検索し、第2オブジェクトが検索条件に一致しない第1オブジェクトに対応する操作を、前記エラーの原因となる操作として特定する、
付記14に記載の情報処理装置。
(付記16)
前記検索条件は、第1オブジェクトの名称、第1オブジェクトの種類、第1オブジェクトの属性、第1オブジェクトのクラス名、第1オブジェクトの画像、第1オブジェクトの座標、第1オブジェクトのタグ、のいずれか1種類、又は、2種類以上の組み合わせを含む、
付記15に記載の情報処理装置。
(付記17)
前記変更部は、前記表示した一以上の候補のうちのいずれかが指定される前において、前記特定した操作に対応付けて前記操作情報に登録されたオブジェクトよりも上位の階層のオブジェクトの、前記表示画面における表示態様を変更する、
付記13〜16のいずれか1項に記載の情報処理装置。
(付記18)
前記制御部は、前記特定した操作に対応付けて前記操作情報に登録されたオブジェクトよりも上位の階層のオブジェクトの配下に属する一以上のオブジェクトを、前記候補として表示する、
付記13〜17のいずれか1項に記載の情報処理装置。
(付記19)
前記操作情報が記録する前記情報は、複数の前記操作を所定の順序で実行するための情報であり、
前記特定部は、
前記複数の操作から前記所定の順序で選択した操作について、前記特定を行ない、
前記選択した操作を実行する場合にエラーが検出されないと判定した場合、前記複数の操作から前記所定の順序で次の操作を選択する、
付記13〜18のいずれか1項に記載の情報処理装置。
(付記20)
前記操作情報が記録する前記情報は、複数の前記操作を所定の順序で実行するための情報であり、
前記特定部は、
前記複数の操作のうちの、指定された1以上の操作から前記所定の順序で選択した操作について、前記特定を行ない、
前記選択した操作を実行する場合にエラーが検出されないと判定した場合、前記指定された1以上の操作から前記所定の順序で次の操作を選択する、
付記13〜18のいずれか1項に記載の情報処理装置。
1つの側面では、情報処理プログラムは、コンピュータに、以下の処理を実行させてよい。前記処理は、一以上の操作を実行するための情報を記録した操作情報に基づき前記一以上の操作を実行する場合に検出されるエラーの、原因となる操作を特定してよい。また、前記処理は、特定した前記操作の操作対象として登録可能なオブジェクトの一以上の候補を表示してよい。さらに、前記処理は、表示した前記一以上の候補のうち、指定された候補のオブジェクトの、表示画面における表示態様を変更してよい。また、前記処理は、前記表示態様の変更後のオブジェクトに対する登録指示に応じて、前記操作情報に対して、前記登録指示を受け付けたオブジェクトを、前記特定した操作に対応付けて登録してよい。さらに、前記処理は、前記表示した一以上の候補のうちのいずれかが指定される前において、前記特定した操作に対応付けて前記操作情報に登録されたオブジェクトよりも上位の階層のオブジェクトの、前記表示画面における表示態様を変更してよい。
他の側面では、情報処理プログラムは、コンピュータに、以下の処理を実行させてよい。前記処理は、一以上の操作を実行するための情報を記録した操作情報に基づき前記一以上の操作を実行する場合に検出されるエラーの、原因となる操作を特定してよい。また、前記処理は、特定した前記操作の操作対象として登録可能なオブジェクトの一以上の候補を表示してよい。さらに、前記処理は、表示した前記一以上の候補のうち、指定された候補のオブジェクトの、表示画面における表示態様を変更してよい。また、前記処理は、前記表示態様の変更後のオブジェクトに対する登録指示に応じて、前記操作情報に対して、前記登録指示を受け付けたオブジェクトを、前記特定した操作に対応付けて登録してよい。さらに、前記表示は、前記特定した操作に対応付けて前記操作情報に登録されたオブジェクトよりも上位の階層のオブジェクトの配下に属する一以上のオブジェクトを、前記候補として表示してよい。