JP2023026053A - Information processing program, information processing method, and information processing apparatus - Google Patents

Information processing program, information processing method, and information processing apparatus Download PDF

Info

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
Application number
JP2021131652A
Other languages
Japanese (ja)
Inventor
仁紀 工藤
Hitonori Kudo
奨 古賀
Sho Koga
美空 高山
Misora Takayama
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2021131652A priority Critical patent/JP2023026053A/en
Publication of JP2023026053A publication Critical patent/JP2023026053A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

To increase the possibility of identifying a cause of an error in an operation in which the error occurs during automatic operation.SOLUTION: An information processing apparatus 1 automatically executes a plurality of operations on a GUI screen 10a displayed on a browser, acquires GUI information 2 for displaying the GUI screen 10a on the browser and GUI element information 3 indicating a GUI element that was an object of one operation when an error occurs during execution of the one operation of the plurality of operations, and outputs notification information 4 for providing a notification that a change in the GUI element information 3 corresponding to the one operation is a cause of the error when the GUI information 2 indicates that the GUI element indicated by the GUI element information 3 is not included in the GUI screen 10a.SELECTED DRAWING: Figure 1

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.

特開2020-13400号公報Japanese Patent Application Laid-Open No. 2020-13400 特開2010-152429号公報JP 2010-152429 A

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の実施の形態に係る情報処理装置の構成例および処理例を示す図である。1A and 1B are diagrams illustrating a configuration example and a processing example of an information processing apparatus according to a first embodiment; FIG. 第2の実施の形態に係る情報処理システムの構成例を示す図である。It is a figure which shows the structural example of the information processing system which concerns on 2nd Embodiment. ロボット実行端末のハードウェア構成例を示す図である。FIG. 3 is a diagram illustrating an example hardware configuration of a robot execution terminal; ロボット実行端末が備える処理機能の構成例を示す図である。3 is a diagram showing a configuration example of processing functions provided in a robot execution terminal; FIG. RPAロボットが実行される際の処理手順を示すフローチャートの例である。It is an example of a flowchart showing a processing procedure when an RPA robot is executed. エラー処理の手順を示すフローチャートの例である。It is an example of a flow chart showing a procedure of error processing. Webページの表示例およびGUI情報の採取操作例を示す図である。4A and 4B are diagrams showing a display example of a Web page and an example of operation for collecting GUI information; FIG. Webページを表示するためのGUI情報の表示例を示す図である。FIG. 4 is a diagram showing a display example of GUI information for displaying a web page; 操作の実行エラーが発生する第1のケースを示す図である。FIG. 10 illustrates a first case in which an operation execution error occurs; 第1のケースにおけるGUI情報の表示例を示す図である。FIG. 10 is a diagram showing a display example of GUI information in the first case; 操作の実行エラーが発生する第2のケースを示す図である。FIG. 11 illustrates a second case in which an operation execution error occurs; 操作が正常に実行された場合におけるログの登録処理例を示す図である。FIG. 10 is a diagram illustrating an example of log registration processing when an operation is normally executed; 操作の実行エラーが発生した場合におけるログの登録処理例を示す図である。FIG. 11 is a diagram illustrating an example of log registration processing when an operation execution error occurs; Webブラウザの設定情報の採取処理例を示す図である。FIG. 10 is a diagram illustrating an example of processing for collecting setting information of a web browser; サービス提供者側の設定情報を採取する処理の概要を示す図である。FIG. 10 is a diagram showing an overview of processing for collecting setting information on the service provider side; サービス提供者側の設定情報を採取する処理の例を示すシーケンス図である。FIG. 10 is a sequence diagram showing an example of processing for collecting setting information on the service provider side;

以下、本発明の実施の形態について図面を参照して説明する。
〔第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 information processing apparatus 1 shown in FIG. 1 is an apparatus that automatically executes an operation on an operation target. Such automatic execution of operations is performed by, for example, an RPA robot that operates on the information processing apparatus 1 . The information processing apparatus 1 also has a processing section 1a. The processing unit 1a is implemented as, for example, a processor.

処理部1aによる操作手順としては、ブラウザに表示されるGUI画面10に対する次のような操作が事前に設定されているとする。GUI画面10には、操作の対象となるGUI要素として入力部11~13が設けられている。そして、操作手順としては、入力部11に対する所定のデータの入力操作、入力部12に対する所定のデータの入力操作、入力部13に対する所定のデータの入力操作が順に実行される。このような操作手順は、例えば、操作制御情報に記述されている。 It is assumed that the following operation for the GUI screen 10 displayed on the browser is set in advance as an operation procedure by the processing unit 1a. The GUI screen 10 is provided with input sections 11 to 13 as GUI elements to be operated. As an operation procedure, an operation of inputting predetermined data to the input unit 11, an operation of inputting predetermined data to the input unit 12, and an operation of inputting predetermined data to the input unit 13 are sequentially executed. Such an operation procedure is described, for example, in the operation control information.

一方、実際の操作時には、処理部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 GUI screen 10a displayed on the browser based on the same screen designation information as that for the GUI screen 10 (step S1). This GUI screen 10a is provided with an input part 13a in addition to the input parts 11 and 12 similar to the GUI screen 10 as GUI elements. For example, the display state of the input section 13a on the GUI screen 10a is the same as that of the input section 13 on the GUI screen 10, and the data to be input is also the same. However, it is assumed that part of the GUI element information indicating the input section 13 a is different from the GUI element information indicating the input section 13 .

この場合、処理部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 input unit 13 after the data input operation to the input units 11 and 12 is normally completed. Then, the processing unit 1a generates GUI information 2 for displaying on the browser the GUI screen 10a currently being operated and the GUI element (input unit 13) that was the target of the input operation in which the error occurred. Element information 3 is acquired and compared (step S2).

GUI情報2は、例えば、GUI画面10aを表示するためのHTML(Hyper Text Markup Language)データとして取得される。一方、GUI要素情報3は、例えば、GUI画面10を表示するためのHTMLデータのうち、入力部13を示すHTMLデータとして取得される。このようなGUI要素情報3は、例えば、エラー発生時に出力されたエラーメッセージから取得される。あるいは、GUI要素情報3は、操作手順が記述された操作制御情報から取得されてもよい。 The GUI information 2 is obtained, for example, as HTML (Hyper Text Markup Language) data for displaying the GUI screen 10a. On the other hand, the GUI element information 3 is obtained, for example, as HTML data indicating the input section 13 among the HTML data for displaying the GUI screen 10 . Such GUI element information 3 is obtained, for example, from an error message output when an error occurs. Alternatively, the GUI element information 3 may be obtained from operation control information describing operation procedures.

ここで、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 information 2 and the GUI element information 3, it is assumed that the GUI information 2 indicates that the GUI element indicated by the GUI element information 3, that is, the input section 13 is not included in the GUI screen 10a. In this case, it is presumed that the cause of the error is that the GUI element information 3 corresponding to the operation in which the error occurred has been changed. Therefore, the processing unit 1a generates and outputs the notification information 4 notifying that the change of the GUI element information 3 corresponding to the operation in which the error occurred is the cause of the error (step S3). This notification information 4 is sent to the administrator by e-mail, for example.

以上の処理では、操作のエラーが発生すると、その操作の対象であった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 GUI screen 10 and the GUI information corresponding to the GUI screen 10a, it is possible to extract the difference in the GUI element information. However, it is difficult to associate the extracted differences with the operation in which the error occurred. For this reason, analysis of the cause of error occurrence becomes complicated, and even if this analysis is performed manually, it takes a lot of time and effort. On the other hand, according to the present embodiment, it is possible to directly identify the cause of error occurrence for the operation in which the error occurred. Therefore, it is possible to easily and accurately identify the cause of error occurrence.

〔第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 robot execution terminal 100 and an external server 200 . These devices are interconnected via a network 210 .

ロボット実行端末100は、ソフトウェア型のロボットであるRPAロボットが動作する端末装置である。RPAロボットにより、例えば、ロボット実行端末100におけるGUI画面に対する操作が自動的に実行される。このようなRPAロボットの操作により、業務のための操作が自動化される。 The robot execution terminal 100 is a terminal device in which an RPA robot, which is a software type robot, operates. For example, the RPA robot automatically performs an operation on the GUI screen of the robot execution terminal 100 . By operating such an RPA robot, operations for work are automated.

また、ロボット実行端末100で動作するRPAロボットは、操作の実行エラーが発生した場合に、エラー原因の解析に必要となる情報を採取し、採取した情報を電子メールなどによって運用管理者宛てに送信する。特に、RPAロボットは、情報の採取だけでなく、採取した情報を基にエラー原因の一部を特定することも可能になっている。 Also, when an operation execution error occurs, the RPA robot operating on the robot execution terminal 100 collects information necessary for analyzing the cause of the error, and sends the collected information to the operation manager by e-mail or the like. do. In particular, the RPA robot can not only collect information, but also identify part of the cause of the error based on the collected information.

外部サーバ200は、RPAロボットの操作対象となるサービスを提供するサーバ装置の一例である。本実施の形態において、外部サーバ200は、各種のサービスをユーザが利用するためのWebサイトを提供する。この場合、RPAロボットは、外部サーバ200から提供されるWebページのGUIに対する操作を行うことで、サービスを利用して業務を自動実行する。 The external server 200 is an example of a server device that provides a service to be operated by the RPA robot. In this embodiment, the external server 200 provides a website for users to use various services. In this case, the RPA robot uses the service to automatically execute the work by operating the GUI of the web page provided by the external server 200 .

図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 robot execution terminal 100 is implemented as a computer as shown in FIG. 3, for example. The robot execution terminal 100 shown in FIG. A communication interface (I/F) 107 is provided.

プロセッサ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 processor 101 centrally controls the entire robot execution terminal 100 . The processor 101 is, for example, a CPU (Central Processing Unit), MPU (Micro Processing Unit), DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit), or PLD (Programmable Logic Device). Also, the processor 101 may be a combination of two or more of CPU, MPU, DSP, ASIC, and PLD.

RAM102は、ロボット実行端末100の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データが格納される。 A RAM 102 is used as a main storage device of the robot execution terminal 100 . The RAM 102 temporarily stores at least part of an OS (Operating System) program and application programs to be executed by the processor 101 . Various data necessary for processing by the processor 101 are stored in the RAM 102 .

HDD103は、ロボット実行端末100の補助記憶装置として使用される。HDD103には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、SSD(Solid State Drive)などの他の種類の不揮発性記憶装置を使用することもできる。 The HDD 103 is used as an auxiliary storage device for the robot execution terminal 100 . The HDD 103 stores an OS program, application programs, and various data. Other types of non-volatile storage devices such as SSDs (Solid State Drives) can also be used as auxiliary storage devices.

GPU104には、表示装置104aが接続されている。GPU104は、プロセッサ101からの命令にしたがって、画像を表示装置104aに表示させる。表示装置104aとしては、液晶ディスプレイや有機EL(ElectroLuminescence)ディスプレイなどがある。 A display device 104 a is connected to the GPU 104 . The GPU 104 causes the display device 104a to display an image according to instructions from the processor 101 . Examples of the display device 104a include a liquid crystal display and an organic EL (ElectroLuminescence) display.

入力インタフェース105には、入力装置105aが接続されている。入力インタフェース105は、入力装置105aから出力される信号をプロセッサ101に送信する。入力装置105aとしては、キーボードやポインティングデバイスなどがある。ポインティングデバイスとしては、マウス、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。 An input device 105 a is connected to the input interface 105 . The input interface 105 transmits signals output from the input device 105 a to the processor 101 . The input device 105a includes a keyboard, pointing device, and the like. Pointing devices include mice, touch panels, tablets, touch pads, trackballs, and the like.

読み取り装置106には、可搬型記録媒体106aが脱着される。読み取り装置106は、可搬型記録媒体106aに記録されたデータを読み取ってプロセッサ101に送信する。可搬型記録媒体106aとしては、光ディスク、半導体メモリなどがある。 A portable recording medium 106 a is attached to and detached from the reading device 106 . The reading device 106 reads data recorded on the portable recording medium 106 a and transmits the read data to the processor 101 . As the portable recording medium 106a, there are an optical disk, a semiconductor memory, and the like.

通信インタフェース107は、ネットワーク210を介して、外部サーバ200などの他の装置との間でデータの送受信を行う。
以上のようなハードウェア構成によって、ロボット実行端末100の処理機能を実現することができる。なお、外部サーバ200についても、図3に示すようなハードウェア構成を有するコンピュータとして実現可能である。
The communication interface 107 transmits and receives data to and from another device such as the external server 200 via the network 210 .
With the above hardware configuration, the processing functions of the robot execution terminal 100 can be realized. Note that the external server 200 can also be implemented as a computer having a hardware configuration as shown in FIG.

ところで、ロボット実行端末100で動作するRPAロボットは、操作の実行エラーの発生時に、エラー原因の解析に必要となる情報を採取し、採取した情報を運用管理者宛てに送信することが可能になっている。このような処理では、運用管理者側がエラー原因を容易かつ確実に特定できるように、どのような情報を採取するかが重要になる。 By the way, when an operation execution error occurs, the RPA robot operating on the robot execution terminal 100 can collect information necessary for analyzing the cause of the error and send the collected information to the operation manager. ing. In such processing, it is important to collect what kind of information so that the operation manager can easily and reliably identify the cause of the error.

ここで、エラー原因を特定するために、エラー発生時に操作対象としていた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 robot execution terminal 100 collects information for analyzing the cause of the error. At this time, the RPA robot compares the HTML data for displaying the GUI screen with the information indicating the target GUI element of the operation in which the error occurred, and determines whether the cause of the error is the modification of the HTML data. . If the cause of the error cannot be identified by this determination, the RPA robot further collects other information for analysis of the cause of the error. The RPA robot notifies the operation manager of the information indicating the identified cause of the error and the collected information.

図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 robot execution terminal 100 includes a storage unit 110, a robot agent 120 and a web browser .

記憶部110は、RAM102、HDD103など、ロボット実行端末100が備える記憶装置の記憶領域によって実現される。記憶部110には、操作制御情報111とログファイル112が記憶される。 The storage unit 110 is implemented by a storage area of a storage device provided in the robot execution terminal 100, such as the RAM 102 and the HDD 103. FIG. Operation control information 111 and a log file 112 are stored in the storage unit 110 .

操作制御情報111は、自動実行される操作の手順が記述された情報である。操作制御情報111は、各操作に対応する操作情報を含む。各操作情報は、操作対象となるGUI要素を示す情報(GUI要素情報)を含む。Webページの操作が行われる場合、操作情報には、GUI要素情報として、操作対象となるGUI要素を示すHTMLデータが記述される。 The operation control information 111 is information describing the procedure of an operation to be automatically executed. The operation control information 111 includes operation information corresponding to each operation. Each piece of operation information includes information (GUI element information) indicating a GUI element to be operated. When a Web page is operated, the operation information describes HTML data indicating a GUI element to be operated as GUI element information.

ログファイル112は、自動実行された操作のログが記述される情報である。ログファイル112は、RPAロボットによる自動操作が開始されるたびに新規に作成され、記憶部110に格納される。また、作成されたログファイル112には、操作が実行されるたびにログが追加登録される。ログには、操作が正常に実行されたか否かを示す情報が記述される。また、操作の実行エラーが発生し、かつ、エラー原因の可能性があるGUI要素が発見された場合には、そのGUI要素を示す情報もログファイル112に記述される。 The log file 112 is information in which logs of automatically executed operations are described. The log file 112 is newly created and stored in the storage unit 110 each time an automatic operation by the RPA robot is started. A log is additionally registered in the created log file 112 each time an operation is executed. The log describes information indicating whether or not the operation was executed successfully. If an operation execution error occurs and a GUI element that may be the cause of the error is found, information indicating that GUI element is also written in the log file 112 .

ロボットエージェント120およびWebブラウザ130の処理は、プロセッサ101が所定のプログラムを実行することで実現される。
ロボットエージェント120は、操作制御情報111に基づいてRPAロボットの動作を実現する。RPAロボットの実体はロボットエージェント120を実現するエージェントプログラムであり、「RPAロボットの実行」とはそのエージェントプログラムの実行を意味する。
Processing of the robot agent 120 and the web browser 130 is realized by the processor 101 executing a predetermined program.
The robot agent 120 implements the motion of the RPA robot based on the operation control information 111 . The entity of the RPA robot is an agent program that implements the robot agent 120, and "execution of the RPA robot" means execution of the agent program.

このロボットエージェント120は、操作実行部121とエラー処理部122を備える。操作実行部121は、業務のための操作を実行する。エラー処理部122は、操作実行部121による操作の実行エラーが発生した場合に、エラー原因の解析用の情報採取や、採取した情報に基づくエラー原因の特定、運用管理者に対する情報送信などを実行する。 This robot agent 120 comprises an operation executing section 121 and an error processing section 122 . The operation execution unit 121 executes operations for business. When an operation execution error occurs in the operation execution unit 121, the error processing unit 122 collects information for analyzing the cause of the error, identifies the cause of the error based on the collected information, and transmits information to the operation manager. do.

Webブラウザ130は、操作実行部121による直接的な操作対象となる処理機能の1つである。Webブラウザ130は、Webサーバから提供されるWebページを表示し、WebページのGUI要素に対する操作に応じたデータをWebサーバに送信する。本実施の形態では、外部サーバ200がWebサーバとして動作し、外部サーバ200が提供するサービスを利用するためのGUI画面がWebページとしてWebブラウザ130に提供される。そして、外部サーバ200は、このGUI画面に対するRPAロボットの操作に応じて、サービスに対応するWebアプリケーションの処理を実行する。 The web browser 130 is one of processing functions to be directly operated by the operation execution unit 121 . The web browser 130 displays a web page provided by a web server, and transmits data to the web server according to operations on GUI elements of the web page. In this embodiment, the external server 200 operates as a web server, and provides the web browser 130 with a GUI screen as a web page for using the services provided by the external server 200 . Then, the external server 200 executes the processing of the web application corresponding to the service according to the operation of the RPA robot on this GUI screen.

なお、Webブラウザ130は、操作実行部121による操作対象の一例であり、他の処理機能が操作対象になる場合もある。例えば、ロボット実行端末100にインストールされた各種のアプリケーションが操作対象になる場合がある。 Note that the web browser 130 is an example of an operation target by the operation execution unit 121, and other processing functions may be an operation target. For example, various applications installed in the robot execution terminal 100 may be the object of operation.

図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 robot execution terminal 100 to instruct execution of the RPA robot, the robot agent 120 is activated, and the operation execution unit 121 starts executing the RPA robot according to the operation control information 111 . Note that the RPA robot execution instruction may be sent from, for example, an RPA management server (not shown).

[ステップS12]操作実行部121は、操作制御情報111から、次に実行する操作についての操作情報を取得し、取得した操作情報に基づく操作を実行する。
[ステップS13]操作実行部121は、操作が正常に実行されたかを判定する。操作が正常に実行された場合、処理がステップS14に進められる。一方、操作の実行エラーが発生した場合には、操作の自動実行が中断され、処理がステップS15に進められる。
[Step S12] The operation execution unit 121 acquires operation information about an operation to be executed next from the operation control information 111, and executes an operation based on the acquired operation information.
[Step S13] The operation execution unit 121 determines whether the operation has been executed normally. If the operation is successfully performed, the process proceeds to step S14. On the other hand, if an operation execution error occurs, the automatic execution of the operation is interrupted, and the process proceeds to step S15.

[ステップS14]操作実行部121は、RPAロボットの実行を終了するかを判定する。次に実行すべき操作がない場合に、処理終了と判定される。RPAロボットの実行を継続する場合、処理がステップS12に進められ、次の操作に関する処理が実行される。一方、RPAロボットの実行を終了する場合、ロボットエージェント120の処理が終了する。 [Step S14] The operation execution unit 121 determines whether to end the execution of the RPA robot. If there is no operation to be executed next, it is determined that the process is finished. When continuing the execution of the RPA robot, the process proceeds to step S12, and the process for the next operation is executed. On the other hand, when the execution of the RPA robot ends, the processing of the robot agent 120 ends.

[ステップS15]エラー処理部122によるエラー処理が実行される。以下、図6を用いて、エラー処理について説明する。
図6は、エラー処理の手順を示すフローチャートの例である。
[Step S15] Error processing by the error processing unit 122 is executed. Error processing will be described below with reference to FIG.
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 error processing unit 122 determines whether an operation on the web browser 130 has caused an execution error. If an execution error occurs in the operation on the web browser 130, the process proceeds to step S23, and if an execution error occurs in the operation on other operation targets, the process proceeds to step S22.

[ステップS22]エラー処理部122は、実行エラーが発生した操作対象に対してあらかじめ決められた、エラー原因の解析用の情報を採取し、採取した情報を運用管理者宛てに送信する。この情報送信は、例えば、電子メールを用いて行われる。 [Step S22] The error processing unit 122 collects predetermined information for analyzing the cause of the error for the operation target in which the execution error occurred, and transmits the collected information to the operation manager. This information transmission is performed using e-mail, for example.

[ステップS23]エラー処理部122は、エラー原因の解析用の情報として、現在表示されているWebページのGUI画面を表示するためのGUI情報を採取する。このGUI情報としては、Webページを表示させるHTMLデータが採取される。このようなGUI情報の採取は、あらかじめ決められた手順にしたがってRPAロボットが自動操作することで実行される。 [Step S23] The error processing unit 122 collects GUI information for displaying the GUI screen of the currently displayed Web page as information for analyzing the cause of the error. As this GUI information, HTML data for displaying a web page is collected. Such collection of GUI information is performed by automatic operation of the RPA robot according to a predetermined procedure.

[ステップS24]エラー処理部122は、実行エラーが発生した操作についての操作情報を取得する。例えば、エラー処理部122は、実行エラーの発生に伴って出力されたエラーメッセージから、実行エラーが発生した操作についての操作情報を取得する。あるいは、エラー処理部122は、この操作情報を操作制御情報111から取得してもよい。この場合、図5のステップS12で操作制御情報111から取得された情報が用いられてもよい。 [Step S24] The error processing unit 122 acquires operation information about the operation in which the execution error occurred. For example, the error processing unit 122 acquires operation information about the operation in which the execution error occurred, from the error message output in association with the occurrence of the execution error. Alternatively, the error processing unit 122 may acquire this operation information from the operation control information 111 . In this case, the information acquired from the operation control information 111 in step S12 of FIG. 5 may be used.

[ステップS25]エラー処理部122は、ステップS24で取得した操作情報と、ステップS23で採取したGUI情報とを比較する。例えば、エラー処理部122は、操作情報からGUI要素を示すGUI要素情報を抽出し、抽出したGUI要素情報が、採取したGUI情報に含まれているかを判定する。 [Step S25] The error processing unit 122 compares the operation information acquired in step S24 with the GUI information acquired in step S23. For example, the error processing unit 122 extracts GUI element information indicating a GUI element from the operation information, and determines whether the extracted GUI element information is included in the collected GUI information.

[ステップS26]エラー処理部122は、ステップS25での比較結果から、GUI情報の中に変更箇所があるかを判定する。例えば、ステップS23で採取したGUI情報に、ステップS24で取得した操作情報に記述されたGUI要素情報が含まれていない場合に、変更箇所があると判定される。変更箇所がある場合、処理がステップS27に進められ、変更箇所がない場合、処理がステップS28に進められる。 [Step S26] The error processing unit 122 determines whether there is any change in the GUI information based on the comparison result in step S25. For example, if the GUI information collected in step S23 does not include the GUI element information described in the operation information acquired in step S24, it is determined that there is a change. If there is a change, the process proceeds to step S27, and if there is no change, the process proceeds to step S28.

[ステップS27]エラー処理部122は、エラー原因を、GUI情報におけるGUI要素情報の変更と判定する。エラー処理部122は、エラー原因の判定結果と、エラー原因の解析用に採取された採取情報とともに、電子メールなどによって運用管理者宛てに通知する。採取情報としては、例えば、ステップS23で採取されたGUI情報、Webページをキャプチャした画像に変更箇所(例えば、実行エラーが発生したGUI要素の位置)を示した画像のデータなどが通知される。 [Step S27] The error processing unit 122 determines that the cause of the error is a change in GUI element information in the GUI information. The error processing unit 122 notifies the operation manager by e-mail or the like together with the error cause determination result and collected information collected for error cause analysis. As the collected information, for example, the GUI information collected in step S23, the data of the image showing the changed part (for example, the position of the GUI element where the execution error occurred) in the captured image of the Web page, and the like are notified.

ここで、ステップ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 error processing unit 122 may compare the operation information indicating all operations on the web page with the GUI information. Such operation information is extracted from the operation control information 111 as operation information describing (or associated with) the URL (Uniform Resource Locator) of the Web page, for example.

エラー処理部122は、上記の比較により、GUI情報に含まれるGUI要素情報の中に、これらの各操作情報に含まれるGUI要素情報と一致しないものがあるかを判定する。一致しないGUI要素情報がGUI情報から見つかった場合、操作情報に含まれるGUI要素情報が、GUI情報から見つかったGUI要素情報に変更されたことがエラー原因である可能性がある。このため、エラー処理部122はステップS27において、このようなGUI要素情報の変更をエラー原因と判定し、その旨を運用管理者宛てに通知してもよい。 Based on the above comparison, the error processing unit 122 determines whether there is any GUI element information included in the GUI information that does not match the GUI element information included in each piece of operation information. If mismatched GUI element information is found from the GUI information, the error may be caused by changing the GUI element information included in the operation information to the GUI element information found from the GUI information. Therefore, in step S27, the error processing unit 122 may determine that such a change in the GUI element information is the cause of the error, and notify the operation manager accordingly.

[ステップ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 error processing unit 122 collects the setting information of the web browser 130 and notifies the operation manager of the collected information by e-mail or the like.

[ステップ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 Web browser 130 is executed.

なお、ステップ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 operation execution unit 121. As shown in FIG. The web page on this browser screen 140 includes a login area 141 for the user to log into the service. The login area 141 displays, as GUI elements, a user name input section 141a for inputting a user name, a password input section 141b for inputting a password, and a login button 141c for requesting login. .

また、ブラウザ画面140には、設定ボタン142が表示される。設定ボタン142が押下されると、図7の下側に示すようにポップアップ画面143が表示される。ポップアップ画面143には複数の項目が含まれ、その1つとしてGUI情報を表示するための項目143aが含まれている。項目143aに対する選択操作が行われると、現在表示されているWebページに対応するGUI情報(HTMLデータ)が表示される。図8に示す表示画面150は、図7に示したWebページに対応するGUI情報を表示した画面の一例である。 A setting button 142 is also displayed on the browser screen 140 . When the setting button 142 is pressed, a pop-up screen 143 is displayed as shown in the lower part of FIG. The pop-up screen 143 includes a plurality of items, one of which is an item 143a for displaying GUI information. When a selection operation is performed on the item 143a, GUI information (HTML data) corresponding to the currently displayed web page is displayed. A display screen 150 shown in FIG. 8 is an example of a screen displaying GUI information corresponding to the web page shown in FIG.

したがって、図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 error processing unit 122, for example, presses the setting button 142, selects the item 143a in the popup screen 143, and displays the GUI information. The GUI information can be collected by automatically executing a series of operations of causing the screen to be displayed and reading the displayed GUI information. Such a series of operation procedures may be memorized in advance in the RPA robot as an operation procedure when an error occurs in browser operation.

次に、具体的なエラーの発生例について説明する。ここでは例として、操作実行部121は、ユーザ名入力部141aに所定のユーザ名を入力し、パスワード入力部141bに所定のパスワードを入力し、ログインボタン141cを押下する、という一連の操作を自動実行するものとする。 Next, a specific error occurrence example will be described. Here, as an example, the operation execution unit 121 automatically performs a series of operations such as inputting a predetermined user name in the user name input unit 141a, inputting a predetermined password in the password input unit 141b, and pressing the login button 141c. shall be carried out.

図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 login area 141, the login button 141c labeled "login" is changed to a login button 141c1 labeled "login". A display screen 151 shown in FIG. 10 shows GUI information for displaying the changed web page. In this GUI information, when compared with the GUI information shown in FIG. 8, some of the underlined descriptions of the GUI element information regarding the login button are different. Specifically, the set value for "value" is changed from "login" to "login".

ここで、前述のように、操作制御情報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 operation control information 111 includes operation information indicating each operation executed by the RPA robot. When a Web page is operated, the operation information describes HTML data indicating a GUI element to be operated as GUI element information. For example, in RPA software (for example, "UiPath Studio") provided by UiPath, information called "selector" is described as operation information indicating each operation. A selector contains multiple data elements called "nodes". When a web page is to be operated, the data elements include the URL of the web page, HTML data indicating GUI elements, and the like, and the HTML data indicating GUI elements is an example of GUI element information. HTML data representing a GUI element is usually described as the last data element included in the selector.

このようなセレクタが用いられる場合、セレクタの各データ要素に基づいて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 login button 141c) based on the GUI element information before the change.

このとき、エラー処理部122は、現在の操作対象となっているWebページを表示するためのGUI情報を採取するとともに、実行エラーが発生した操作についての操作情報を取得する。そして、エラー処理部122は、取得した操作情報に含まれるGUI要素情報(ここでは、ログインボタン141cを示すGUI要素情報)をキーとして、採取したGUI情報を検索する。採取されたGUI情報には、変更後のログインボタン141c1を示すGUI要素情報が含まれるが、変更前のログインボタン141cを示すGUI要素情報は含まれない。このため、図6のステップS26では変更箇所があると判定され、ステップS27では、ログインボタン141cを示すGUI要素情報の変更が、ログインボタン141cに対する入力操作のエラー発生原因であると特定される。 At this time, the error processing unit 122 acquires GUI information for displaying the Web page that is the current operation target, and also acquires operation information about the operation in which the execution error occurred. Then, the error processing unit 122 searches for the collected GUI information using the GUI element information (here, GUI element information indicating the login button 141c) included in the acquired operation information as a key. The collected GUI information includes GUI element information indicating the login button 141c1 after change, but does not include GUI element information indicating the login button 141c before change. Therefore, in step S26 of FIG. 6, it is determined that there is a change, and in step S27, the change in the GUI element information indicating the login button 141c is identified as the cause of the error in the input operation to the login button 141c.

なお、ここまでの処理では、「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 error processing unit 122 further acquires operation information indicating all operations on the Web page from the operation control information 111, and stores the GUI element information included in each operation information and the GUI information collected in step S23. You can compare. For example, when GUI element information that does not match any of the GUI element information of the operation information is extracted from the GUI element information included in the collected GUI information, the GUI element information indicating the login button 141c is the extracted GUI element information. Presumed to have been replaced with element information.

図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 error processing unit 122 determines that the replacement of the GUI element information indicating the login button 141c with the GUI element information indicating the login button 141c1 is the cause of the error occurrence, and sends a notification to that effect. Information can be sent to the operator.

一方、例えば、採取した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 login button 141c is will have been deleted. In this case, in step S27, the error processing unit 122 can determine that the deletion of the GUI element information indicating the login button 141c is the cause of the error occurrence, and transmit notification information to that effect to the operator.

図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 information display screen 152 shown in FIG. 11 differs from the GUI information shown in FIG. Specifically, the set value for "onclick" is changed from "checkWorkStart (uid)" to "aaa".

この第2のケースでは、Webブラウザ130の表示画面におけるログインボタン141cの表示状態は変化しないにもかかわらず、ログインボタン141cに対応するGUI要素情報の一部が変更されている。このため、操作実行部121が、ログインボタン141cについての変更前のGUI要素情報に基づいて操作を実行したときに、エラーが発生する。 In this second case, part of the GUI element information corresponding to the login button 141c is changed although the display state of the login button 141c on the display screen of the web browser 130 does not change. Therefore, an error occurs when the operation execution unit 121 executes an operation based on the pre-change GUI element information for the login button 141c.

このとき、エラー処理部122は、現在の操作対象となっているWebページを表示するためのGUI情報を採取するとともに、実行エラーが発生した操作についての操作情報を取得する。そして、エラー処理部122は、取得した操作情報に含まれるGUI要素情報(ここでは、ログインボタン141cについての変更前のGUI要素情報)をキーとして、採取したGUI情報を検索する。採取されたGUI情報には、ログインボタン141cについての変更後のGUI要素情報が含まれるが、ログインボタン141cについての変更前のGUI要素情報は含まれない。このため、図6のステップS26では変更箇所があると判定され、ステップS27では、ログインボタン141cを示すGUI要素情報の変更が、ログインボタン141cに対する入力操作のエラー発生原因であると特定される。 At this time, the error processing unit 122 acquires GUI information for displaying the Web page that is the current operation target, and also acquires operation information about the operation in which the execution error occurred. Then, the error processing unit 122 searches for the collected GUI information using, as a key, the GUI element information (here, the GUI element information about the login button 141c before change) included in the acquired operation information. The collected GUI information includes post-change GUI element information about the login button 141c, but does not include pre-change GUI element information about the login button 141c. Therefore, in step S26 of FIG. 6, it is determined that there is a change, and in step S27, the change in the GUI element information indicating the login button 141c is identified as the cause of the error in the input operation to the login button 141c.

また、前述の第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 error processing unit 122 further acquires operation information indicating all operations on the Web page from the operation control information 111, and acquires GUI element information and GUI element information included in each of these pieces of operation information. , may be compared with the GUI information collected in step S23. In the second case, the changed GUI element information about the login button 141c is extracted as GUI element information that does not match any GUI element information of the operation information. Therefore, in step S27, the error processing unit 122 determines that the replacement of the GUI element information indicating the login button 141c with the extracted GUI element information is the cause of the error occurrence, and the notification information to that effect is sent. can be sent to the operator.

エラー処理部122による上記の処理によれば、エラーが発生した操作の対象であったGUI要素を示すGUI要素情報をキーとして、表示中のGUI画面に対応するGUI情報が検索される。そして、このGUI要素情報がGUI情報から見つからなかった場合に、エラーが発生した操作に対応するGUI要素情報の変更が、エラー発生原因であると特定することができる。 According to the above-described processing by the error processing unit 122, GUI information corresponding to the GUI screen being displayed is retrieved using, as a key, the GUI element information indicating the GUI element that was the target of the operation in which the error occurred. Then, when this GUI element information is not found from the GUI information, it is possible to specify that the change of the GUI element information corresponding to the operation in which the error occurred is the cause of the error occurrence.

また、操作制御情報111から取得した、該当Webページに対する全操作の操作情報と、採取したGUI情報とをさらに比較することで、エラー発生原因を、GUI要素情報の置き換えと削除とに切り分けることが可能となる。 Furthermore, by further comparing the operation information of all operations on the relevant web page acquired from the operation control information 111 and the collected GUI information, the cause of error occurrence can be divided into replacement and deletion of GUI element information. It becomes possible.

これらの処理では、特に、エラーが発生した操作についてのエラー発生原因を直接的に特定できる。例えば、操作の実行エラーが発生したときに、変更前の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 error processing unit 122, the cause of the error occurrence can be directly specified for the operation in which the error occurred, so the cause of the error occurrence can be easily and accurately specified.

また、特に上記の第2のケースでは、Webブラウザ130の表示画面におけるログインボタン141cの表示状態は変化しないにもかかわらず、ログインボタン141cに対応するGUI要素情報の一部が変更されている。このようなケースでは、例えば、現在のWebページの表示画面の画像をキャプチャし、キャプチャされた画像を参照するだけでは、エラー発生原因を特定することができない。これに対して、エラー処理部122による上記処理によれば、GUI要素情報の比較が行われることで、エラー発生原因を特定することが可能になる。 Moreover, in the above second case in particular, although the display state of the login button 141c on the display screen of the web browser 130 does not change, part of the GUI element information corresponding to the login button 141c is changed. In such a case, for example, it is not possible to identify the cause of the error simply by capturing an image of the current web page display screen and referring to the captured image. On the other hand, according to the processing by the error processing unit 122, it is possible to specify the cause of the error by comparing the GUI element information.

次に、ログファイル112に対するログの登録について説明する。
図12は、操作が正常に実行された場合におけるログの登録処理例を示す図である。また、図13は、操作の実行エラーが発生した場合におけるログの登録処理例を示す図である。なお、前述のように、ログファイル112は、一連の操作が実行されるたびに個別に作成される。ここでは、図12に示すログファイル112aが作成されて、対応する一連の操作が実行された後、図13に示すログファイル112bが作成されて、対応する一連の操作の実行が開始されるケースを示す。
Next, registration of logs in the log file 112 will be described.
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 log file 112 is individually created each time a series of operations are executed. Here, after the log file 112a shown in FIG. 12 is created and the corresponding series of operations are executed, the log file 112b shown in FIG. 13 is created and the execution of the corresponding series of operations is started. indicates

ログファイル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 web browser 130, a URL indicating the web page is registered in the operation target item. The operation content indicates the content of the operation performed on the operation target (for example, click operation, write operation, read operation, etc.).

過去情報は、エラーが発生していないときに取得した、操作対象の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 browser screen 140 shown in FIG. For example, when the operation of pressing (clicking) the login button 141c is normally executed, a record 112a1 is registered in the log file 112a. In the record 112a1, 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. Further, if no error occurred during the previous operation, GUI element information (HTML data) indicating the GUI element (login button 141c) to be operated is registered as past information (described as "login" in FIG. 12). simplified) and the date of the previous operation are registered. Information indicating that there was no previous error is registered in the error presence/absence item. On the other hand, if this is the first operation, the GUI element information acquired this time is registered as the past information, and the item of the previous operation date becomes null (NULL). Information indicating that there was no previous error is registered in the error presence/absence item. It should be noted that if no error has occurred in this operation, no data (NULL) is displayed in the fields of error date and time and change location.

次に、図13では、図12のWebページにおけるログイン領域141が、図9の下側に示すように変更された場合を示す。すなわち、ログイン領域141のログインボタン141cがログインボタン141c1に変更されている。そして、変更前のログインボタン141cを示すGUI要素情報に基づいて操作を実行したときに、エラーが発生したとする。 Next, FIG. 13 shows a case where the login area 141 in the web page of FIG. 12 is changed as shown in the lower part of FIG. That is, the login button 141c of the login area 141 is changed to the login button 141c1. Assume that an error occurs when an operation is performed based on the GUI element information indicating the login button 141c before change.

この場合、まず、ログファイル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 (login button 141c) to be operated is registered as past information (the description is simplified as "login" in FIG. 13), and the previous operation date is registered. be registered. It should be noted that the GUI element information registered in the past information indicates the GUI element that was the target of the operation in which the execution error occurred. Information indicating that there was no previous error is registered in the error presence/absence item.

また、エラー日時として現在の日時が登録される。エラー日時が登録されることで、今回の操作でエラーが発生したことが識別される。変更箇所の項目には、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 login button 141c is changed to the login button 141c1 as shown in FIG. 13, GUI operation information (HTML data) indicating the login button 141c1 after the change is registered in the changed item ("login button 141c1" in FIG. 13). ” for simplification). On the other hand, for example, if the original login button 141c is simply deleted, the item of the changed portion becomes null (null).

このようなエラーが検出された場合、図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 error processing unit 122, for example, captures an image of the web page in which the changed position of the login button 141c1 is specified, and stores the captured image and the GUI information of the web page together with the notification information of the cause of the error. It may be sent to the operations manager. In FIG. 13, a dotted rectangle 144a is drawn so as to surround the login button 141c1 in order to clearly indicate the changed position of the login button 141c1.

このような情報が運用管理者宛てに送信されることで、運用管理者は、エラーが発生した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 reset button 141d is added to the login area 141. As shown in FIG. The reset button 141d is a button for resetting (erasing) the information entered in the user name input section 141a and the password input section 141b. When the error processing unit 122 detects the reset button 141d as the added GUI element, a record 112b2 is further registered in the log file 112b. In the record 112b2, only the operation ID, operation target, error date and time, and changed portion are registered. GUI element information (HTML data) indicating the added reset button 141d is registered in the change location item (the description is simplified as "reset" in FIG. 13).

また、このようにリセットボタン141dの追加が検知された場合、Webページをキャプチャした画像には、リセットボタン141dが追加された位置が明示されてもよい。図13では、リセットボタン141dの位置を明示するために、リセットボタン141d1を囲むように点線の矩形144bが描画されている。 Further, when the addition of the reset button 141d is detected in this way, the position where the reset button 141d is added may be clearly indicated in the captured image of the web page. In FIG. 13, in order to clarify the position of the reset button 141d, a dotted rectangle 144b is drawn so as to surround the reset button 141d1.

次に、図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 browser 130 is collected as information for verifying the cause of error occurrence. In this collection process, for example, the setting button 142 on the browser screen 140 is pressed, and a pop-up screen 143 is displayed in response to this pressing. As described above, the pop-up screen 143 includes a plurality of items, one of which is an item 143b for making detailed settings for the web browser 130 . When a selection operation is performed on the item 143b, a setting screen for performing detailed settings for the web browser 130 is displayed.

図示しないが、設定画面には、複数の項目のそれぞれに対する設定情報の入力部、または設定情報の表示部が表示される。入力部には、すでに設定されている情報が表示され、これを変更することで設定情報を変更できるようになっている。入力部に対応する項目としては、例えば、表示設定に関する項目、セキュリティ設定に関する項目、プラグインソフトウェアに関する項目などがある。表示部に対応する項目としては、例えば、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 web browser 130 .

ステップS28において、エラー処理部122は例えば、設定ボタン142を押下し、ポップアップ画面143内の項目143bを選択して設定画面を表示させ、設定項目内の各項目の設定情報を順に読み込む、という一連の操作を自動実行することで、Webブラウザ130の設定情報を採取することができる。このような一連の操作手順は、ブラウザ操作においてエラーが発生した場合の操作手順として、RPAロボットにあらかじめ覚え込ませておけばよい。 In step S28, for example, the error processing unit 122 presses the setting button 142, selects the item 143b in the pop-up screen 143 to display the setting screen, and sequentially reads the setting information of each item in the setting item. By automatically executing the operation of , the setting information of the web browser 130 can be collected. Such a series of operation procedures may be memorized in advance in the RPA robot as an operation procedure when an error occurs in browser operation.

エラー処理部122は、このようにして採取されたWebブラウザ130の設定情報を、運用管理者宛てに送信する。RPAロボットによる操作の実行エラーは、Webブラウザ130の設定変更によって発生する場合がある。運用管理者は、受信した情報を解析することで、Webブラウザ130の設定変更がエラー発生原因であるかを判断することができるようになる。 The error processing unit 122 transmits the setting information of the Web browser 130 thus collected to the operation manager. An operation execution error by the RPA robot may occur due to a change in the settings of the web browser 130 . By analyzing the received information, the operation manager can determine whether the change in the setting of the web browser 130 is the cause of the error.

次に、図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 browser 130 is collected as information for verifying the cause of error occurrence. Such setting information may not be collected from the robot execution terminal 100 in some cases.

例えば、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 robot execution terminal 100 in the same in-house can collect the setting information regarding this web application and web server. However, when a web application is provided from outside the company, for example, there are cases where setting information about the web application or web server can be accessed only from limited management devices. As an example, a web application may be provided as an external cloud service.

このようなサービス形態がとられている場合、ロボット実行端末100のエラー処理部122は、外部サーバ200が提供しているWebアプリケーション201の設定情報にアクセス可能な管理装置230に対して、この設定情報の採取を依頼する。図15の例では、このような設定情報を採取するためのRPAロボットである情報採取ロボット231を、管理装置230に配備する。 When such a service form is adopted, the error processing unit 122 of the robot execution terminal 100 sends the setting information of the web application 201 provided by the external server 200 to the management device 230 that can access the setting information. Request information collection. In the example of FIG. 15, an information collecting robot 231, which is an RPA robot for collecting such setting information, is deployed in the management device 230. FIG.

エラー処理部122は、Webブラウザ130を介したWebアプリケーション201に対する操作時にエラーが発生した場合、前述した処理によってエラー原因の特定や情報採取を行い、エラー原因を示す情報や採取した情報を運用管理者241宛てに送信する。また、エラー原因が特定できなかった場合、エラー処理部122は、管理装置230に対して情報採取ロボット231の実行を指示する。 When an error occurs during operation of the web application 201 via the web browser 130, the error processing unit 122 identifies the cause of the error and collects information through the above-described processing, and manages the information indicating the cause of the error and the collected information. 241. Further, when the cause of the error cannot be specified, the error processing unit 122 instructs the management device 230 to execute the information collection robot 231 .

管理装置230は、実行指示に応じて情報採取ロボット231の実行を開始する。管理装置230は、例えば、外部サーバ200の各種の情報にアクセスするための管理者アカウント情報を保持している。情報採取ロボット231は、この管理者アカウント情報を用いて外部サーバ200にアクセスし、あらかじめ決められた、Webアプリケーション201についての設定情報を採取する。情報採取ロボット231は、採取した設定情報を、例えば電子メールなどを用いて運用管理者241に送信する。 The management device 230 starts executing the information gathering robot 231 in response to the execution instruction. The management device 230 holds administrator account information for accessing various information of the external server 200, for example. The information collection robot 231 accesses the external server 200 using this administrator account information and collects predetermined setting information about the web application 201 . The information collection robot 231 transmits the collected setting information to the operation manager 241 using e-mail, for example.

このように、ロボット実行端末100がWebアプリケーション201についての設定情報にアクセスする権限を有さない場合でも、その権限を有する管理装置230に情報採取を依頼することで、設定情報を採取し、エラー原因を特定するための情報として運用管理者241に通知することができる。 As described above, even if the robot execution terminal 100 does not have the authority to access the setting information about the web application 201, the setting information can be collected by requesting the management device 230 having the authority to collect the information, and the error can be corrected. The operation manager 241 can be notified as information for identifying the cause.

図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 error processing unit 122 of the robot execution terminal 100 determines whether the setting information on the service provider side is accessible (step S31). Here, if access is possible, the error processing unit 122 collects setting information about the service from the service provider's server (for example, the current connection destination server via the Web browser 130). The error processing unit 122 transmits the collected setting information to the operation manager (step S32).

一方、ステップ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 error processing unit 122 instructs the management device 230 to execute the information collection robot 231 (step S33). The management device 230 starts executing the information collecting robot 231 in response to the execution instruction (step S34). The information collection robot 231 collects setting information about the service from the server of the service provider side, and transmits the collected setting information to the operation manager (step S35).

ステップ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 information processing device 1, the robot execution terminal 100, and the external server 200) described in each of the above embodiments can be realized by a computer. In that case, a program describing the processing contents of the functions that each device should have is provided, and the above processing functions are realized on the computer by executing the program on the computer. A program describing the processing content can be recorded in a computer-readable recording medium. Computer-readable recording media include magnetic storage devices, optical disks, semiconductor memories, and the like. Magnetic storage devices include hard disk drives (HDD) and magnetic tapes. Optical discs include CDs (Compact Discs), DVDs (Digital Versatile Discs), Blu-ray Discs (BD, registered trademark), and the like.

プログラムを流通させる場合には、例えば、そのプログラムが記録された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 1a processing unit 2 GUI information 3 GUI element information 4 notification information 10, 10a GUI screens 11 to 13, 13a input unit S1 to S3 steps

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.
前記GUI要素情報の取得では、前記エラーの発生を示すエラーメッセージから前記GUI要素情報を取得する、
請求項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.
前記GUI要素情報の取得では、前記複数の操作の操作手順が記述された制御情報から前記GUI要素情報を取得する、
請求項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.
前記設定情報の取得は、前記GUI要素情報が示すGUI要素が前記GUI画面に含まれていることを前記GUI情報が示す場合に実行される、
請求項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.
前記取得処理は、前記GUI要素情報が示すGUI要素が前記GUI画面に含まれていることを前記GUI情報が示す場合に実行される、
請求項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情報が示す場合、前記一の操作に対応する前記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
JP2021131652A 2021-08-12 2021-08-12 Information processing program, information processing method, and information processing apparatus Pending JP2023026053A (en)

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)

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