JP2023026053A - Information processing program, information processing method, and information processing apparatus - Google Patents
Information processing program, information processing method, and information processing apparatus Download PDFInfo
- Publication number
- JP2023026053A JP2023026053A JP2021131652A JP2021131652A JP2023026053A JP 2023026053 A JP2023026053 A JP 2023026053A JP 2021131652 A JP2021131652 A JP 2021131652A JP 2021131652 A JP2021131652 A JP 2021131652A JP 2023026053 A JP2023026053 A JP 2023026053A
- Authority
- JP
- Japan
- Prior art keywords
- information
- gui
- error
- gui element
- screen
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
本発明は、情報処理プログラム、情報処理方法および情報処理装置に関する。 The present invention relates to an information processing program, an information processing method, and an information processing apparatus.
RPA(Robotic Process Automation)は、ソフトウェア型のロボット(RPAロボット)を用いた業務プロセスの自動化技術であり、業務効率化や労働力不足の対応策として注目されている。例えば、従来コンピュータに対して行われていたユーザの操作を、そのコンピュータ上で動作するRPAロボットに覚え込ませることで、ユーザの操作を自動化できる。 RPA (Robotic Process Automation) is a technology for automating business processes using software-type robots (RPA robots), and is attracting attention as a measure to improve business efficiency and address labor shortages. For example, a user's operation that has been conventionally performed on a computer can be automated by having an RPA robot operating on the computer memorize the user's operation.
RPAに関しては、例えば、規定された操作を実行してエラーが発生した場合、操作対象のWebページのリソースを取得し、取得したリソースと以前のリソースとを比較してリソースに対する変更の有無を判定するRPAサーバが提案されている。 Regarding RPA, for example, if an error occurs while executing a specified operation, the resource of the web page to be operated is acquired, and the acquired resource is compared with the previous resource to determine whether or not the resource has been changed. An RPA server has been proposed to
また、GUI(Graphical User Interface)の関連技術として、例えば、テスト用のスクリプトにしたがってGUI画面を操作し、エラーが発生するとGUI画面イメージをキャプチャし、キャプチャされたGUI画面イメージと画面設計仕様で定義されているGUI画面イメージとを比較するアプリケーションテスト支援装置が提案されている。 In addition, as a technique related to GUI (Graphical User Interface), for example, a GUI screen is operated according to a test script, a GUI screen image is captured when an error occurs, and the captured GUI screen image and screen design specifications define An application test support device has been proposed that compares a GUI screen image that has been developed.
RPAロボットによる自動操作の実行時にエラーが発生した場合には、エラーの発生原因を確実かつ迅速に特定できることが望ましい。ここで、上記のように、エラー発生時にWebページのリソースを取得して、そのリソースと以前のリソースとを比較する方法では、リソースの差異が求められるのみであり、エラーが発生した操作についてのエラー発生原因を直接的に特定できないという問題がある。 If an error occurs during the execution of an automatic operation by the RPA robot, it is desirable to be able to reliably and quickly identify the cause of the error. Here, as described above, the method of obtaining the resource of the web page when an error occurs and comparing that resource with the previous resource only requires the difference in the resource, and the operation in which the error occurred. There is a problem that the cause of error occurrence cannot be directly identified.
1つの側面では、本発明は、自動操作中にエラーが発生した操作についてのエラー発生原因を特定できる可能性を高めた情報処理プログラム、情報処理方法および情報処理装置を提供することを目的とする。 In one aspect, an object of the present invention is to provide an information processing program, an information processing method, and an information processing apparatus that increase the possibility of identifying the cause of an error in an operation in which an error occurs during an automatic operation. .
1つの案では、コンピュータに、ブラウザに表示されたGUI画面に対する複数の操作を自動実行し、複数の操作のうち一の操作の実行時にエラーが発生した場合、GUI画面をブラウザに表示するためのGUI情報と、一の操作の対象であったGUI要素を示すGUI要素情報とを取得し、GUI要素情報が示すGUI要素がGUI画面に含まれていないことをGUI情報が示す場合、一の操作に対応するGUI要素情報の変更がエラーの発生原因であることを通知する通知情報を出力する、処理を実行させる情報処理プログラムが提供される。 In one proposal, a computer automatically executes a plurality of operations on a GUI screen displayed on a browser, and if an error occurs during execution of one of the plurality of operations, the GUI screen is displayed on the browser. GUI information and GUI element information indicating a GUI element that was the target of one operation are acquired, and if the GUI information indicates that the GUI element indicated by the GUI element information is not included in the GUI screen, the one operation is performed. There is provided an information processing program for executing processing for outputting notification information notifying that a change in GUI element information corresponding to is the cause of an error.
また、1つの案では、上記の情報処理プログラムに基づく処理と同様の処理をコンピュータが実行する情報処理方法が提供される。
さらに、1つの案では、上記の情報処理プログラムに基づく処理と同様の処理を実行する情報処理装置が提供される。
In one proposal, an information processing method is provided in which a computer executes processing similar to the processing based on the information processing program described above.
Furthermore, one proposal provides an information processing apparatus that executes the same processing as the processing based on the above information processing program.
1つの側面では、自動操作中にエラーが発生した操作についてのエラー発生原因を特定できる可能性が高まる。 In one aspect, the possibility of identifying the cause of error occurrence for an operation in which an error occurs during automatic operation increases.
以下、本発明の実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る情報処理装置の構成例および処理例を示す図である。図1に示す情報処理装置1は、操作対象に対する操作を自動実行する装置である。このような操作の自動実行は、例えば、情報処理装置1で動作するRPAロボットによって行われる。また、この情報処理装置1は処理部1aを有する。処理部1aは、例えば、プロセッサとして実現される。
BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[First Embodiment]
FIG. 1 is a diagram illustrating a configuration example and a processing example of an information processing apparatus according to a first embodiment. An
処理部1aによる操作手順としては、ブラウザに表示されるGUI画面10に対する次のような操作が事前に設定されているとする。GUI画面10には、操作の対象となるGUI要素として入力部11~13が設けられている。そして、操作手順としては、入力部11に対する所定のデータの入力操作、入力部12に対する所定のデータの入力操作、入力部13に対する所定のデータの入力操作が順に実行される。このような操作手順は、例えば、操作制御情報に記述されている。
It is assumed that the following operation for the
一方、実際の操作時には、処理部1aは、GUI画面10と同じ画面指定情報に基づいてブラウザに表示されたGUI画面10aに対する操作を自動実行したとする(ステップS1)。このGUI画面10aは、GUI要素として、GUI画面10と同様の入力部11,12に加え、入力部13aが設けられている。例えば、GUI画面10aにおける入力部13aの表示状態は、GUI画面10における入力部13と同じであり、入力すべきデータも同じである。しかし、入力部13aを示すGUI要素情報の一部が、入力部13を示すGUI要素情報と異なっているとする。
On the other hand, it is assumed that during actual operation, the processing unit 1a automatically executes an operation on the
この場合、処理部1aが、入力部11,12に対するデータの入力操作を正常に完了した後、入力部13を示すGUI要素情報に基づいて操作を実行したときに、エラーが発生する。すると、処理部1aは、現在操作対象となっているGUI画面10aをブラウザに表示するためのGUI情報2と、エラーが発生した入力操作の対象であったGUI要素(入力部13)を示すGUI要素情報3とを取得して、これらを比較する(ステップS2)。
In this case, an error occurs when the processing unit 1a executes the operation based on the GUI element information indicating the
GUI情報2は、例えば、GUI画面10aを表示するためのHTML(Hyper Text Markup Language)データとして取得される。一方、GUI要素情報3は、例えば、GUI画面10を表示するためのHTMLデータのうち、入力部13を示すHTMLデータとして取得される。このようなGUI要素情報3は、例えば、エラー発生時に出力されたエラーメッセージから取得される。あるいは、GUI要素情報3は、操作手順が記述された操作制御情報から取得されてもよい。
The
ここで、GUI情報2とGUI要素情報3との比較の結果、GUI要素情報3が示すGUI要素、すなわち入力部13がGUI画面10aに含まれていないことをGUI情報2が示したとする。この場合、エラーが発生した操作に対応するGUI要素情報3が変更されたことが、エラーの発生原因であると推定される。このため、処理部1aは、エラーが発生した操作に対応するGUI要素情報3の変更がエラーの発生原因であることを通知する通知情報4を生成して出力する(ステップS3)。この通知情報4は、例えば、電子メールなどによって管理者宛てに送信される。
Here, as a result of comparing the
以上の処理では、操作のエラーが発生すると、その操作の対象であったGUI要素を示すGUI要素情報と、表示中のGUI画面に対応するGUI情報とが取得されて比較される。そして、この比較の結果を用いることで、エラーが発生した操作についてのエラー発生原因を特定できる可能性が高められる。上記の例では、エラーが発生した操作に対応するGUI要素情報の変更が、エラー発生原因として特定される。 In the above process, when an operation error occurs, GUI element information indicating the GUI element that was the target of the operation and GUI information corresponding to the GUI screen being displayed are acquired and compared. By using the result of this comparison, the possibility of identifying the cause of error occurrence for the operation in which the error occurred is increased. In the above example, a change in GUI element information corresponding to the operation in which the error occurred is specified as the cause of the error.
例えば、GUI画面10に対応するGUI情報と、GUI画面10aに対応するGUI情報とを比較した場合には、GUI要素情報の差異を抽出することは可能である。しかし、抽出された差異と、エラーが発生した操作とを関連付けることは難しい。このため、エラー発生原因の解析が複雑になり、この解析を人手で行った場合でも大きな手間がかかる。これに対して、本実施の形態によれば、エラーが発生した操作についてのエラー発生原因を直接的に特定し得る。このため、エラー発生原因を容易かつ正確に特定できる可能性が高められる。
For example, when comparing the GUI information corresponding to the
〔第2の実施の形態〕
図2は、第2の実施の形態に係る情報処理システムの構成例を示す図である。図2に示す情報処理システムは、ロボット実行端末100と外部サーバ200を含む。これらの装置は、ネットワーク210を介して相互に接続されている。
[Second embodiment]
FIG. 2 is a diagram illustrating a configuration example of an information processing system according to the second embodiment. The information processing system shown in FIG. 2 includes a
ロボット実行端末100は、ソフトウェア型のロボットであるRPAロボットが動作する端末装置である。RPAロボットにより、例えば、ロボット実行端末100におけるGUI画面に対する操作が自動的に実行される。このようなRPAロボットの操作により、業務のための操作が自動化される。
The
また、ロボット実行端末100で動作するRPAロボットは、操作の実行エラーが発生した場合に、エラー原因の解析に必要となる情報を採取し、採取した情報を電子メールなどによって運用管理者宛てに送信する。特に、RPAロボットは、情報の採取だけでなく、採取した情報を基にエラー原因の一部を特定することも可能になっている。
Also, when an operation execution error occurs, the RPA robot operating on the
外部サーバ200は、RPAロボットの操作対象となるサービスを提供するサーバ装置の一例である。本実施の形態において、外部サーバ200は、各種のサービスをユーザが利用するためのWebサイトを提供する。この場合、RPAロボットは、外部サーバ200から提供されるWebページのGUIに対する操作を行うことで、サービスを利用して業務を自動実行する。
The
図3は、ロボット実行端末のハードウェア構成例を示す図である。ロボット実行端末100は、例えば、図3に示すようなコンピュータとして実現される。図3に示すロボット実行端末100は、プロセッサ101、RAM(Random Access Memory)102、HDD(Hard Disk Drive)103、GPU(Graphics Processing Unit)104、入力インタフェース(I/F)105、読み取り装置106および通信インタフェース(I/F)107を備える。
FIG. 3 is a diagram illustrating a hardware configuration example of a robot execution terminal. The
プロセッサ101は、ロボット実行端末100全体を統括的に制御する。プロセッサ101は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)またはPLD(Programmable Logic Device)である。また、プロセッサ101は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
The
RAM102は、ロボット実行端末100の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データが格納される。
A
HDD103は、ロボット実行端末100の補助記憶装置として使用される。HDD103には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、SSD(Solid State Drive)などの他の種類の不揮発性記憶装置を使用することもできる。
The
GPU104には、表示装置104aが接続されている。GPU104は、プロセッサ101からの命令にしたがって、画像を表示装置104aに表示させる。表示装置104aとしては、液晶ディスプレイや有機EL(ElectroLuminescence)ディスプレイなどがある。
A
入力インタフェース105には、入力装置105aが接続されている。入力インタフェース105は、入力装置105aから出力される信号をプロセッサ101に送信する。入力装置105aとしては、キーボードやポインティングデバイスなどがある。ポインティングデバイスとしては、マウス、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
An
読み取り装置106には、可搬型記録媒体106aが脱着される。読み取り装置106は、可搬型記録媒体106aに記録されたデータを読み取ってプロセッサ101に送信する。可搬型記録媒体106aとしては、光ディスク、半導体メモリなどがある。
A
通信インタフェース107は、ネットワーク210を介して、外部サーバ200などの他の装置との間でデータの送受信を行う。
以上のようなハードウェア構成によって、ロボット実行端末100の処理機能を実現することができる。なお、外部サーバ200についても、図3に示すようなハードウェア構成を有するコンピュータとして実現可能である。
The
With the above hardware configuration, the processing functions of the
ところで、ロボット実行端末100で動作するRPAロボットは、操作の実行エラーの発生時に、エラー原因の解析に必要となる情報を採取し、採取した情報を運用管理者宛てに送信することが可能になっている。このような処理では、運用管理者側がエラー原因を容易かつ確実に特定できるように、どのような情報を採取するかが重要になる。
By the way, when an operation execution error occurs, the RPA robot operating on the
ここで、エラー原因を特定するために、エラー発生時に操作対象としていたGUI画面の画面イメージを採取(キャプチャ)する方法がある。しかし、この方法では、GUI画面上で変化が現れないようなエラーの原因を特定できない。例えば、WebページにおけるGUI要素(情報の入力部や操作ボタンなど)については、画面上の表示は変化しないが、表示のためのHTMLデータが変更されているケースがある。上記の方法では、このような変更をエラー原因として特定することはできない。 Here, in order to identify the cause of the error, there is a method of collecting (capturing) a screen image of the GUI screen that was being operated when the error occurred. However, this method cannot identify the cause of an error that causes no change on the GUI screen. For example, as for GUI elements (information input section, operation buttons, etc.) on a Web page, there are cases where the display on the screen does not change, but the HTML data for display is changed. The above method cannot identify such a change as the cause of the error.
また、エラー発生の原因が、GUI画面を表示するためのHTMLデータの変更ではないケースもある。このため、このようなケースにおいてエラー原因を特定できるような有用な情報を採取することが望まれる。 Also, there are cases where the cause of the error is not the change of the HTML data for displaying the GUI screen. Therefore, it is desirable to collect useful information that can identify the cause of the error in such cases.
本実施の形態において、ロボット実行端末100で動作するRPAロボットは、操作の実行エラーが発生すると、エラー原因の解析用の情報を採取する。このとき、RPAロボットは、GUI画面を表示するためのHTMLデータと、エラーが発生した操作の対象のGUI要素を示す情報とを比較して、エラー原因がHTMLデータの変更であるかを判定する。RPAロボットは、この判定によりエラー原因が特定できなかった場合、エラー原因の解析用の別の情報をさらに採取する。RPAロボットは、特定されたエラー原因を示す情報や、採取した情報を運用管理者に通知する。
In this embodiment, when an operation execution error occurs, the RPA robot operating on the
図4は、ロボット実行端末が備える処理機能の構成例を示す図である。図4に示すように、ロボット実行端末100は、記憶部110、ロボットエージェント120およびWebブラウザ130を備える。
FIG. 4 is a diagram showing a configuration example of processing functions provided in the robot execution terminal. As shown in FIG. 4, the
記憶部110は、RAM102、HDD103など、ロボット実行端末100が備える記憶装置の記憶領域によって実現される。記憶部110には、操作制御情報111とログファイル112が記憶される。
The
操作制御情報111は、自動実行される操作の手順が記述された情報である。操作制御情報111は、各操作に対応する操作情報を含む。各操作情報は、操作対象となるGUI要素を示す情報(GUI要素情報)を含む。Webページの操作が行われる場合、操作情報には、GUI要素情報として、操作対象となるGUI要素を示すHTMLデータが記述される。
The
ログファイル112は、自動実行された操作のログが記述される情報である。ログファイル112は、RPAロボットによる自動操作が開始されるたびに新規に作成され、記憶部110に格納される。また、作成されたログファイル112には、操作が実行されるたびにログが追加登録される。ログには、操作が正常に実行されたか否かを示す情報が記述される。また、操作の実行エラーが発生し、かつ、エラー原因の可能性があるGUI要素が発見された場合には、そのGUI要素を示す情報もログファイル112に記述される。
The
ロボットエージェント120およびWebブラウザ130の処理は、プロセッサ101が所定のプログラムを実行することで実現される。
ロボットエージェント120は、操作制御情報111に基づいてRPAロボットの動作を実現する。RPAロボットの実体はロボットエージェント120を実現するエージェントプログラムであり、「RPAロボットの実行」とはそのエージェントプログラムの実行を意味する。
Processing of the
The
このロボットエージェント120は、操作実行部121とエラー処理部122を備える。操作実行部121は、業務のための操作を実行する。エラー処理部122は、操作実行部121による操作の実行エラーが発生した場合に、エラー原因の解析用の情報採取や、採取した情報に基づくエラー原因の特定、運用管理者に対する情報送信などを実行する。
This
Webブラウザ130は、操作実行部121による直接的な操作対象となる処理機能の1つである。Webブラウザ130は、Webサーバから提供されるWebページを表示し、WebページのGUI要素に対する操作に応じたデータをWebサーバに送信する。本実施の形態では、外部サーバ200がWebサーバとして動作し、外部サーバ200が提供するサービスを利用するためのGUI画面がWebページとしてWebブラウザ130に提供される。そして、外部サーバ200は、このGUI画面に対するRPAロボットの操作に応じて、サービスに対応するWebアプリケーションの処理を実行する。
The
なお、Webブラウザ130は、操作実行部121による操作対象の一例であり、他の処理機能が操作対象になる場合もある。例えば、ロボット実行端末100にインストールされた各種のアプリケーションが操作対象になる場合がある。
Note that the
図5は、RPAロボットが実行される際の処理手順を示すフローチャートの例である。
[ステップS11]ロボット実行端末100に対するユーザの操作によりRPAロボットの実行が指示されると、ロボットエージェント120が起動し、操作実行部121は、操作制御情報111にしたがってRPAロボットの実行を開始する。なお、RPAロボットの実行指示は、例えば、図示しないRPA管理サーバから送信されてもよい。
FIG. 5 is an example of a flowchart showing a processing procedure when the RPA robot is executed.
[Step S<b>11 ] When the user operates the
[ステップS12]操作実行部121は、操作制御情報111から、次に実行する操作についての操作情報を取得し、取得した操作情報に基づく操作を実行する。
[ステップS13]操作実行部121は、操作が正常に実行されたかを判定する。操作が正常に実行された場合、処理がステップS14に進められる。一方、操作の実行エラーが発生した場合には、操作の自動実行が中断され、処理がステップS15に進められる。
[Step S12] The
[Step S13] The
[ステップS14]操作実行部121は、RPAロボットの実行を終了するかを判定する。次に実行すべき操作がない場合に、処理終了と判定される。RPAロボットの実行を継続する場合、処理がステップS12に進められ、次の操作に関する処理が実行される。一方、RPAロボットの実行を終了する場合、ロボットエージェント120の処理が終了する。
[Step S14] The
[ステップS15]エラー処理部122によるエラー処理が実行される。以下、図6を用いて、エラー処理について説明する。
図6は、エラー処理の手順を示すフローチャートの例である。
[Step S15] Error processing by the
FIG. 6 is an example of a flowchart showing the procedure of error processing.
[ステップS21]エラー処理部122は、Webブラウザ130に対する操作で実行エラーが発生したかを判定する。Webブラウザ130に対する操作で実行エラーが発生した場合、処理がステップS23に進められ、それ以外の操作対象に対する操作で実行エラーが発生した場合、処理がステップS22に進められる。
[Step S<b>21 ] The
[ステップS22]エラー処理部122は、実行エラーが発生した操作対象に対してあらかじめ決められた、エラー原因の解析用の情報を採取し、採取した情報を運用管理者宛てに送信する。この情報送信は、例えば、電子メールを用いて行われる。
[Step S22] The
[ステップS23]エラー処理部122は、エラー原因の解析用の情報として、現在表示されているWebページのGUI画面を表示するためのGUI情報を採取する。このGUI情報としては、Webページを表示させるHTMLデータが採取される。このようなGUI情報の採取は、あらかじめ決められた手順にしたがってRPAロボットが自動操作することで実行される。
[Step S23] The
[ステップS24]エラー処理部122は、実行エラーが発生した操作についての操作情報を取得する。例えば、エラー処理部122は、実行エラーの発生に伴って出力されたエラーメッセージから、実行エラーが発生した操作についての操作情報を取得する。あるいは、エラー処理部122は、この操作情報を操作制御情報111から取得してもよい。この場合、図5のステップS12で操作制御情報111から取得された情報が用いられてもよい。
[Step S24] The
[ステップS25]エラー処理部122は、ステップS24で取得した操作情報と、ステップS23で採取したGUI情報とを比較する。例えば、エラー処理部122は、操作情報からGUI要素を示すGUI要素情報を抽出し、抽出したGUI要素情報が、採取したGUI情報に含まれているかを判定する。
[Step S25] The
[ステップS26]エラー処理部122は、ステップS25での比較結果から、GUI情報の中に変更箇所があるかを判定する。例えば、ステップS23で採取したGUI情報に、ステップS24で取得した操作情報に記述されたGUI要素情報が含まれていない場合に、変更箇所があると判定される。変更箇所がある場合、処理がステップS27に進められ、変更箇所がない場合、処理がステップS28に進められる。
[Step S26] The
[ステップS27]エラー処理部122は、エラー原因を、GUI情報におけるGUI要素情報の変更と判定する。エラー処理部122は、エラー原因の判定結果と、エラー原因の解析用に採取された採取情報とともに、電子メールなどによって運用管理者宛てに通知する。採取情報としては、例えば、ステップS23で採取されたGUI情報、Webページをキャプチャした画像に変更箇所(例えば、実行エラーが発生したGUI要素の位置)を示した画像のデータなどが通知される。
[Step S27] The
ここで、ステップS26,S27での上記手順によれば、検索によってGUI情報からGUI要素情報が見つからなかった場合、少なくともそのGUI要素情報が削除されたと判定される。この場合、当該GUI要素情報の削除がエラー原因として特定される。ただし、この場合には、当該GUI要素情報が別のGUI要素情報に置き換えられたケース(例えば、GUI要素を示すHTMLデータの一部が変更されたケース)も考えられる。 Here, according to the above procedure in steps S26 and S27, if the GUI element information is not found from the GUI information by searching, it is determined that at least the GUI element information has been deleted. In this case, the deletion of the GUI element information is identified as the cause of the error. However, in this case, the GUI element information may be replaced with another GUI element information (for example, a part of the HTML data indicating the GUI element may be changed).
そこで、操作情報に含まれるGUI要素情報がGUI情報から見つからなかった場合、エラー処理部122は、当該Webページに対する全操作を示す操作情報とGUI情報とを比較してもよい。このような操作情報は、例えば、当該WebページのURL(Uniform Resource Locator)が記述された(または、関連付けられた)操作情報として操作制御情報111から抽出される。
Therefore, if the GUI element information included in the operation information is not found from the GUI information, the
エラー処理部122は、上記の比較により、GUI情報に含まれるGUI要素情報の中に、これらの各操作情報に含まれるGUI要素情報と一致しないものがあるかを判定する。一致しないGUI要素情報がGUI情報から見つかった場合、操作情報に含まれるGUI要素情報が、GUI情報から見つかったGUI要素情報に変更されたことがエラー原因である可能性がある。このため、エラー処理部122はステップS27において、このようなGUI要素情報の変更をエラー原因と判定し、その旨を運用管理者宛てに通知してもよい。
Based on the above comparison, the
[ステップS28]ステップS26で「No」と判定された場合、エラー原因がGUI情報におけるGUI要素情報の変更以外の別の原因であると判定される。この場合、ステップS28,S29で、別のエラー原因を特定するための情報を採取する処理が実行される。ステップS28では、エラー処理部122は、Webブラウザ130の設定情報を採取し、採取した情報を電子メールなどによって運用管理者宛てに通知する。
[Step S28] If "No" is determined in step S26, it is determined that the cause of the error is something other than the change in the GUI element information in the GUI information. In this case, in steps S28 and S29, a process of collecting information for specifying another error cause is executed. In step S28, the
[ステップS29]Webブラウザ130を通じてサービスを提供するサービス提供者側の設定情報(例えば、Webサーバの設定情報やWebアプリケーションの設定情報)を採取する処理が実行される。
[Step S29] A process of collecting setting information (for example, setting information of a Web server or setting information of a Web application) on the side of a service provider that provides services through the
なお、ステップS28,S29の少なくとも一方は、ステップS26の判定結果に関係なく実行されてもよい。この場合、例えば、ステップS26で「No」と判定されたときはステップS27の実行後に、また、ステップS26で「No」と判定されたときはその次に、ステップS28,S29の少なくとも一方が実行されればよい。 At least one of steps S28 and S29 may be executed regardless of the determination result of step S26. In this case, for example, when "No" is determined in step S26, at least one of steps S28 and S29 is executed after step S27 is executed, and when "No" is determined in step S26. I wish I could.
次に、図7~図13を用いて、GUI情報からエラー原因を特定する処理(図6のステップS23~S27に対応)を説明する。
図7は、Webページの表示例およびGUI情報の採取操作例を示す図である。また、図8は、Webページを表示するためのGUI情報の表示例を示す図である。
Next, the process of identifying the cause of an error from GUI information (corresponding to steps S23 to S27 in FIG. 6) will be described with reference to FIGS. 7 to 13. FIG.
FIG. 7 is a diagram showing a display example of a Web page and an operation example of acquiring GUI information. FIG. 8 is a diagram showing a display example of GUI information for displaying a web page.
図7には、操作実行部121の操作対象となるWebページを表示した状態のブラウザ画面140(Webブラウザ130の表示画面)の一例を示している。このブラウザ画面140上のWebページは、ユーザがサービスにログインするためのログイン領域141を含む。ログイン領域141には、GUI要素として、ユーザ名を入力するためのユーザ名入力部141aと、パスワードを入力するためのパスワード入力部141bと、ログインを要求するためのログインボタン141cとが表示される。
FIG. 7 shows an example of a browser screen 140 (display screen of the web browser 130) displaying a web page to be operated by the
また、ブラウザ画面140には、設定ボタン142が表示される。設定ボタン142が押下されると、図7の下側に示すようにポップアップ画面143が表示される。ポップアップ画面143には複数の項目が含まれ、その1つとしてGUI情報を表示するための項目143aが含まれている。項目143aに対する選択操作が行われると、現在表示されているWebページに対応するGUI情報(HTMLデータ)が表示される。図8に示す表示画面150は、図7に示したWebページに対応するGUI情報を表示した画面の一例である。
A
したがって、図7に示すWebページに対する操作中に操作の実行エラーが発生した場合、エラー処理部122は例えば、設定ボタン142を押下し、ポップアップ画面143内の項目143aを選択してGUI情報を表示させ、表示されたGUI情報を読み込む、という一連の操作を自動実行することで、GUI情報を採取することができる。このような一連の操作手順は、ブラウザ操作においてエラーが発生した場合の操作手順として、RPAロボットにあらかじめ覚え込ませておけばよい。
Therefore, when an operation execution error occurs during the operation on the Web page shown in FIG. 7, the
次に、具体的なエラーの発生例について説明する。ここでは例として、操作実行部121は、ユーザ名入力部141aに所定のユーザ名を入力し、パスワード入力部141bに所定のパスワードを入力し、ログインボタン141cを押下する、という一連の操作を自動実行するものとする。
Next, a specific error occurrence example will be described. Here, as an example, the
図9は、操作の実行エラーが発生する第1のケースを示す図である。また、図10は、第1のケースにおけるGUI情報の表示例を示す図である。
この第1のケースでは、図9に示すように、ログイン領域141において、「ログイン」と表記されたログインボタン141cが、「login」と表記されたログインボタン141c1に変更されている。図10に示す表示画面151は、変更後のWebページを表示するためのGUI情報を示している。このGUI情報では、図8に示したGUI情報と比較した場合に、ログインボタンに関するGUI要素情報のうち、下線部の記述の一部が異なっている。具体的には、「value」に対する設定値が「ログイン」から「login」に変更されている。
FIG. 9 is a diagram showing a first case in which an operation execution error occurs. FIG. 10 is a diagram showing a display example of GUI information in the first case.
In the first case, as shown in FIG. 9, in the
ここで、前述のように、操作制御情報111には、RPAロボットが実行する各操作を示す操作情報が含まれる。Webページの操作が行われる場合、操作情報には、GUI要素情報として、操作対象となるGUI要素を示すHTMLデータが記述されている。例えば、UiPath社が提供しているRPAソフトウェア(例えば「UiPath Studio」)では、各操作を示す操作情報として「セレクタ」と呼ばれる情報が記述される。セレクタは、「ノード」と呼ばれるデータ要素を複数含む。Webページが操作対象の場合、データ要素として、WebページのURLや、GUI要素を示すHTMLデータなどが記述され、GUI要素を示すHTMLデータがGUI要素情報の一例となる。GUI要素を示すHTMLデータは、通常、セレクタに含まれる最後尾のデータ要素として記述される。
Here, as described above, the
このようなセレクタが用いられる場合、セレクタの各データ要素に基づいてWebページ上のGUI要素が特定され、特定されたGUI要素に対する操作が実行される。このため、上記の第1のケースのようにGUI要素情報が変更されてしまうと、変更前のGUI要素情報に基づく操作(ログインボタン141cへの操作)についての実行エラーが発生してしまう。
When such a selector is used, a GUI element on the web page is identified based on each data element of the selector, and an operation is performed on the identified GUI element. Therefore, if the GUI element information is changed as in the first case, an execution error will occur in the operation (operation to the
このとき、エラー処理部122は、現在の操作対象となっているWebページを表示するためのGUI情報を採取するとともに、実行エラーが発生した操作についての操作情報を取得する。そして、エラー処理部122は、取得した操作情報に含まれるGUI要素情報(ここでは、ログインボタン141cを示すGUI要素情報)をキーとして、採取したGUI情報を検索する。採取されたGUI情報には、変更後のログインボタン141c1を示すGUI要素情報が含まれるが、変更前のログインボタン141cを示すGUI要素情報は含まれない。このため、図6のステップS26では変更箇所があると判定され、ステップS27では、ログインボタン141cを示すGUI要素情報の変更が、ログインボタン141cに対する入力操作のエラー発生原因であると特定される。
At this time, the
なお、ここまでの処理では、「GUI要素情報の変更」とは、GUI要素情報全体が削除される(すなわち、ログインボタンがなくなる)ケースと、GUI要素情報の一部が変更されるケースとが含まれ、これらを区別することはできない。そこで、エラー処理部122はさらに、操作制御情報111から上記Webページに対する全操作を示す操作情報を取得し、これらの各操作情報に含まれるGUI要素情報と、ステップS23で採取したGUI情報とを比較してもよい。例えば、採取したGUI情報に含まれるGUI要素情報の中から、いずれの操作情報のGUI要素情報とも一致しないGUI要素情報が抽出された場合、ログインボタン141cを示すGUI要素情報が、抽出されたGUI要素情報に置き換えられたと推定される。
In the processing up to this point, "change of GUI element information" includes cases where the entire GUI element information is deleted (that is, the login button disappears) and cases where part of the GUI element information is changed. included and cannot be distinguished. Therefore, the
図9、図10の第1のケースでは、変更後のログインボタン141c1に対応するGUI要素情報が、いずれの操作情報のGUI要素情報とも一致しないGUI要素情報として抽出される。このため、エラー処理部122はステップS27において、ログインボタン141cを示すGUI要素情報がログインボタン141c1を示すGUI要素情報に置き換えられたことが、エラー発生原因であると判定し、その旨を示す通知情報を運用者宛てに送信できる。
In the first case of FIGS. 9 and 10, the GUI element information corresponding to the changed login button 141c1 is extracted as GUI element information that does not match any GUI element information of the operation information. Therefore, in step S27, the
一方、例えば、採取したGUI情報に含まれるGUI要素情報の中から、いずれの操作情報のGUI要素情報とも一致しないGUI要素情報が抽出されなかった場合には、ログインボタン141cを示すGUI要素情報が削除されたことになる。この場合、エラー処理部122はステップS27において、ログインボタン141cを示すGUI要素情報の削除がエラー発生原因であると判定し、その旨を示す通知情報を運用者宛てに送信できる。
On the other hand, for example, if GUI element information that does not match any of the GUI element information of the operation information is not extracted from the GUI element information included in the collected GUI information, the GUI element information indicating the
図11は、操作の実行エラーが発生する第2のケースを示す図である。図11に示すGUI情報の表示画面152では、図8に示したGUI情報と比較した場合に、ログインボタン141cに関するGUI要素情報のうち、下線部の記述の一部が異なっている。具体的には、「onclick」に対する設定値が「checkWorkStart(uid)」から「aaa」に変更されている。
FIG. 11 is a diagram showing a second case in which an operation execution error occurs. When compared with the GUI information shown in FIG. 8, the GUI
この第2のケースでは、Webブラウザ130の表示画面におけるログインボタン141cの表示状態は変化しないにもかかわらず、ログインボタン141cに対応するGUI要素情報の一部が変更されている。このため、操作実行部121が、ログインボタン141cについての変更前のGUI要素情報に基づいて操作を実行したときに、エラーが発生する。
In this second case, part of the GUI element information corresponding to the
このとき、エラー処理部122は、現在の操作対象となっているWebページを表示するためのGUI情報を採取するとともに、実行エラーが発生した操作についての操作情報を取得する。そして、エラー処理部122は、取得した操作情報に含まれるGUI要素情報(ここでは、ログインボタン141cについての変更前のGUI要素情報)をキーとして、採取したGUI情報を検索する。採取されたGUI情報には、ログインボタン141cについての変更後のGUI要素情報が含まれるが、ログインボタン141cについての変更前のGUI要素情報は含まれない。このため、図6のステップS26では変更箇所があると判定され、ステップS27では、ログインボタン141cを示すGUI要素情報の変更が、ログインボタン141cに対する入力操作のエラー発生原因であると特定される。
At this time, the
また、前述の第1のケースと同様に、エラー処理部122はさらに、操作制御情報111から上記Webページに対する全操作を示す操作情報を取得し、これらの各操作情報に含まれるGUI要素情報と、ステップS23で採取したGUI情報とを比較してもよい。第2のケースでは、ログインボタン141cについての変更後のGUI要素情報が、いずれの操作情報のGUI要素情報とも一致しないGUI要素情報として抽出される。このため、ステップS27においてエラー処理部122は、ログインボタン141cを示すGUI要素情報が、抽出されたGUI要素情報に置き換えられたことが、エラー発生原因であると判定し、その旨を示す通知情報を運用者宛てに送信できる。
Further, as in the first case described above, the
エラー処理部122による上記の処理によれば、エラーが発生した操作の対象であったGUI要素を示すGUI要素情報をキーとして、表示中のGUI画面に対応するGUI情報が検索される。そして、このGUI要素情報がGUI情報から見つからなかった場合に、エラーが発生した操作に対応するGUI要素情報の変更が、エラー発生原因であると特定することができる。
According to the above-described processing by the
また、操作制御情報111から取得した、該当Webページに対する全操作の操作情報と、採取したGUI情報とをさらに比較することで、エラー発生原因を、GUI要素情報の置き換えと削除とに切り分けることが可能となる。
Furthermore, by further comparing the operation information of all operations on the relevant web page acquired from the
これらの処理では、特に、エラーが発生した操作についてのエラー発生原因を直接的に特定できる。例えば、操作の実行エラーが発生したときに、変更前のWebページのHTMLデータと変更後のWebページのHTMLデータとを比較する方法では、GUI要素情報の差異を抽出することはできるが、抽出された差異と、エラーが発生した操作とを関連付けることは難しい。このため、エラー発生原因の解析が複雑になる。エラー処理部122による上記処理によれば、エラーが発生した操作についてのエラー発生原因を直接的に特定できるので、エラー発生原因を容易かつ正確に特定できる。
In these processes, in particular, the cause of error occurrence can be directly identified for the operation in which the error occurred. For example, in the method of comparing the HTML data of the Web page before change and the HTML data of the Web page after change when an operation execution error occurs, it is possible to extract the difference in GUI element information. It is difficult to associate the difference made and the operation in which the error occurred. This complicates the analysis of the cause of error occurrence. According to the above processing by the
また、特に上記の第2のケースでは、Webブラウザ130の表示画面におけるログインボタン141cの表示状態は変化しないにもかかわらず、ログインボタン141cに対応するGUI要素情報の一部が変更されている。このようなケースでは、例えば、現在のWebページの表示画面の画像をキャプチャし、キャプチャされた画像を参照するだけでは、エラー発生原因を特定することができない。これに対して、エラー処理部122による上記処理によれば、GUI要素情報の比較が行われることで、エラー発生原因を特定することが可能になる。
Moreover, in the above second case in particular, although the display state of the
次に、ログファイル112に対するログの登録について説明する。
図12は、操作が正常に実行された場合におけるログの登録処理例を示す図である。また、図13は、操作の実行エラーが発生した場合におけるログの登録処理例を示す図である。なお、前述のように、ログファイル112は、一連の操作が実行されるたびに個別に作成される。ここでは、図12に示すログファイル112aが作成されて、対応する一連の操作が実行された後、図13に示すログファイル112bが作成されて、対応する一連の操作の実行が開始されるケースを示す。
Next, registration of logs in the
FIG. 12 is a diagram illustrating an example of log registration processing when an operation is normally executed. FIG. 13 is a diagram illustrating an example of log registration processing when an operation execution error occurs. Note that, as described above, the
ログファイル112a,112b(112)には、操作の実行のたびにログを示すレコードが登録される。各レコードには、操作ID、操作対象、操作内容、過去情報、前回操作日、エラー有無、エラー日時および変更箇所が登録される。 Log files 112a and 112b (112) register records each time an operation is executed. An operation ID, operation target, operation details, past information, previous operation date, presence/absence of error, date and time of error, and change location are registered in each record.
操作IDは、操作の識別番号を示す。操作対象は、操作の対象となるGUI画面を識別する情報を示す。Webブラウザ130上のWebページに対する操作が実行される場合、操作対象の項目にはWebページを示すURLが登録される。操作内容は、操作対象に対して実施した操作の内容(例えば、クリック操作、書き込み操作、読み出し操作など)を示す。
The operation ID indicates the identification number of the operation. The operation target indicates information identifying a GUI screen to be operated. When an operation is performed on a web page on the
過去情報は、エラーが発生していないときに取得した、操作対象のGUI要素情報を示す。Webページに対する操作が実行される場合、過去情報の項目には、操作対象のGUI要素を示すHTMLデータが登録される。前回操作日は、前回の操作実行時の日時を示す。エラー有無は、前回の操作実行時にエラーが発生したか否かを示す。 The past information indicates GUI element information to be operated that was acquired when no error occurred. When an operation is performed on a web page, HTML data indicating a GUI element to be operated is registered in the past information item. The previous operation date indicates the date and time when the previous operation was performed. The presence/absence of an error indicates whether or not an error occurred during execution of the previous operation.
エラー日時は、操作の実行エラーが発生した日時を示す。変更箇所は、エラーが発生した場合に、前回の操作実行時からのGUI要素情報の変更箇所を示す。
図12では、図7に示した、ブラウザ画面140上のWebページに対して、正常な操作が行われた場合を示す。例えば、ログインボタン141cを押下する(クリックする)操作が正常に実行されると、ログファイル112aにレコード112a1が登録される。レコード112a1には、操作IDが登録されるとともに、操作対象として上記WebページのURLが登録され、操作内容として「クリック」が登録される。また、前回の操作時にエラーが発生していない場合、過去情報として操作対象のGUI要素(ログインボタン141c)を示すGUI要素情報(HTMLデータ)が登録される(図12では「ログイン」として記載を簡略化している)とともに、その前回操作日が登録される。また、エラー有無の項目には、前回エラーがなかったことを示す情報が登録される。一方、今回が初回の操作の場合、過去情報として今回取得されたGUI要素情報が登録され、前回操作日の項目はデータなし(NULL)となる。また、エラー有無の項目には、前回エラーがなかったことを示す情報が登録される。なお、今回の操作でエラーが発生していない場合、エラー日時および変更箇所の項目はデータなし(NULL)となる。
The error date and time indicates the date and time when an operation execution error occurred. The changed portion indicates the changed portion of the GUI element information since the previous operation was executed when an error occurs.
FIG. 12 shows a case where a normal operation has been performed on the web page on the
次に、図13では、図12のWebページにおけるログイン領域141が、図9の下側に示すように変更された場合を示す。すなわち、ログイン領域141のログインボタン141cがログインボタン141c1に変更されている。そして、変更前のログインボタン141cを示すGUI要素情報に基づいて操作を実行したときに、エラーが発生したとする。
Next, FIG. 13 shows a case where the
この場合、まず、ログファイル112bに対してレコード112b1が登録される。このレコード112b1においては、操作IDが登録されるとともに、操作対象として上記WebページのURLが登録され、操作内容として「クリック」が登録される。また、過去情報として操作対象のGUI要素(ログインボタン141c)を示すGUI要素情報(HTMLデータ)が登録される(図13では「ログイン」として記載を簡略化している)とともに、その前回操作日が登録される。なお、過去情報に登録されるGUI要素情報が、実行エラーが発生した操作の対象としていたGUI要素を示す。また、エラー有無の項目には、前回エラーがなかったことを示す情報が登録される。
In this case, first, a record 112b1 is registered in the log file 112b. In this record 112b1, the operation ID is registered, the URL of the Web page is registered as the operation target, and "click" is registered as the operation content. GUI element information (HTML data) indicating the GUI element (
また、エラー日時として現在の日時が登録される。エラー日時が登録されることで、今回の操作でエラーが発生したことが識別される。変更箇所の項目には、GUI要素情報の変更に応じた情報が登録される。図13のようにログインボタン141cがログインボタン141c1に変更された場合、変更箇所の項目には、変更後のログインボタン141c1を示すGUI操作情報(HTMLデータ)が登録される(図13では「login」として記載を簡略化している)。一方、例えば、元のログインボタン141cが単に削除された場合、変更箇所の項目はデータなし(NULL)となる。
Also, the current date and time is registered as the error date and time. By registering the date and time of the error, it is identified that an error has occurred in the current operation. Information corresponding to the change of the GUI element information is registered in the changed portion item. When the
このようなエラーが検出された場合、図6のステップS27では、例えば、エラー原因の通知情報として、レコード112b1に登録された情報が運用管理者宛てに送信されればよい。さらに、エラー処理部122は例えば、変更されたログインボタン141c1の位置を明示した状態のWebページの画像をキャプチャし、キャプチャされた画像やWebページのGUI情報などを、エラー発生原因の通知情報とともに運用管理者宛てに送信してもよい。図13では、変更されたログインボタン141c1の位置を明示するために、ログインボタン141c1を囲むように点線の矩形144aが描画されている。
When such an error is detected, in step S27 of FIG. 6, for example, the information registered in the record 112b1 may be sent to the operation manager as notification information of the cause of the error. Further, the
このような情報が運用管理者宛てに送信されることで、運用管理者は、エラーが発生したGUI要素を容易に認識できるとともに、エラーの発生原因を確認、検証することができる。 By sending such information to the operations manager, the operations manager can easily recognize the GUI element in which the error has occurred, and can confirm and verify the cause of the error.
なお、図13の例ではさらに、ログイン領域141に対してリセットボタン141dが追加されている。リセットボタン141dは、ユーザ名入力部141aおよびパスワード入力部141bに入力された情報をリセットする(消去する)ためのボタンである。エラー処理部122が、追加されたGUI要素としてリセットボタン141dを検知した場合、ログファイル112bにはレコード112b2がさらに登録される。レコード112b2では、操作ID、操作対象、エラー日時および変更箇所のみが登録される。変更箇所の項目には、追加されたリセットボタン141dを示すGUI要素情報(HTMLデータ)が登録される(図13では「リセット」として記載を簡略化している)。
In addition, in the example of FIG. 13, a
また、このようにリセットボタン141dの追加が検知された場合、Webページをキャプチャした画像には、リセットボタン141dが追加された位置が明示されてもよい。図13では、リセットボタン141dの位置を明示するために、リセットボタン141d1を囲むように点線の矩形144bが描画されている。
Further, when the addition of the
次に、図14を用いて、図6のステップS28の処理を説明する。
図14は、Webブラウザの設定情報の採取処理例を示す図である。図6のステップS28では、エラー発生原因を検証するための情報として、Webブラウザ130の設定情報が採取される。この採取処理では、例えば、ブラウザ画面140の設定ボタン142が押下され、この押下に応じてポップアップ画面143が表示される。前述のように、ポップアップ画面143には複数の項目が含まれており、その1つとしてWebブラウザ130についての詳細な設定を行うための項目143bが含まれている。項目143bに対する選択操作が行われると、Webブラウザ130についての詳細な設定を行うための設定画面が表示される。
Next, the process of step S28 in FIG. 6 will be described using FIG.
FIG. 14 is a diagram illustrating an example of processing for collecting setting information of a web browser. In step S28 of FIG. 6, setting information of the
図示しないが、設定画面には、複数の項目のそれぞれに対する設定情報の入力部、または設定情報の表示部が表示される。入力部には、すでに設定されている情報が表示され、これを変更することで設定情報を変更できるようになっている。入力部に対応する項目としては、例えば、表示設定に関する項目、セキュリティ設定に関する項目、プラグインソフトウェアに関する項目などがある。表示部に対応する項目としては、例えば、Webブラウザ130のバージョン情報などがある。
Although not shown, the setting screen displays a setting information input section or a setting information display section for each of a plurality of items. The input section displays information that has already been set, and by changing this, the setting information can be changed. Items corresponding to the input section include, for example, items related to display settings, items related to security settings, and items related to plug-in software. Items corresponding to the display unit include, for example, version information of the
ステップS28において、エラー処理部122は例えば、設定ボタン142を押下し、ポップアップ画面143内の項目143bを選択して設定画面を表示させ、設定項目内の各項目の設定情報を順に読み込む、という一連の操作を自動実行することで、Webブラウザ130の設定情報を採取することができる。このような一連の操作手順は、ブラウザ操作においてエラーが発生した場合の操作手順として、RPAロボットにあらかじめ覚え込ませておけばよい。
In step S28, for example, the
エラー処理部122は、このようにして採取されたWebブラウザ130の設定情報を、運用管理者宛てに送信する。RPAロボットによる操作の実行エラーは、Webブラウザ130の設定変更によって発生する場合がある。運用管理者は、受信した情報を解析することで、Webブラウザ130の設定変更がエラー発生原因であるかを判断することができるようになる。
The
次に、図15、図16を用いて、図6のステップS29の処理を説明する。
図15は、サービス提供者側の設定情報を採取する処理の概要を示す図である。図6のステップS29では、エラー発生原因を検証するための情報として、Webブラウザ130を通じてサービスを提供するサービス提供者側の設定情報が採取される。このような設定情報は、ロボット実行端末100からは採取できない場合がある。
Next, the process of step S29 in FIG. 6 will be described with reference to FIGS. 15 and 16. FIG.
FIG. 15 is a diagram showing an overview of processing for collecting setting information on the service provider side. In step S29 of FIG. 6, setting information on the side of the service provider who provides the service through the
例えば、Webアプリケーションが社内で提供されている場合には、このWebアプリケーションやWebサーバに関する設定情報を、同じ社内のロボット実行端末100が採取できる可能性が高い。しかし、Webアプリケーションが社外から提供されている場合、例えば、限定された管理装置のみからしか、そのWebアプリケーションやWebサーバに関する設定情報にアクセスできない場合がある。一例として、Webアプリケーションが社外のクラウドサービスとして提供されているケースが考えられる。
For example, when a web application is provided in-house, there is a high possibility that the
このようなサービス形態がとられている場合、ロボット実行端末100のエラー処理部122は、外部サーバ200が提供しているWebアプリケーション201の設定情報にアクセス可能な管理装置230に対して、この設定情報の採取を依頼する。図15の例では、このような設定情報を採取するためのRPAロボットである情報採取ロボット231を、管理装置230に配備する。
When such a service form is adopted, the
エラー処理部122は、Webブラウザ130を介したWebアプリケーション201に対する操作時にエラーが発生した場合、前述した処理によってエラー原因の特定や情報採取を行い、エラー原因を示す情報や採取した情報を運用管理者241宛てに送信する。また、エラー原因が特定できなかった場合、エラー処理部122は、管理装置230に対して情報採取ロボット231の実行を指示する。
When an error occurs during operation of the
管理装置230は、実行指示に応じて情報採取ロボット231の実行を開始する。管理装置230は、例えば、外部サーバ200の各種の情報にアクセスするための管理者アカウント情報を保持している。情報採取ロボット231は、この管理者アカウント情報を用いて外部サーバ200にアクセスし、あらかじめ決められた、Webアプリケーション201についての設定情報を採取する。情報採取ロボット231は、採取した設定情報を、例えば電子メールなどを用いて運用管理者241に送信する。
The
このように、ロボット実行端末100がWebアプリケーション201についての設定情報にアクセスする権限を有さない場合でも、その権限を有する管理装置230に情報採取を依頼することで、設定情報を採取し、エラー原因を特定するための情報として運用管理者241に通知することができる。
As described above, even if the
図16は、サービス提供者側の設定情報を採取する処理の例を示すシーケンス図である。図16に示す処理は、図6のステップS29の処理に対応する。
ロボット実行端末100のエラー処理部122は、サービス提供者側の設定情報にアクセス可能かを判定する(ステップS31)。ここで、アクセス可能な場合、エラー処理部122は、サービス提供者側のサーバ(例えば、Webブラウザ130を介した現在の接続先サーバ)から、サービスに関する設定情報を採取する。エラー処理部122は、採取した設定情報を運用管理者宛てに送信する(ステップS32)。
FIG. 16 is a sequence diagram illustrating an example of processing for collecting setting information on the service provider side. The process shown in FIG. 16 corresponds to the process of step S29 in FIG.
The
一方、ステップS31で設定情報にアクセス不可能と判定した場合、エラー処理部122は、管理装置230に対して情報採取ロボット231の実行を指示する(ステップS33)。管理装置230は、実行指示に応じて情報採取ロボット231の実行を開始する(ステップS34)。情報採取ロボット231は、サービス提供者側のサーバから、サービスに関する設定情報を採取し、採取した設定情報を運用管理者宛てに送信する(ステップS35)。
On the other hand, when it is determined in step S31 that the setting information cannot be accessed, the
ステップS32またはS35で採取される設定情報としては、例えば、Webアプリケーションなどのサービスを利用するための情報(アカウントに関する情報、端末側のハードウェアやソフトウェアの仕様やバージョンに関する情報など)などが考えられる。RPAロボットによる操作の実行エラーがこのような設定情報の変更を原因として発生した場合、採取された設定情報が運用管理者に送信されることで、運用管理者は、設定情報を解析してこのようなエラー発生原因を特定できるようになる。 The setting information collected in step S32 or S35 can be, for example, information for using services such as web applications (information about accounts, information about specifications and versions of hardware and software on the terminal side, etc.). . If an error in the execution of an operation by an RPA robot occurs due to such a change in setting information, the collected setting information is sent to the operation administrator, who then analyzes the setting information and corrects this error. It becomes possible to identify the cause of such an error occurrence.
なお、上記の各実施の形態に示した装置(例えば、情報処理装置1、ロボット実行端末100、外部サーバ200)の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、磁気テープなどがある。光ディスクには、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク(Blu-ray Disc:BD、登録商標)などがある。
Note that the processing functions of the devices (for example, the
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CDなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。 When distributing a program, for example, portable recording media such as DVDs and CDs on which the program is recorded are sold. It is also possible to store the program in the storage device of the server computer and transfer the program from the server computer to another computer via the network.
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。 A computer that executes a program stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. The computer then reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. Also, the computer can execute processing according to the received program every time the program is transferred from a server computer connected via a network.
1 情報処理装置
1a 処理部
2 GUI情報
3 GUI要素情報
4 通知情報
10,10a GUI画面
11~13,13a 入力部
S1~S3 ステップ
1 information processing device
Claims (11)
ブラウザに表示されたGUI(Graphical User Interface)画面に対する複数の操作を自動実行し、
前記複数の操作のうち一の操作の実行時にエラーが発生した場合、前記GUI画面を前記ブラウザに表示するためのGUI情報と、前記一の操作の対象であったGUI要素を示すGUI要素情報とを取得し、
前記GUI要素情報が示すGUI要素が前記GUI画面に含まれていないことを前記GUI情報が示す場合、前記一の操作に対応する前記GUI要素情報の変更が前記エラーの発生原因であることを通知する通知情報を出力する、
処理を実行させる情報処理プログラム。 to the computer,
Automatically executes multiple operations on the GUI (Graphical User Interface) screen displayed on the browser,
GUI information for displaying the GUI screen on the browser when an error occurs during execution of one of the plurality of operations; and GUI element information indicating the GUI element that was the target of the one operation. and get
If the GUI information indicates that the GUI element indicated by the GUI element information is not included in the GUI screen, notify that the change of the GUI element information corresponding to the one operation is the cause of the error. output notification information to
An information processing program that causes a process to be executed.
請求項1記載の情報処理プログラム。 Acquisition of the GUI element information includes acquiring the GUI element information from an error message indicating the occurrence of the error.
The information processing program according to claim 1.
請求項1記載の情報処理プログラム。 Acquiring the GUI element information includes acquiring the GUI element information from control information describing operation procedures for the plurality of operations.
The information processing program according to claim 1.
請求項1乃至3のいずれか1項に記載の情報処理プログラム。 causing the computer to further execute a process of acquiring setting information of the browser when the error occurs and outputting the acquired setting information as information for analyzing the cause of the error;
The information processing program according to any one of claims 1 to 3.
請求項4記載の情報処理プログラム。 Acquisition of the setting information is performed when the GUI information indicates that the GUI element indicated by the GUI element information is included in the GUI screen.
The information processing program according to claim 4.
請求項1乃至5のいずれか1項に記載の情報処理プログラム。 causing the computer to further execute acquisition processing for acquiring service setting information indicating settings of a service used through the browser when the error occurs;
The information processing program according to any one of claims 1 to 5.
請求項6記載の情報処理プログラム。 The acquisition process is executed when the GUI information indicates that the GUI element indicated by the GUI element information is included in the GUI screen.
The information processing program according to claim 6.
請求項6または7に記載の情報処理プログラム。 In the acquisition process, the service setting information is acquired, and the acquired service setting information is output as information for analyzing the cause of the error.
The information processing program according to claim 6 or 7.
請求項6または7に記載の情報処理プログラム。 In the acquisition process, a device capable of accessing the service setting information is requested to acquire the service setting information.
The information processing program according to claim 6 or 7.
ブラウザに表示されたGUI画面に対する複数の操作を自動実行し、
前記複数の操作のうち一の操作の実行時にエラーが発生した場合、前記GUI画面を前記ブラウザに表示するためのGUI情報と、前記一の操作の対象であったGUI要素を示すGUI要素情報とを取得し、
前記GUI要素情報が示すGUI要素が前記GUI画面に含まれていないことを前記GUI情報が示す場合、前記一の操作に対応する前記GUI要素情報の変更が前記エラーの発生原因であることを通知する通知情報を出力する、
情報処理方法。 the computer
Automatically execute multiple operations on the GUI screen displayed on the browser,
GUI information for displaying the GUI screen on the browser when an error occurs during execution of one of the plurality of operations; and GUI element information indicating the GUI element that was the target of the one operation. and get
If the GUI information indicates that the GUI element indicated by the GUI element information is not included in the GUI screen, notify that the change of the GUI element information corresponding to the one operation is the cause of the error. output notification information to
Information processing methods.
前記複数の操作のうち一の操作の実行時にエラーが発生した場合、前記GUI画面を前記ブラウザに表示するためのGUI情報と、前記一の操作の対象であったGUI要素を示すGUI要素情報とを取得し、
前記GUI要素情報が示すGUI要素が前記GUI画面に含まれていないことを前記GUI情報が示す場合、前記一の操作に対応する前記GUI要素情報の変更が前記エラーの発生原因であることを通知する通知情報を出力する、処理部、
を有する情報処理装置。 Automatically execute multiple operations on the GUI screen displayed on the browser,
GUI information for displaying the GUI screen on the browser when an error occurs during execution of one of the plurality of operations; and GUI element information indicating the GUI element that was the target of the one operation. and get
If the GUI information indicates that the GUI element indicated by the GUI element information is not included in the GUI screen, notify that the change of the GUI element information corresponding to the one operation is the cause of the error. a processing unit that outputs notification information to
Information processing device having
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021131652A JP2023026053A (en) | 2021-08-12 | 2021-08-12 | Information processing program, information processing method, and information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021131652A JP2023026053A (en) | 2021-08-12 | 2021-08-12 | Information processing program, information processing method, and information processing apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023026053A true JP2023026053A (en) | 2023-02-24 |
Family
ID=85252195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021131652A Pending JP2023026053A (en) | 2021-08-12 | 2021-08-12 | Information processing program, information processing method, and information processing apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023026053A (en) |
-
2021
- 2021-08-12 JP JP2021131652A patent/JP2023026053A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10853232B2 (en) | Adaptive system for mobile device testing | |
US7139978B2 (en) | Recording user interaction with an application | |
US7421683B2 (en) | Method for the use of information in an auxiliary data system in relation to automated testing of graphical user interface based applications | |
JP6426732B2 (en) | User support experience with automatically generated virtual environment | |
WO2017124808A1 (en) | Fault information reproduction method and reproduction apparatus | |
JP7190834B2 (en) | Apparatus and computer program | |
JP2017084345A (en) | Real-time monitoring of computer system processor and transaction performance during ongoing performance test | |
WO2021129335A1 (en) | Operation monitoring method and apparatus, operation analysis method and apparatus | |
JP7299499B2 (en) | Information processing program, information processing method, and information processing apparatus | |
CN114637448B (en) | Data processing method, device, electronic equipment and storage medium | |
JP6238221B2 (en) | Apparatus, method and program for monitoring execution of software | |
CN112817817B (en) | Buried point information query method, buried point information query device, computer equipment and storage medium | |
JP4896909B2 (en) | Scenario generation apparatus and program | |
JP4681673B1 (en) | Operation verification apparatus, operation verification method, and operation verification program | |
WO2020067531A1 (en) | Help information display system, help information display method, and help information display program | |
JP5758544B2 (en) | Screen information collection computer, screen information collection method, and computer-readable storage medium | |
JP5747751B2 (en) | Regression test support program and regression test support device | |
JP2023026053A (en) | Information processing program, information processing method, and information processing apparatus | |
JP4064621B2 (en) | Software support system and computer-readable recording medium recording support program | |
US20220075492A1 (en) | Detecting paste and other types of user activities in computer environment | |
JP6739599B1 (en) | Information processing program, information processing method, and information processing apparatus | |
JP6512055B2 (en) | Analysis program, analyzer and analysis method | |
JP2019133557A (en) | Error handling support program, error handling support device, and error handling support method | |
JP5898734B2 (en) | Virtual desktop providing system | |
JP2024014066A (en) | Control program, control method and control device |