JP4381436B2 - Scenario generation device and scenario generation program - Google Patents
Scenario generation device and scenario generation program Download PDFInfo
- Publication number
- JP4381436B2 JP4381436B2 JP2007196422A JP2007196422A JP4381436B2 JP 4381436 B2 JP4381436 B2 JP 4381436B2 JP 2007196422 A JP2007196422 A JP 2007196422A JP 2007196422 A JP2007196422 A JP 2007196422A JP 4381436 B2 JP4381436 B2 JP 4381436B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- screen
- target object
- unit
- event
- 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.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Description
本発明は、コンピュータシステムの負荷試験に適用して好適なシナリオを生成するシナリオ生成装置およびシナリオ生成プログラムに関する。 The present invention relates to a scenario generation apparatus and a scenario generation program that generate a suitable scenario by applying it to a load test of a computer system.
情報システムに対して、多量の処理要求が発生すると、情報システムに対する負荷が高くなる。この状況において、情報システムが示す性能は極めて重要である。すなわち情報システムがどれだけの負荷に耐えられるか、また、多量の負荷が発生しているときにどれだけの優れたレスポンスタイムを実現するかは、その情報システムの利用者にとっては重要な問題である。 When a large amount of processing requests are generated for the information system, the load on the information system increases. In this situation, the performance of the information system is extremely important. In other words, how much load an information system can withstand, and how good the response time is when a large amount of load is generated, is an important issue for users of the information system. is there.
情報システムを開発、運用する際に、この高負荷時の特性を測定、検証するために、擬似的に多量の負荷を発生させ、情報システムの性能を計測するような、負荷試験が行われることが多い。この種の負荷試験においては、特許文献1に示されるように、情報端末に相当するマシンから擬似的に多量の処理要求を情報システムに対して発生させるという手法をとることが一般的である。この情報端末に相当するマシンには、負荷試験プログラムをインストールすることによって、負荷を発生することが多い。この負荷試験プログラムは、人間が情報端末を操作するときと同様の処理要求を情報端末から発生させる。 When developing and operating an information system, a load test must be performed to measure and verify the performance of the information system in order to measure and verify the characteristics at high loads. There are many. In this type of load test, as shown in Patent Document 1, it is common to take a technique of generating a large amount of processing requests to an information system in a pseudo manner from a machine corresponding to an information terminal. A machine corresponding to this information terminal often generates a load by installing a load test program. This load test program generates the same processing request from the information terminal as when a human operates the information terminal.
負荷試験プログラムを実現するには、いくつかの方法がある。その中で、比較的広く普及しているのは、クライアントソフトウェアからサーバへ送られるメッセージを記録しておき、この記録したメッセージを負荷発生ツールからサーバに向けて擬似的に繰り返し発生させる方式である。しかしながら、この方式では、メッセージ内容が毎回変化するような複雑なシステムの場合に、クライアントソフトウェアと同じようにメッセージ内容を変えるための機構を負荷発生ツールにおいて実現する必要がある。状況によっては、これが非常に複雑で困難な場合があり、多大な労力を要する。さらにメッセージ内容の変化のし方を理解するためには、クライアントソフトウェアの内部の動きを理解する必要がある場合もあり、そのようなときには、負荷試験を実施する実施者に対して高度なスキルが要求されるため、負荷試験を行う人材確保に問題がある。 There are several ways to implement a load test program. Among them, a relatively widespread method is to record a message sent from the client software to the server and generate the recorded message from the load generation tool to the server repeatedly in a pseudo manner. . However, in this system, in the case of a complicated system in which the message contents change every time, it is necessary to implement a mechanism for changing the message contents in the load generation tool in the same way as the client software. In some situations, this can be very complex and difficult and requires a lot of effort. In addition, in order to understand how the message contents change, it may be necessary to understand the internal behavior of the client software. Because it is required, there is a problem in securing human resources for load testing.
一方、別の実現方法として、クライアントソフトウェアの画面の自動操作によって負荷を発生する方法が考えられる。これは、情報端末においてクライアントソフトウェアを起動しておき、そのクライアントソフトウェアに対して、人間が行うのと同様の操作を、負荷試験ツールが擬似的に実行することによって、クライアントソフトウェアを動作させ、その結果として、クライアントソフトウェアから情報システムのサーバに対して処理要求を発生させる、という方法である。このときに、クライアントソフトウェアの画面遷移に応じて、ボタンなどの所定の操作対象に、マウスやキーボードからの入力イベント(操作イベント)が投入される。この一連の擬似的動作実行の内容は、あらかじめ操作シナリオの形で定義されている。この方式では、サーバへ送られるメッセージを生成するために、クライアントソフトウェア内部に実装されている機構をそのまま利用するため、前述のようなメッセージ内容を毎回変化させるための機構を別途作成する必要がない。さらにクライアントソフトウェアの操作方法を理解した者であれば上記操作シナリオを作成することが可能であり、高度なスキルを要求しない。 On the other hand, as another realization method, a method of generating a load by automatic operation of a screen of client software can be considered. This is because the client software is activated in the information terminal, and the client software is operated by the load test tool performing a pseudo operation similar to that performed by humans on the client software. As a result, a processing request is generated from the client software to the server of the information system. At this time, an input event (operation event) from a mouse or a keyboard is input to a predetermined operation target such as a button in accordance with the screen transition of the client software. The contents of this series of pseudo action executions are defined in the form of operation scenarios in advance. In this method, since the mechanism implemented in the client software is used as it is to generate a message to be sent to the server, it is not necessary to create a separate mechanism for changing the message contents as described above. . Furthermore, anyone who understands how to operate the client software can create the above operation scenario and does not require advanced skills.
この画面自動操作による負荷発生方式においては、情報端末上のウィンドウ内で表示されるボタンやテキストボックスのようなオブジェクトを操作対象とする。このオブジェクトに所定の操作を投入する場合には、いくつかの実現方法が考えられる。その一つの方法は、画面を構成しているソフトウェアの構造を理解し、画面上のオブジェクトを上記ソフトウェアが管理している仕組みを明らかにすることによって、画面内のオブジェクトをソフトウェアが特定するために用いているIDを明確にし、そのIDと、そこに投入するイベントの種別を、操作シナリオに記述しておく。実行時には、オブジェクトのIDに基づいて、そのオブジェクトに対してマウスのクリックイベントなどを投入する。しかしながらこの方法は、ソフトウェアのオブジェクトの管理方法が変わると、オブジェクトの特定の仕方や表示位置の特定の方法も変化することになり、個々のソフトウェアのオブジェクトの管理方法に対応させて負荷試験プログラムを開発しなければならないことから多大のコストが発生するという問題がある。 In this load generation method by automatic screen operation, an object such as a button or a text box displayed in a window on the information terminal is set as an operation target. When a predetermined operation is input to this object, several realization methods can be considered. One way is to understand the structure of the software that makes up the screen and clarify the mechanism by which the software manages the objects on the screen, so that the software can identify the objects on the screen. The ID being used is clarified, and the ID and the type of event to be input there are described in the operation scenario. At the time of execution, a mouse click event or the like is input to the object based on the object ID. However, in this method, when the software object management method changes, the object specification method and the display position specification method also change, and the load test program can be changed according to the individual software object management method. There is a problem that a great deal of cost is generated because it must be developed.
一方、画面上のオブジェクトを、あらかじめ取得しておいた画像情報と比較することによって、画面上でのオブジェクトの表示位置を特定し、そのオブジェクトの表示位置までマウスを移動してクリックなどの操作に相当するイベントを発生させるという画面操作方式が考えられる。この方式ならば、オブジェクトの外見(形状、色、等)に基づいてオブジェクトを特定するために、ウィンドウのオブジェクト管理方式に対応して個々に対応方式を準備する必要が無いという利点がある。 On the other hand, by comparing the object on the screen with the image information acquired in advance, the display position of the object on the screen is specified, and the mouse can be moved to the display position of the object to perform operations such as clicking. A screen operation method in which a corresponding event is generated can be considered. This method has an advantage that it is not necessary to prepare a corresponding method individually corresponding to the object management method of the window in order to identify the object based on the appearance (shape, color, etc.) of the object.
このような方式でソフトウェアの画面に対して擬似的動作の実行を行うソフトウェアの例として、非特許文献1に示すようなフリーソフトウェアとして公開されているAutoMouseがある。
しかしながら、上記したような画面操作方式を種々の画面を持つクライアントソフトウェアに適応し、効率的に利用するには、上記操作シナリオを作成するための労力が大きいという課題が有った。すなわち従来の方式では、情報端末(PC)の画面のスナップショットとしての画像情報を取得し、特殊なエディタを用いて、その中から操作対象となる画像の一部を指定し、その操作対象に対して、マウスやキーボードからどのような入力イベントを投入すべきかを定義する必要があった。複数の操作画面を順次切り替えるタイプのクライアントソフトウェアについて、このような手順で操作シナリオを作成するのには多くの労力が必要となり、作業効率を著しく低下させる要因となっていた。 However, in order to adapt the above-described screen operation method to client software having various screens and use it efficiently, there is a problem that the labor for creating the operation scenario is large. That is, in the conventional method, image information as a snapshot of the screen of the information terminal (PC) is acquired, and a special editor is used to specify a part of the image to be operated, and the operation target is designated as the operation target. On the other hand, it was necessary to define what input event should be input from the mouse or keyboard. For client software of a type that sequentially switches a plurality of operation screens, it takes a lot of labor to create an operation scenario in such a procedure, which has been a factor of remarkably reducing work efficiency.
本発明は上記実情に鑑みなされたもので、操作画面の表示を伴うアプリケーションプログラムを対象とした操作シナリオの作成作業を省力化でき、負荷試験の作業効率を向上できるシナリオ生成システムを提供することを目的とする。 The present invention has been made in view of the above circumstances, and provides a scenario generation system that can save labor for creating an operation scenario for an application program that involves display of an operation screen and can improve the work efficiency of a load test. Objective.
本発明は、操作画面の表示を伴うアプリケーションプログラムを対象に、前記操作画面内の操作対象となるオブジェクトに対して操作イベントを発生する手順を記述した操作シナリオを生成するシナリオ生成装置であって、前記操作画面上の操作に伴い発生するイベント情報を採取し記録するイベント情報取得手段と、前記操作画面上の全体または一部画像を採取し記録するとともに、前記画像の座標値と前記イベント情報に含まれる操作対象オブジェクトの位置座標とをもとに前記操作画面から前記操作対象オブジェクトの画像を抽出し記録する画像取得手段と、前記イベント情報取得手段が取得したイベント情報と前記画像取得手段が取得した画像情報とをもとに前記操作シナリオを生成するシナリオ生成手段とを具備し、前記画像取得手段は、前記抽出した画像が、前記操作画面から前記操作対象オブジェクトとして一意に特定できる抽出範囲の画像であるか否かを判定する判定手段と、前記判定手段において前記抽出画像が前記操作画面から前記操作対象オブジェクトとして一意に特定できる抽出範囲の画像でないと判定したとき、前記抽出画像の抽出範囲を変更して、前記操作画面から前記操作対象オブジェクトの画像を再度抽出する画像抽出再処理手段と、を具備したことを特徴とする。 The present invention is a scenario generation device that generates an operation scenario that describes a procedure for generating an operation event for an object to be operated in the operation screen for an application program that includes display of the operation screen. an event information acquisition unit configured to collect the event information recording generated with the operation on the operation screen, the whole or with a part image taken recorded on the operation screen, the event information and the coordinate values of the image Image acquisition means for extracting and recording an image of the operation target object from the operation screen based on the position coordinates of the operation target object included, event information acquired by the event information acquisition means, and acquisition by the image acquisition means ; and a scenario generation unit for generating the said operation scenario and image information on the basis of the image acquisition The stage includes a determination unit that determines whether or not the extracted image is an image in an extraction range that can be uniquely specified as the operation target object from the operation screen, and the extracted image is extracted from the operation screen in the determination unit. Image extraction reprocessing means for changing the extraction range of the extracted image and re-extracting the image of the operation target object from the operation screen when it is determined that the image is not an image of the extraction range that can be uniquely specified as the operation target object; It is characterized by comprising .
また、本発明は、操作画面の表示を伴うアプリケーションプログラムを対象に、前記操作画面内の操作対象となるオブジェクトに対してイベントを発生する手順を記述した操作シナリオを生成するシナリオ生成装置であるコンピュータに、前記操作画面上の操作に伴い発生するイベント情報を採取し記録するイベント情報取得機能と、前記操作画面上の全体または一部画像を採取し記録するとともに、前記画像の座標値と前記イベント情報に含まれる操作対象オブジェクトの位置座標とをもとに前記操作画面から前記操作対象オブジェクトの画像を抽出し記録する画像取得機能と、前記イベント情報取得機能が取得したイベント情報と前記画像取得手段が取得した画像情報とをもとに前記操作シナリオを生成するシナリオ生成機能とを実現させ、前記画像取得機能は、前記抽出した画像が、前記操作画面から前記操作対象オブジェクトとして一意に特定できる抽出範囲の画像であるか否かを判定する判定機能と、前記判定機能において前記抽出画像が前記操作画面から前記操作対象オブジェクトとして一意に特定できる抽出範囲の画像でないと判定したとき、前記抽出画像の抽出範囲を変更して、前記操作画面から前記操作対象オブジェクトの画像を再度抽出する画像抽出再処理機能と、を実現させるためのシナリオ生成プログラムを特徴とする。 Further, the present invention is a scenario generation device that generates an operation scenario that describes a procedure for generating an event for an object to be operated in the operation screen for an application program that involves display of the operation screen. In addition, an event information acquisition function for collecting and recording event information generated in response to an operation on the operation screen, and collecting and recording all or a part of the image on the operation screen, and the coordinate value of the image and the event An image acquisition function for extracting and recording an image of the operation target object from the operation screen based on the position coordinates of the operation target object included in the information, event information acquired by the event information acquisition function, and the image acquisition means A scenario generation function that generates the operation scenario based on image information acquired by The image acquisition function includes: a determination function that determines whether or not the extracted image is an image in an extraction range that can be uniquely specified as the operation target object from the operation screen; and Image extraction for changing the extraction range of the extracted image and extracting the image of the operation target object again from the operation screen when it is determined that the image is not an image of the extraction range that can be uniquely specified as the operation target object from the operation screen It features a scenario generation program for realizing a reprocessing function.
本発明によれば、操作画面の表示を伴うアプリケーションプログラムを対象とした操作シナリオの作成作業を省力化でき、負荷試験の作業効率を向上できる。 According to the present invention, it is possible to save labor for creating an operation scenario for an application program accompanied by display of an operation screen, and to improve the work efficiency of a load test.
以下図面を参照して本発明の実施形態を説明する。 Embodiments of the present invention will be described below with reference to the drawings.
先ず図1乃至図11を参照して本発明の第1実施形態を説明する。
図1は、負荷試験を行うシステム全体の構成を示すブロック図であり、負荷を発生するクライアント側の複数の情報端末(PC)1,1,…と、負荷試験の対象となるサーバ2とにより構成される。クライアント側の複数の情報端末(PC)1,1,…には、それぞれサーバ2に対して処理要求を行う負荷発生システム10およびクライアントアプリケーション20を単位負荷発生源とする負荷発生手段が設けられる。
First, a first embodiment of the present invention will be described with reference to FIGS.
FIG. 1 is a block diagram showing the configuration of the entire system for performing a load test, and includes a plurality of information terminals (PCs) 1, 1,... On the client side that generate a load and a
負荷試験においては、クライアント側の複数の情報端末(PC)1,1,…に設けられた負荷発生手段から、サーバ2に対し、多量の処理要求を加えることによって、サーバ2の負荷時におけるリソース(CPU等)利用率や、処理要求に対するレスポンスタイム等を測定する。
In the load test, by adding a large amount of processing requests to the
上記図1に示す負荷発生システム10の構成を図2に示す。
負荷発生システム10は、クライアントアプリケーション20に対して、人間が操作するのと同等に、マウスイベントやキーボードイベントを発生させることによって、画面操作を行う。これによって、クライアントアプリケーション20は、負荷発生システム10に対して処理要求を発行する。
The configuration of the
The
負荷発生システム10は、図2に示すように、制御部11と、画面遷移判定部12と、対象オブジェクト特定部13と、操作イベント発生部14と、画像情報取得部15とを具備する。
As illustrated in FIG. 2, the
図2に示す負荷発生システム10において、制御部11は、操作実行制御部111と、シナリオ格納部に格納された操作シナリオ112とを具備する。
In the
制御部11に設けられた操作実行制御部111は、操作シナリオ112の記述内容に従い、画面遷移判定部12、対象オブジェクト特定部13、および操作イベント発生部14を制御する。操作シナリオ112は、画面上の操作により負荷発生システム10に実行させる一連の画面操作の内容を定義したものである。
The operation
制御部11に設けられた操作実行制御部111は、画面遷移判定部12に対して画面遷移判定要求213を発行し、画面遷移判定部12から画面遷移判定応答221を受け付ける機能と、対象オブジェクト特定部13に対して操作対象オブジェクト特定要求211を発行し、対象オブジェクト特定部13から操作対象オブジェクト特定応答222を受け付ける機能と、操作イベント発生部14に対してイベント発生要求212を発行し、操作イベント発生部14からイベント発生応答223を受け付ける機能を具備する。
The operation
画面遷移判定部12は、操作実行制御部111から受けた画面遷移判定要求213に従い画像情報取得部15に対して画面情報取得要求215を発行し、画像情報取得部15から画像情報取得応答225を受け付けて、画面遷移判定応答221を操作実行制御部111に送出する機能を具備する。
The screen
対象オブジェクト特定部13は、操作実行制御部111から受けた操作対象オブジェクト特定要求211に従い画像情報取得部15に対して画面情報取得要求216を発行し、画像情報取得部15から画像情報取得応答226を受け付けて、操作対象オブジェクト特定応答222を操作実行制御部111に送出する機能を具備する。
The target
操作イベント発生部14は、操作実行制御部111から受けたイベント発生要求212に従いクライアントアプリケーション20に対してイベント201を発行し、イベント発生応答223を操作実行制御部111に送出する機能を具備する。クライアントアプリケーション20は操作イベント発生部14から受けたイベント201に従う処理要求202をサーバ2に送出する。
The operation
画像情報取得部15は、画面遷移判定部12から受けた画面情報取得要求215に従いクライアントアプリケーション20から画像情報203を取得し、画像情報取得応答225を画面遷移判定部12に送出する機能と、対象オブジェクト特定部13から受けた画面情報取得要求216に従いクライアントアプリケーション20から画像情報203を取得し、画像情報取得応答226を対象オブジェクト特定部13に送出する機能とを具備する。
The image
なお、操作対象オブジェクト特定要求211、画面遷移判定要求213、画像情報取得応答225,226には、それぞれクライアントアプリケーション20の操作画面に含まれるビットマップイメージ(拡張子bmpのファイル)の画像情報が付随する。ただし、ビットマップイメージには限定されず、他の形式のイメージファイルであっても構わない。
The operation target
上記図2に示す対象オブジェクト特定部13の構成を図3に示す。
The configuration of the target
対象オブジェクト特定部13は、図3に示すように、対象オブジェクト特定制御部131と、画像比較部133とを具備する。
As illustrated in FIG. 3, the target
対象オブジェクト特定制御部131は、操作実行制御部111から受けた操作対象オブジェクト特定要求211に従い、当該要求211に付随するビットマップイメージの画像情報を画像比較部133に送出するとともに、画面情報取得要求216を画像情報取得部15に送出して、画像情報取得部15から画像情報取得応答226に付随するビットマップイメージの画像情報を取得し、上記各画像情報を画像比較部133に供給する処理機能を実現する。
In accordance with the operation target
画像比較部133は、クライアントアプリケーション20の操作画面の画面情報の中から、上記操作対象オブジェクト特定要求211が指定したビットマップイメージと合致する部分を探索する。探索の結果、合致する部分が見つかった場合には、対象オブジェクト特定制御部131に探索結果通知を送出する。探索結果通知には、画面情報内での上記ビットマップイメージと合致した部分の座標情報を含む。なお、ここで言う「合致」は、ビットマップイメージを構成する全てのピクセルが完全に一致することであってもよいし、完全ではないが指定された基準以上に一致することであってもよい。例えば、予め指定された値以上の割合で、ピクセルの色の情報が一致していることを条件に「合致」を定義してもよい。
The
ここで、クライアントアプリケーション20に於ける操作画面の具体例を挙げて、上記負荷発生システム10の動作について、図4乃至図11を参照して説明する。ここでは、クライアントアプリケーション20が扱うアプリケーション操作ウィンドウとして、図4に示すスケジュール表示画面を例に動作を説明する。
Here, the operation of the
負荷発生システム10の制御部11に設けられた操作実行制御部111は、操作シナリオ112の定義内容に従い、負荷発生システム10内部に設けられた画面遷移判定部12、対象オブジェクト特定部13、操作イベント発生部14、および画像情報取得部15等の各構成要素を制御する。
The operation
制御部11の下で操作実行制御部111は、操作シナリオ112に記述(定義)されている内容に従い、対象オブジェクト特定部13に対して操作対象オブジェクト特定要求211を送出し、操作イベント発生部14に対してイベント発生要求212を送出し、画面遷移判定部12に対して画面遷移判定要求213を送出する。
Under the
画面遷移判定部12および対象オブジェクト特定部13はそれぞれ操作実行制御部111の制御の下に画像情報取得部15に画面情報取得要求215,216を送出する。すなわち画面遷移判定部12は、操作実行制御部111から画面遷移判定要求213を受けると、画像情報取得部15に対して画面情報取得要求215を送出する。対象オブジェクト特定部13は、操作実行制御部111から操作対象オブジェクト特定要求211を受けると、画像情報取得部15に対して画面情報取得要求216を送出する。
The screen
画像情報取得部15は画面遷移判定部12から画面情報取得要求215を受けると、オペレーティングシステム(OS)40を介してクライアントアプリケーション20が画面に表示している画像情報203を取得し、取得した画像を含む画像情報取得応答225を画面遷移判定部12に送出する。同様に対象オブジェクト特定部13から画面情報取得要求216を受けると、クライアントアプリケーション20が画面に表示している画像情報203を取得し、取得した画像を含む画像情報取得応答226を対象オブジェクト特定部13に送出する。
Upon receiving the screen
この際のクライアントアプリケーション20が画面に表示している画像情報(アプリケーション操作ウィンドウ)203の具体例を図4に示している。ここでは、スケジュール管理システムに於けるスケジュール表示画面21を例に示している。以降の動作説明においては、この図4に示すスケジュール表示画面21の画像情報が画像情報取得部15により画像情報203として取得され、当該スケジュール表示画面21の画像情報が画面遷移判定部12、および対象オブジェクト特定部13に送出されるものとする。
A specific example of the image information (application operation window) 203 displayed on the screen by the
図4に示すスケジュール表示画面21において、ボタン「旅費清算システム」をクリックすると、図5に示す旅費清算システムの画面22に遷移する。さらに、この旅費清算システムの画面22上で、「一括請求」ボタンをクリックすると、さらに次の画面に遷移する。
When the button “travel expense clearing system” is clicked on the
この一連の画面遷移に応じた操作を負荷発生システム10によって実現する手順を以下に説明する。
A procedure for realizing the operation corresponding to the series of screen transitions by the
上記図4に示すスケジュール表示画面21の座標軸を図6に示している。ここでは、XGA(1024×768ピクセル)のアプリケーション操作ウィンドウを例に示している。
The coordinate axes of the
上記操作シナリオ112の一部記述例を図7に示している。この操作シナリオ112は、図7に示すように、操作ステップと、画面識別情報(画面ID)と、ビットマップイメージの画面遷移判定画像および操作対象オブジェクト画像と、判定/操作内容と、数値情報とを設定項目(定義項目)として構成される。
A partial description example of the
クライアントアプリケーション20は、画面遷移の中で、図4に示すスケジュール表示画面21を表示しようとしている状態とする。
The
操作実行制御部111は、操作シナリオ112のステップ20を読み取る。このステップ20には、[判定/操作内容]として「画面遷移判定」が設定(定義)されている。従って、次に行うことは、画面遷移の判定であることが決定される。また、[画面遷移判定画像]として、ファイル名「1.bmp」が設定されている。その内容(ビットマップイメージ)を図8に示している。操作実行制御部111は、この図8に示す画面遷移判定画像の情報(ビットマップイメージ)を含む画面遷移判定要求213を画面遷移判定部12に送出する。
The operation
画面遷移判定部12は、操作実行制御部111から画面遷移判定要求213を受けると、画像情報取得部15に対して画面情報取得要求215を送出する。
Upon receiving the screen
画像情報取得部15は、画面遷移判定部12から画面情報取得要求215を受けると、クライアントアプリケーション20が表示している画像情報(ビットマップイメージ)203を取得し、当該画像情報203を含む画像情報取得応答225を画面遷移判定部12に送出する。
When receiving the screen
画面遷移判定部12は、画像情報取得部15を介してクライアントアプリケーション20から取得した画像情報203の中に、「1.bmp」の画像と合致する部分があるか否かを検査する。この際の「1.bmp」の内容(ビットマップイメージ)は上記した図8に示す画面遷移判定画像の情報(ビットマップイメージ)である。
The screen
なお、この検査において、例えば画面遷移が完了していないために、合致する部分が存在しなかった場合、画面遷移判定部12は、画像情報取得部15に対して、画面情報取得要求215を送出する動作から、上記同様の処理を適当な頻度で繰り返し実行する。
In this examination, for example, if the matching part does not exist because the screen transition is not completed, the screen
画面遷移が完了し、合致する部分が見つかった場合、画面遷移判定部12は、操作実行制御部111に対して画面遷移判定応答221を送出する。
When the screen transition is completed and a matching part is found, the screen
操作実行制御部111は、操作シナリオ112の次のステップであるステップ21を読み取る。このステップ21には、[判定/操作内容]として「クリック」が設定されている。従って、次に行うことは、クリックであることが決定される。また、[操作対象オブジェクト画像]としてファイル名「2.bmp」が設定されている。この「2.bmp」のビットマップイメージを図9に示す。
The operation
操作実行制御部111は、上記した操作シナリオ112の内容に従い、対象オブジェクト特定部13に対して操作対象オブジェクト特定要求211を送出する。この操作対象オブジェクト特定要求211には、上記した図9に示す操作対象オブジェクト画像(ビットマップイメージ)が付随している。
The operation
対象オブジェクト特定部13において、対象オブジェクト特定制御部131は、操作実行制御部111から操作対象オブジェクト特定要求211を受けると、画像情報取得部15に画面情報取得要求216を送出する。
In the target
画像情報取得部15は、対象オブジェクト特定部13に設けられた対象オブジェクト特定制御部131から画面情報取得要求216を受けると、クライアントアプリケーション20が表示している画像情報203を取得し、当該取得した画像情報203を対象オブジェクト特定部13に設けられた画像比較部133に送出する。今回のケースでは、画像情報203として図4に示すスケジュール表示画面21が画像比較部133に送出される。
When receiving the screen
画像比較部133は、画像情報取得部15を介してクライアントアプリケーション20から取得した画像情報203の中から、操作対象オブジェクト画像としてファイル名「2.bmp」で表される画像(ビットマップイメージ)112と一致する部分を検索する。
The
画像比較部133は、上記検索の結果として、[中心X座標]、[中心Y座標]を対象オブジェクト特定制御部131に応答し、対象オブジェクト特定制御部131は、操作実行制御部111に、操作対象オブジェクト特定応答222を送付する。
As a result of the search, the
操作実行制御部111は、対象オブジェクト特定制御部131から受けた操作対象オブジェクト特定応答222に付随した操作対象オブジェクトの中心X座標、中心Y座標の情報と、操作/判定内容として「クリック」の情報をイベント発生要求212に付随させ、当該イベント発生要求212を操作イベント発生部14に送出する。
The operation
操作イベント発生部14は、操作実行制御部111から受けたイベント発生要求212に従い、操作対象オブジェクトの中心X座標、中心Y座標にマウスが移動したのと同等のイベント201を発生する。さらに、マウスクリックのイベント201を発生する。その後、イベント発生応答223を操作実行制御部111に送出する。
The operation
このようにして、クライアントアプリケーション20の画面が操作されるような適切な操作イベントを発生させることができる。
In this way, it is possible to generate an appropriate operation event that causes the screen of the
次に、操作実行制御部111は、操作シナリオ112の次のステップであるステップ22を読み取る。このステップ22には、[判定/操作内容]として「画面遷移判定」が設定されている。
Next, the operation
ここでは、上記ステップ20で実行したのと同様に、ステップ22の処理が実行される。このステップ22における「3.bmp」の内容(ビットマップイメージ)を図10に符号113を付して示している。
Here, the processing in
操作実行制御部111は、操作シナリオ112の次のステップであるステップ23を読み取る。
The operation
ここでは、上記ステップ21で実行したのと同様に、ステップ23の処理が実行される。
Here, the processing in
このステップ23における「4.bmp」の内容(ビットマップイメージ)を図11に符号114を付して示している。
The contents (bitmap image) of “4.bmp” in
このようにしてクライアントアプリケーション20の画面に対して適切な操作イベントを発生させることができる。
In this way, an appropriate operation event can be generated on the screen of the
上記した操作シナリオ112に従う処理動作によって、負荷発生システム10から、クライアントアプリケーション20に対して、画面遷移に応じ、順次、適正なイベントを発生させることができ、これに伴いクライアントアプリケーション20からサーバ2に処理要求を送出して、サーバ2に所望の負荷をかける負荷試験が可能となる。
By the processing operation according to the
次に図12乃至図16を参照して本発明の第2実施形態を説明する。この第2実施形態は、画面遷移を伴うアプリケーションプログラムを対象に、上記第1実施形態で用いた操作シナリオ112を作成するシステムを実現している。
Next, a second embodiment of the present invention will be described with reference to FIGS. The second embodiment realizes a system for creating the
本発明の第2実施形態は、操作画面の表示を伴うアプリケーションプログラムを対象に、上記操作画面内の操作対象となるオブジェクトに対して操作イベントを発生する手順を記述した操作シナリオを生成するシナリオ生成システムであって、上記操作画面上の操作に伴い発生するイベントを採取し記録するイベント取得手段と、上記操作画面の全体画像、および上記操作画面上における指定部位の抽出画像を採取し記録する画像取得手段と、上記イベント取得手段が取得したイベント、および上記画像取得手段が取得した画像をもとに上記操作シナリオを生成するシナリオ生成手段とを具備して構成される。上記イベント取得手段は、後述する図13に示すイベント検出部308およびイベント記録部309と、イベント記録部309が記録したイベントログ306とにより実現される。上記画像取得手段は、後述する図13に示す画面画像記録指示部311および画面画像記録部310と、画面画像記録部310が記録した画面全体画像情報と、操作対象オブジェクト範囲抽出部303とにより実現される。上記シナリオ生成手段は、後述する図13に示すシナリオ生成部302により実現される。
In the second embodiment of the present invention, scenario generation for generating an operation scenario describing a procedure for generating an operation event for an object to be operated in the operation screen is targeted for an application program accompanied by display of the operation screen. An event acquisition unit that collects and records an event that occurs in response to an operation on the operation screen, and an image that collects and records an entire image of the operation screen and an extracted image of a specified part on the operation screen. An acquisition unit, and a scenario generation unit that generates the operation scenario based on the event acquired by the event acquisition unit and the image acquired by the image acquisition unit are configured. The event acquisition means is realized by an
本発明の第2、第3、第4、第5実施形態に係るシナリオを作成するシステム全体の構成を図12に示す。この図12に示すシステムは、シナリオ生成システム30を主構成要素として実現される。シナリオ生成システム30は、サーバ2に処理要求を送出するクライアントアプリケーション20に対して、操作者3の操作指示に伴い、オペレーティングシステム(OS)40を介して発生する各種の操作イベントをクライアントアプリケーション20の画像情報とともに取り込み、操作シナリオ112を作成する機能を実現している。
FIG. 12 shows the configuration of the entire system for creating scenarios according to the second, third, fourth, and fifth embodiments of the present invention. The system shown in FIG. 12 is realized with the
このシナリオ生成システム30の構成を図13に示す。
図13に示すシナリオ生成システム30は、シナリオ生成部302、操作対象オブジェクト範囲抽出部303、イベント検出部308、イベント記録部309、画面画像記録部310、画面画像記録指示部311等を有して構成される。
The configuration of this
13 includes a
画面画像記録指示部311は、クライアントアプリケーション20が画面に表示している画像を取り込む際に操作者3によって操作されるもので、例えばキーボード上の「PrintScreen」キー等により実現される。
The screen image
画面画像記録部310は、画面画像記録指示部311の操作に従い、クライアントアプリケーション20が画面に表示している画像情報(画面全体画像情報)307を取り込み、記録する。例えば図4に示すスケジュール表示画面21の全画像(ビットマップイメージ)を画面全体画像情報307として所定の記録領域に記録する。なお、ここで言う「画面全体画像」は、あくまで操作対象範囲にある全体画像であって、マウス操作が行われるであろう位置が含まれる操作対象範囲内の画像であればよく、例えばアクティブになっているウィンドウの画像である場合も含む。
The screen
イベント検出部308は、操作者3によるマウスのクリック操作、キー操作等、各種の操作指示に伴い、オペレーティングシステム(OS)40を介して発生する操作イベントの情報を検出する。このイベント情報には、操作者3が操作する操作画面上における操作の位置を示す座標情報が含まれる。
The
イベント記録部309は、イベント検出部308が検出したマウスのクリック操作、キー操作等により発生する各種のイベント情報をイベントログ306として記録する。
The
操作対象オブジェクト範囲抽出部303は、画面全体画像情報307からイベントログ306に従う操作対象オブジェクト範囲の画像情報(ビットマップイメージ)を操作対象オブジェクト画像情報301として抽出する。
The operation target object
シナリオ生成部302は、操作対象オブジェクト画像情報301とイベントログ306とをもとに操作シナリオを生成する。ここでは、クライアントアプリケーション20を操作対象とした操作シナリオ112を作成する。
The
本発明の第2実施形態におけるシナリオ生成システム30を主構成要素としたシステムの処理手順を図14に示し、当該処理により生成される操作シナリオの内容例を図7に示し、当該操作シナリオに設定された操作対象オブジェクト画像情報の一例を図9乃至図11に示している。また、操作画面上におけるマウスカーソルの操作に伴う操作対象オブジェクト画像の状態遷移の一例を図15および図16に示している。
FIG. 14 shows a processing procedure of a system having the
ここで上記図12乃至図16を参照して本発明の第2実施形態における操作シナリオ112の作成処理動作を説明する。
Here, the creation processing operation of the
シナリオ作成者となる操作者3は、まず操作対象となるクライアントアプリケーション20を起動する。そして、シナリオ生成システム30の動作を開始させる。
The operator 3 who is a scenario creator first activates the
操作者3は、オペレーティングシステム(OS)40を介し、クライアントアプリケーション20に、マウスの移動、マウスのクリック、キーボード入力等の各種イベントを送出することによって、クライアントアプリケーション20を操作する。
The operator 3 operates the
シナリオ生成システム30は、上記各種イベントの情報や、クライアントアプリケーション20の画像情報をオペレーティングシステム(OS)40から取得することによって、操作シナリオ112を生成する。
The
以下に図14に示す処理手順と図7に示す操作シナリオの内容例と図9乃至図11に示す操作対象オブジェクト画像の一例を参照して、図12および図13に示す本発明の第2実施形態におけるシナリオ生成システム30を主構成要素としたシステムの具体的な処理動作を説明する。
The second embodiment of the present invention shown in FIGS. 12 and 13 will be described below with reference to the processing procedure shown in FIG. 14, the contents of the operation scenario shown in FIG. 7, and the examples of the operation target object images shown in FIGS. A specific processing operation of a system in which the
図14に示す処理フローにおいて、ステップS21では、操作者3が、クライアントアプリケーション20の画面に画像から所期の操作対象オブジェクトを認識して、画面画像記録指示部311を操作する。例えば、図4に示されるスケジュール表示画面21が表示され、操作者3が当該スケジュール表示画面21上において、左下の「旅費清算システム」のボタンを発見したとき、キーボード上の「PrintScreen」キー等のボタンを押下する。
In the processing flow shown in FIG. 14, in step S <b> 21, the operator 3 recognizes an intended operation target object from the image on the screen of the
ステップS22では、画面画像記録指示部311の操作に従い、画面画像記録指示部311が画面画像記録部310に対して画面全体画像情報の記録を指示する。
In step S <b> 22, the screen image
ステップS23では、画面画像記録部310が、画面画像記録指示部311からの指示に従い、クライアントアプリケーション20が画面に表示している図4に示すスケジュール表示画面21を画面全体画像情報307として所定の記録領域に記録する。
In
ステップS24では、操作者3が上記スケジュール表示画面21の「旅費清算システム」ボタン上へマウスを移動させ、クリック操作を行う。
In step S24, the operator 3 moves the mouse onto the “travel expense settlement system” button on the
ステップS25では、イベント記録部309が、上記マウスのクリック操作をイベントとして検出し、マウスの位置を示す座標情報と、イベントの種別情報(この例ではクリック)を、イベントログ306として所定の記録領域に記録する。
In step S25, the
ステップS26では、操作対象オブジェクト範囲抽出部303が、画面全体画像情報307の中から、上記イベントログ306に記録した座標情報を中心とした、既定の形状とサイズによって決まるエリアに含まれる部分を、マッチング範囲として抽出し、操作対象オブジェクト画像情報301として所定の記録領域に記録する。
In step S <b> 26, the operation target object
ステップS27では、操作者3によるクライアントアプリケーション20の操作が終了したか否かを判断する。操作が終了していない場合は、ステップS21へ戻る。操作が終了していれば、ステップS28へ移行する。
In step S27, it is determined whether or not the operation of the
ステップS28では、シナリオ生成部302が、操作対象オブジェクト画像情報301とイベントログ306の情報を組み合わせて、操作シナリオ112を生成する。
In step S28, the
この操作シナリオ112の一例を図7に示している。この操作シナリオ112は、操作ステップと、画面識別情報(画面ID)と、ビットマップイメージの画面遷移判定画像および操作対象オブジェクト画像と、判定/操作内容と、数値情報とを設定項目として構成される。
An example of this
上記図7に示す操作シナリオ112において、操作対象オブジェクト画像の設定項目には、操作対象オブジェクト画像を適当な画像ファイル形式として保存したファイルのファイル名が設定される。この例では、ビットマップのイメージ形式ファイルを表す「.bmp」が設定されている。
In the
上記図7に示す操作シナリオ112の[操作対象オブジェクト画像]に設定された操作対象オブジェクト画像ファイル(2.bmp)の内容を図9に示している。この例ではスケジュール表示画面21から抽出された「旅費清算システム」が操作対象オブジェクト画像として操作シナリオ112に登録される。
FIG. 9 shows the contents of the operation target object image file (2.bmp) set in [Operation target object image] of the
なお、上記したステップS24の処理において、マウスをクリックする直前に、マウスがボタンの上へ到達した時点で、ボタンの外見(形状、色、等)が変化することがある。例えば図15に示すようにマウスカーソル(MC)がボタン設定エリア(BA1)に到達しない(BA1の外に位置している)状態から、図16に示すようにマウスカーソル(MC)がボタン設定エリア(BA1)に到達した(BA1内に位置した)とき、ボタンの外郭(非明示/明示)、色(例えば非反転/反転)、明度(暗/明)等が変化する。実際に、汎用OS上の多くのアプリケーションソフトウェアは、メニュ−の上にマウスを移動させただけで、外見(形状、色、等)が変化する。 In the process of step S24 described above, the appearance (shape, color, etc.) of the button may change when the mouse reaches the button immediately before clicking the mouse. For example, from the state where the mouse cursor (MC) does not reach the button setting area (BA1) as shown in FIG. 15 (is located outside BA1), the mouse cursor (MC) is moved to the button setting area as shown in FIG. When (BA1) is reached (positioned within BA1), the button outline (not explicit / explicit), color (eg non-inverted / inverted), brightness (dark / light), etc. change. In fact, many application softwares on a general-purpose OS change the appearance (shape, color, etc.) just by moving the mouse over the menu.
したがって、上記ステップS24の時点でマウスのクリックが発生したときに、画面の画像情報を取得したのでは、変化した後の画像しか得られない。しかしながら、シナリオを実行する際には、まだマウスが操作対象となるボタンよりも離れた位置に有る状態においてボタンの画像を画面全体の画像の中から検出しなければならず、その時点では、まだボタンの画像は変化していない。つまり、画面全体画像を取得すべき時点とは、操作者3が操作対象オブジェクト(例:ボタン)を視認した後の時点でなければならず、かつ、マウスが操作対象オブジェクトに近づく以前であって、操作対象オブジェクトの外見が変化する以前の時点でなければならない。したがって、上記ステップS21の段階で、画面画像記録指示部を操作する必要がある。 Therefore, if the screen image information is acquired when the mouse click occurs at the time of step S24, only the image after the change can be obtained. However, when the scenario is executed, the button image must be detected from the entire screen image in a state where the mouse is still located away from the button to be operated. The button image has not changed. In other words, the time point when the entire screen image should be acquired is the time point after the operator 3 visually recognizes the operation target object (eg, button) and before the mouse approaches the operation target object. It must be before the appearance of the operation target object changes. Therefore, it is necessary to operate the screen image recording instruction unit in the step S21.
上記したような画面全体の画像の取得処理機能をもつことで、実行可能な操作シナリオによる負荷試験システムを構築することができる。 By having an image acquisition processing function for the entire screen as described above, a load test system based on an executable operation scenario can be constructed.
次に上記第2実施形態をベースにした本発明の第3実施形態を図17乃至図21を参照して説明する。 Next, a third embodiment of the present invention based on the second embodiment will be described with reference to FIGS.
本発明の第3実施形態に係るシナリオ生成システムの構成を図17に示し、同システムの処理手順を図18に示している。 FIG. 17 shows the configuration of the scenario generation system according to the third embodiment of the present invention, and FIG. 18 shows the processing procedure of the system.
上記した第2実施形態においては、操作対象オブジェクト範囲抽出部303が、画面全体画像情報307の中から、上記イベントログ306に記録した座標情報を中心とした、既定の形状とサイズによって決まるエリアに含まれる部分を、マッチング範囲として抽出し、操作対象オブジェクト画像情報301として所定の記録領域に記録していた(図14ステップS26)。
In the second embodiment described above, the operation target object
これに対して、この第3実施形態は、操作対象オブジェクト範囲抽出部303により抽出された操作対象オブジェクト画像情報301が一意に決定(特定)できない抽出範囲にある際に、抽出範囲を変更させて、一意に決定できる操作対象オブジェクト画像情報301を得る処理ルーチン(フィードバックルーチン)を備えている。
In contrast, the third embodiment changes the extraction range when the operation target
本発明の第3実施形態は、上記した第2実施形態のシステムにおいて、上記抽出画像が上記操作画面内の操作対象となるオブジェクトを特定できない抽出範囲の画像であるとき、上記抽出画像の抽出範囲を変更する処理手段をさらに具備して構成される。上記抽出画像の抽出範囲を変更する処理手段は、図17に示す操作対象オブジェクト画像情報301→マッチング判定部305→形状・サイズ変化部304→操作対象オブジェクト範囲抽出部303のフィードバックループにより実現される。
According to the third embodiment of the present invention, in the system of the second embodiment described above, when the extracted image is an image of an extraction range in which an object to be operated in the operation screen cannot be specified, the extraction range of the extracted image Is further provided with processing means for changing. The processing means for changing the extraction range of the extracted image is realized by a feedback loop of operation target
マッチング判定部305は、画面全体画像情報307の中で操作対象オブジェクト画像情報301を一意に決定できるか否かを判定する。ここで、一意に決定できるというのは、画面全体画像情報307の中で、操作対象オブジェクト画像情報301と合致する部分が、唯一であるという意味である。例えば図4に示すスケジュール表示画面21において、操作対象オブジェクトとして抽出した画像が、文字イメージの一部が欠落した「精算システム」であったとすると、この操作対象オブジェクトとして抽出した画像は、「旅費精算システム」であるか「経費精算システム」であるか一意に特定でない。この文字イメージの欠落部分を補うことによって、操作対象オブジェクトを一意に特定することができる。
The matching
一意に決定(特定)できると判定したときは、操作対象オブジェクト範囲抽出部303が抽出した操作対象オブジェクト画像情報301をシナリオ生成用画像とする旨をシナリオ生成部302に通知する。一意に決定できないと判定したときは、その旨を形状・サイズ変化部304に通知する。
When it is determined that it can be uniquely determined (specified), the
形状・サイズ変化部304は、マッチング判定部305が、画面全体画像情報307の中で操作対象オブジェクト画像情報301を一意に決定できないと判定したとき、操作対象オブジェクト範囲抽出部303に対して抽出範囲の変更を指示する。例えば前回の抽出範囲に対して、横方向のサイズ若しくは縦方向のサイズ若しくは縦・横サイズを所定のピクセル単位で拡大するや抽出範囲の変更を指示する。
When the matching
図17に示すシナリオ生成システム30において生成した操作シナリオ112に示されている操作対象オブジェクト画像が、図19に示すような文字イメージの一部(ここでは前後)が欠落した画像であると、図4に示すスケジュール表示画面21との比較において、操作対象オブジェクト画像(マウスのクリックを行うべき画像)を一意に決定できない。スケジュール表示画面21には、上述したように、「旅費清算システム」と「経費清算システム」の両ボタンが存在することから、「旅費清算システム」と「経費清算システム」の両ボタンの画像がマッチしてしまい、スケジュール表示画面21から操作対象オブジェクト画像を一意に決定できない。
If the operation target object image shown in the
ここで、上述した第1実施形態の処理技術を用いて、複数の画像情報の相対位置関係を利用する方法もあるが、ここでは、シナリオ生成システム30がシステム内の処理で上記問題を解消し、スケジュール表示画面21との比較において一意に決定できる操作対象オブジェクト画像を生成している。この第3実施形態では、図19に示すシナリオ生成システム30において、操作対象オブジェクト画像情報301→マッチング判定部305→形状・サイズ変化部304→操作対象オブジェクト範囲抽出部303のフィードバックループを有する。このフィードバックルーチンにおいて、形状・サイズ変化部304、およびマッチング判定部305により、操作対象オブジェクト画像を一意に特定できるように調整する機能を実現している。
Here, there is a method of using the relative positional relationship between a plurality of pieces of image information using the processing technique of the first embodiment described above, but here, the
この第3実施形態の処理動作を図18に示す処理フローに従い説明する。 The processing operation of the third embodiment will be described according to the processing flow shown in FIG.
図18に示すステップS31乃至ステップS36の処理は、上述した図14に示す処理フローのステップS21乃至ステップS26の処理と同様であることから、ここでは上記ステップS31乃至ステップS36における処理動作の説明を省略する。 Since the processing from step S31 to step S36 shown in FIG. 18 is the same as the processing from step S21 to step S26 in the processing flow shown in FIG. 14, the processing operation in step S31 to step S36 will be described here. Omitted.
図18に示すステップS37において、マッチング判定部305は、画面全体画像情報307の中で操作対象オブジェクト画像情報301を一意に決定できるか否かを判定する。例えばスケジュール表示画面21の中で、操作対象オブジェクト画像情報301となる「旅費清算システム」が一意に決定できるか否かを判定する。ここで、一意に決定できると判定した場合(Yes)は、ステップS40の処理に移行する。また、一意に決定できないと判定した場合(No)は、ステップS38の処理に移行する。また、一意に決定できないと判定した回数が設定した試行回数を超過した場合(Noかつ試行回数超過)は、ステップS39の予め設定した例外処理に移行する。
In step S <b> 37 illustrated in FIG. 18, the matching
ステップS38の処理において、形状・サイズ変化部304は、マッチング判定部305が、画面全体画像情報307の中で操作対象オブジェクト画像情報301を一意に決定できないと判定したとき、操作対象オブジェクト範囲抽出部303に対して抽出範囲の変更を指示する。例えば前回の抽出範囲に対して、横方向のサイズ若しくは縦方向のサイズ若しくは縦・横サイズを所定のピクセル単位で拡大するや抽出範囲の変更を指示する。たとえば、X軸方向(横方向)は固定のままで、Y軸方向(縦方向)の画像範囲を拡大させる形で変化させることが可能である。この変化のさせ方を、画像範囲をX軸、Y軸の数値情報(例えばピクセル数情報)で表現し、当該情報を操作対象オブジェクト範囲抽出部303に送出する。その後、ステップS36に戻って、操作対象オブジェクト範囲抽出部303が、再度、操作対象オブジェクト画像情報301を抽出する。その結果のスケジュール表示画面21から切り出された操作対象オブジェクト画像情報の一例を図20に示す。
In the process of step S <b> 38, when the matching
この操作対象オブジェクト範囲抽出部303によって再度抽出された操作対象オブジェクト画像情報301について、マッチング判定部305は、ステップS37において、当該操作対象オブジェクト画像情報301を画面全体画像情報307の中で一意に決定できるか否かを再度判定する。
For the operation target
ここでは図20に示す操作対象オブジェクト画像情報を評価する。今度は、図4に示すスケジュール表示画面21において「旅費清算システム」を中心とした画像であることが一意に決定される。したがって、判定結果はYesとなり、次のステップS40に移行する。
Here, the operation target object image information shown in FIG. 20 is evaluated. This time, on the
上記ステップS38の処理における他の画像切り出し範囲の例を図21に示す。この図21に示す例では、操作対象オブジェクト画像を切り出す範囲を、X軸方向のみ拡大させている。この場合も、切り出し範囲を変化させた結果、一意に操作対象を特定できるようになる。 An example of another image cutout range in the process of step S38 is shown in FIG. In the example shown in FIG. 21, the range of clipping the operation target object image is enlarged only in the X-axis direction. Also in this case, as a result of changing the cutout range, the operation target can be uniquely specified.
上記したステップS38における形状・サイズの変化の方法は、上記したように、X軸方向に左右対称に拡大し、Y軸方向に上下対象に拡大するだけでなく、左右、上下非対称に拡大することも可能である。また一度に拡大する幅も種々変化可能である。さらに、操作対象オブジェクト画像範囲の形状を四角形から円形に変える等、切り出し形状を変化させることも可能である。 As described above, the method for changing the shape and size in step S38 described above is not only to enlarge symmetrically in the X-axis direction and to enlarge vertically in the Y-axis direction, but also to enlarge horizontally and vertically asymmetrically. Is also possible. Moreover, the width | variety expanded at once can be changed variously. Furthermore, the cutout shape can be changed, for example, by changing the shape of the operation target object image range from a square to a circle.
上記したような操作対象オブジェクト画像の取得処理機能をもつことで、操作シナリオの作成作業を省力化でき、信頼性の高い操作シナリオを生成することができる。 By having the operation target object image acquisition processing function as described above, the operation scenario creation work can be saved, and a highly reliable operation scenario can be generated.
次に図22および図23を参照して本発明の第4実施形態を説明する。 Next, a fourth embodiment of the present invention will be described with reference to FIGS.
上記した第2、第3実施形態において、操作者3が画面画像記録指示部311の操作を行わずにマウス操作やキーボード操作を行った場合、後の操作対象オブジェクトの抽出に必要とされる画面全体画像が取得されない状態で、マウス操作やキーボード操作に従う入力処理が実行されてしまうことから、以後のシナリオ生成に支障が生じる。操作者3が画面画像記録指示部311の操作を行わずにマウス操作やキーボード操作を行った場合、シナリオ生成システムは、適切な画面全体画像を記録しない状態で、操作対象となるクライアントアプリケーション20が、マウス操作やキーボード操作によって、画面遷移するなどの状態変化を起こしてしまう。
In the second and third embodiments described above, when the operator 3 performs a mouse operation or a keyboard operation without operating the screen image
この場合、操作者3が後で、画面画像記録指示部311の操作を忘れたことに気付き、再度操作を繰り返して、正しいシナリオの生成をしようとするには、クライアントアプリケーション20も、以前の状態に戻す必要がある。更に、例えば、クライアントアプリケーション20を初期化して、最初から操作し直すなどの煩雑な手順を要する場合もある。
In this case, if the operator 3 later notices that he has forgotten to operate the screen image
本発明の第4実施形態は、上記したような不具合の発生を抑制して、シナリオ生成の容易化、迅速化を図っている。 The fourth embodiment of the present invention suppresses the occurrence of the above-described problems, thereby facilitating and speeding up scenario generation.
本発明の第4実施形態に係るシナリオ生成システムの構成を図22に示し、同システムの処理手順を図23に示している。 The configuration of the scenario generation system according to the fourth embodiment of the present invention is shown in FIG. 22, and the processing procedure of the system is shown in FIG.
本発明の第4実施形態は、上記した第3実施形態のシステムにおいて、操作対象オブジェクト範囲抽出部303に、画面画像記録有無判定部321と、画面画像記録無し警告部322を設け、イベント検出部308とイベント記録部309との間にイベント無効化部312を設けて、操作者3が画面画像記録指示部311の操作を行わずにマウス操作やキーボード操作を行った場合に、操作者3にその旨を報知するとともに、当該操作に伴い発生するイベント情報を無効化し、画面全体画像を取得するための指示操作から操作を再開可能にする機能を実現している。
In the fourth embodiment of the present invention, in the system of the third embodiment described above, the operation target object
画面画像記録有無判定部321は、操作者3が画面画像記録指示部311の操作を行わずに操作画面上でマウス操作やキーボード操作を行った操作を判定し、この判定時に、上記操作画面上の操作に伴い発生するイベントを無効化する指示を行う。この指示に従い、イベント無効化部312は、イベント検出部308が検出した、操作画面上の操作に伴い発生するイベントを無効化する。
The screen image recording presence /
画面画像記録無し警告部322は、操作者3が画面画像記録指示部311の操作を行わずに操作画面上でマウス操作やキーボード操作を行った旨を上記操作者3に報知する。この報知により操作者3は、操作画面上の画面全体画像を記録すべく画面画像記録指示部311の操作を行う。
The screen image recording
図22に示すシナリオ生成システムにおいて、イベント記録部309は、マウスのクリック操作、キー操作等により発生するイベントの情報をイベントログ306として記録する。このときのマウスのクリック操作、キー操作等により発生するイベントは、オペレーティングシステム(OS)40がマウスやキーボードなどの入力デバイスからの入力を検出しアプリケーションに通知する過程でイベント検出部308により検出される。このイベント検出部308は、例えば、既存のOSにより提供されるグローバルフックという手法を用いることにより実現可能である。
In the scenario generation system illustrated in FIG. 22, the
このイベント検出部308で検出されたイベント情報が、イベント記録部309にイベントログ306として記録される。
Event information detected by the
操作対象オブジェクト範囲抽出部303において、画面画像記録有無判定部321は、イベントログ306に対して、該当する画面全体画像情報307が有るか否かを判別する。この際、操作者3が、画面画像記録指示部311を操作し忘れた状態で、マウスのクリックを行った場合、イベントログ306は存在しても、画面全体画像情報307は存在しない。このことは、イベントログ306と画面全体画像307に、各々、その情報を得た時点の時刻情報を付加しておくことによって、処理しようとしているイベントログ306よりも古く、かつ、直前に処理したイベントログ306よりも新しい画面全体画像情報307が有るかどうかを調べることによって判定可能である。
In the operation target object
画面画像記録有無判定部321は、画面全体画像情報307が無いと判定した場合、以下のような動きをする。まず、画面画像記録有無判定部321は、イベント検出部308に対して、イベント無効化指示を送出する。これに伴い、イベント検出部308は、検出したイベント情報を破棄する。また、画面画像記録有無判定部321は、操作対象オブジェクト範囲抽出部303の動きを制御し、操作対象オブジェクト画像情報301を生成しないようにする。したがって、画面全体画像情報307が存在しない場合、シナリオ生成部302は、該当するマウスイベントに対するシナリオを生成しない。さらに、画面画像記録有無判定部321は画面画像記録無し警告部322を起動する。これにより画面画像記録無し警告部322は操作者3が画面画像記録指示部311の操作を行わずに操作画面上でマウス操作やキーボード操作を行った旨を操作者3に報知する。例えば、操作者3に対して、ポップアップウィンドウを開いて警告メッセージを表示し、またはビープ音で画面画像記録指示部311の操作忘れを報知する。
When the screen image recording presence /
また、画面画像記録有無判定部321は、画面全体画像情報307が存在するとき、イベント検出部308に対して、イベント有効化指示を送出する。これによりイベント検出部308は、検出したイベント情報をイベント記録部309に送出し、イベント記録部309はイベント検出部308から受けたイベント情報をイベントログ306として記録する。
Further, the screen image recording presence /
さらに画面画像記録有無判定部321は、操作対象オブジェクト範囲抽出部303の動きを制御し、操作対象オブジェクト画像情報301を生成させる。したがって、画面全体画像情報307が存在する場合、シナリオ生成部302は、該当するマウスイベントに対するシナリオを生成する。
Further, the screen image recording presence /
本発明の第4実施形態に係るシナリオ生成システムの処理手順を図23に示す処理フローを参照して説明する。この図23に示す第4実施形態の処理フローは、上記した図18に示す第3実施形態の処理フローに、いくつかの処理ステップを追加したものである。 The processing procedure of the scenario generation system according to the fourth embodiment of the present invention will be described with reference to the processing flow shown in FIG. The processing flow of the fourth embodiment shown in FIG. 23 is obtained by adding some processing steps to the processing flow of the third embodiment shown in FIG.
図23に示す処理フローにおいて、ステップS41〜S43は、操作者3が画面画像記録指示部311の操作を忘れた場合、実行されない処理部分である。
In the processing flow shown in FIG. 23, steps S41 to S43 are processing portions that are not executed when the operator 3 forgets to operate the screen image
操作者3が操作画面上の画面全体画像に対して画面画像記録指示部311の操作を行った場合、ステップS41において、操作者3が、クライアントアプリケーション20の画面全体画像から所期の操作対象オブジェクトを認識して、画面画像記録指示部311を操作する。例えば、図4に示されるスケジュール表示画面21が表示され、操作者3が当該スケジュール表示画面21上において、左下の「旅費清算システム」のボタンを発見したとき、キーボード上の「PrintScreen」キーを押下する。
When the operator 3 operates the screen image
ステップS42では、画面画像記録指示部311の操作に従い、画面画像記録指示部311が画面画像記録部310に対して画面全体画像情報の記録を指示する。
In step S <b> 42, the screen image
ステップS43では、画面画像記録部310が、画面画像記録指示部311からの指示に従い、クライアントアプリケーション20が表示している図4に示すスケジュール表示画面21を画面全体画像情報307として所定の記録領域に記録する。
In
ステップS44では、操作者3が上記スケジュール表示画面21の「旅費清算システム」ボタン上へマウスを移動させ、クリック操作を行う。
In step S44, the operator 3 moves the mouse onto the “travel expense settlement system” button on the
ステップS45では、イベント検出部308が、上記マウスのクリック操作をイベントとして検出し、イベント記録部309が、マウスの位置を示す座標情報と、イベントの種別情報(この例ではクリック)を、イベントログ306として所定の記録領域に記録する。
In step S45, the
ステップ46では、画面画像記録有無判定部321が、上記イベントログ306に該当する画面全体画像情報307の有無を判定する。ここでの判定結果は「有」となる。
In
ステップ47では、画面画像記録有無判定部321が、イベント検出部308にイベント有効化指示を送出し、イベント検出部308は、この指示に従い、検出したイベント情報をイベント記録部309に送出する。イベント記録部309はイベント検出部308から受けたイベント情報をイベントログ306として記録する。
In
ステップS48では、操作対象オブジェクト範囲抽出部303が、画面全体画像情報307の中から、上記イベントログ306に記録した操作対象オブジェクトの座標情報を中心とした、既定の形状とサイズによって決まるエリアに含まれる部分を、マッチング範囲として抽出し、操作対象オブジェクト画像情報301として所定の記録領域に記録する。
In step S48, the operation target object
ステップS49では、操作者3によるクライアントアプリケーション20の操作が終了したか否かを判断する。操作が終了していない場合は、ステップS21へ戻る。操作が終了していれば、ステップS50へ移行する。
In step S49, it is determined whether or not the operation of the
ステップS50では、シナリオ生成部302が、操作対象オブジェクト画像情報301とイベントログ306の情報を組み合わせて、操作シナリオ112を生成する。
In step S50, the
次に、操作者3が画面画像記録指示部311の操作を忘れた場合の処理について説明する。
Next, processing when the operator 3 forgets to operate the screen image
図23に示す処理フローにおいて、操作者3は、クライアントアプリケーション20の画面全体画像から所期の操作対象オブジェクトを認識する。例えば、図4に示されるスケジュール表示画面21が表示され、操作者3が当該スケジュール表示画面21上において、左下の「旅費清算システム」のボタンを発見する。
In the processing flow illustrated in FIG. 23, the operator 3 recognizes an intended operation target object from the entire screen image of the
ここで、操作者3は、画面画像記録指示部311の操作を行わず、操作画面上でマウスを操作する。
Here, the operator 3 operates the mouse on the operation screen without operating the screen image
ステップS44では、操作者3が上記スケジュール表示画面21の「旅費清算システム」ボタン上へマウスを移動させ、クリック操作を行う。
In step S44, the operator 3 moves the mouse onto the “travel expense settlement system” button on the
ステップS45では、イベント検出部308が、上記マウスのクリック操作をイベントとして検出し、イベント記録部309が、マウスの位置を示す座標情報と、イベントの種別情報(この例ではクリック)を、イベントログ306として所定の記録領域に記録する。
In step S45, the
ステップ46では、画面画像記録有無判定部321が、上記イベントログ306に該当する画面全体画像情報307の有無を判定する。ここでは、ステップ43の処理が実行されていないため、判定結果は「無」となる。
In
ステップS51では、画面画像記録無し警告部322が、操作者3に対して、画面画像記録指示部311の操作をせずにマウス操作を行ったことを示す警告を出力する。
In step S51, the screen image recording no
ステップS52では、画面画像記録有無判定部321が、イベント検出部308に、イベント無効化指示を送出し、イベント検出部308がこの指示を受けて、検出したイベントを破棄する。これにより、オペレーティングシステム(OS)40はマウス操作に伴うイベントをクライアントアプリケーション20に渡さない。
In step S52, the screen image recording presence /
ステップS49では、操作者3によるクライアントアプリケーション20の操作が終了したか否かを判断する。操作が終了していない場合は、ステップS21へ戻る。操作が終了していれば、ステップS50へ移行する。
In step S49, it is determined whether or not the operation of the
ステップS50では、シナリオ生成部302が、操作対象オブジェクト画像情報301とイベントログ306の情報を組み合わせて、操作シナリオ112を生成する。
In step S50, the
このようにして、画面画像記録指示部311の操作を忘れた際に、操作者3に対して警告を発し、しかも、その時に行ったマウス操作やキーボード操作を無効とすることによって、クライアントアプリケーション20の状態変化を防ぐことができる。これによって、操作者3は、画面画像記録指示部311を操作した上で、同じマウス操作やキーボード操作を実行し、正しいシナリオ生成を継続して行うことができる。
In this way, when the user forgets to operate the screen image
上記した第4実施形態においては、画面画像記録指示部311の操作を行わずに(画面全体画像の記録指示操作を行わずに)マウスを操作した場合に、上記指示操作に戻ってシナリオ生成を継続して行う機能構成としている。このようなシナリオ生成を継続して行う他の機能として、シナリオ格納部に格納された操作シナリオ112を活用してシナリオ生成を継続することも可能である。この際は、操作シナリオ112に従う処理を正常な状態遷移が保たれるところまで実行し、以降に登録されたイベント情報に対応する処理の手前で実行を停止することで、操作シナリオ112を活用したシナリオ生成の継続が可能となる。
In the fourth embodiment described above, when the mouse is operated without operating the screen image recording instruction unit 311 (without performing the recording instruction operation for the entire screen image), the scenario operation is generated by returning to the instruction operation. The function configuration is to be continued. As another function for continuously generating such a scenario, it is also possible to continue the scenario generation using the
次に図24および図25を参照して本発明の第5実施形態を説明する。 Next, a fifth embodiment of the present invention will be described with reference to FIGS.
上記した第4実施形態では、操作者3が画面画像記録指示部311の操作を忘れて、マウスを操作した場合に、操作者3に警告を出し、クライアントアプリケーション20の状態が遷移しないようにする処理機能を実現していた。第5実施形態では、画面画像記録指示部311を操作者が操作するのではなく、シナリオ生成システムが自動的に画面画像記録指示部311を操作することによって、シナリオの作成処理をより容易にしている。
In the fourth embodiment described above, when the operator 3 forgets to operate the screen image
本発明の第5実施形態に係るシナリオ生成システムの構成を図24に示し、同システムの処理手順を図25に示している。 The configuration of the scenario generation system according to the fifth embodiment of the present invention is shown in FIG. 24, and the processing procedure of the system is shown in FIG.
本発明の第5実施形態は、上記した図17に示す第3実施形態のシステムにおいて、イベント検出部308とイベント記録部309との間にマウス挙動分析部325を設けている。
In the fifth embodiment of the present invention, a mouse
上述した第3の実施例の説明において、図18に示すステップS31の処理で画面画像記録指示部の操作に関して、この操作を行うべき時点は、操作者が操作対象オブジェクトを視認した後の時点で、マウスが操作対象オブジェクト(例:ボタン)に近づき外見が変化する以前でなければならない、という説明をした。 In the description of the third embodiment described above, regarding the operation of the screen image recording instruction unit in the process of step S31 shown in FIG. 18, the time when this operation should be performed is the time after the operator visually recognizes the operation target object. , Explained that it must be before the mouse approaches the target object (eg button) and the appearance changes.
この第5実施形態においては、上記した画面画像記録指示部311の操作を実施すべき時点を、マウス挙動分析部325が決定する。
In the fifth embodiment, the mouse
マウス挙動分析部325は、画面画像記録指示部の操作を実施すべき時点、すなわち、画面全体画像を記録する操作を行うタイミングをマウスの動きをもとに自動認識し、画面全体画像の記録指示を操作者に代わって行う。
The mouse
マウス挙動分析部325は、マウス操作から画面全体画像を記録する操作を行うタイミングを認識して、画面画像記録指示部311に画面画像記録指示を送出するとともに、イベント検出部308が検出したイベント情報をイベント記録部309に送出する。
The mouse
操作者3は操作画面上で操作対象オブジェクトを視認すると、その時点で、マウスを操作して操作対象オブジェクトにマウスポインタを移動させようとする。 When the operator 3 visually recognizes the operation target object on the operation screen, the operator 3 tries to move the mouse pointer to the operation target object by operating the mouse at that time.
イベント検出部308は、マウスが移動する度に、マウス移動のイベントをオペレーティングシステム(OS)40から検出する。このような機能は、例えば前述のグローバルフックを用いることで実現可能である。
The
イベント検出部308は、検出したイベント情報をマウス挙動分析部325に送出する。このイベント情報には、マウスの移動後の座標位置に関する情報が含まれている。マウス挙動分析部325は、マウスの座標位置とイベントの発生時刻から、マウスの移動速度を計算する。マウス挙動分析部325は、マウス操作に伴うマウスの移動速度が、あらかじめ決められた値を超えた時点で、画面画像記録指示部311に画面画像記録指示を送出する。以降のシステムの動作は、上述した第3実施形態と同様である。
The
マウス挙動分析部325は、イベント検出部308から受け取ったマウス移動イベント情報に含まれる座標位置情報とイベント発生時刻を用いて、マウスの移動速度を計算する。マウスの移動速度は、時刻とともに変化する。例えば図25に示すように、横軸に時刻、縦軸にマウス移動速度をもつグラフにプロットした場合、マウスの移動速度が、設定した閾値(TH)を超えた時点(TD1)で、マウスの初動操作(マウス移動開始タイミング)を検出し、このマウス移動開始タイミングの検出時において、画面画像記録指示部311に、画面画像記録指示を送出する。
The mouse
マウス挙動分析部325は、上記マウス移動開始タイミングを検出した後、次に、後述のマウス移動終了タイミングを検出をするまでは、マウス移動開始タイミングを検出しない。
After detecting the mouse movement start timing, the mouse
マウス挙動分析部325は、上記マウス移動開始タイミングを検出した後、マウスの移動速度が閾値(TH)を下回った時点(TD2)で、マウス移動終了タイミングを検出する。マウス挙動分析部325は、マウス移動終了タイミングを検出した後、マウスの移動速度が閾値(TH)を超えた時点で、次のマウス移動開始タイミングを検出する。
After detecting the mouse movement start timing, the mouse
なお、マウス移動開始タイミング(TD1)を検出するための閾値と、マウス移動終了タイミング(TD2)を検出するための閾値は同じ値である必要性はなく、例えば、マウス移動開始タイミング(TD1)を検出するための閾値をマウス移動停止タイミング(TD2)を検出するための閾値よりも大きく設定することで、マウス移動開始タイミング(TD1)とマウス終了タイミング(TD2)とが頻繁に(不要に)検出されないように調整することができる。また、上記各閾値を固定値とせず、操作者によって変更可能にすることより、より適正タイミングでの画面画像記録指示が可能となる。 Note that the threshold for detecting the mouse movement start timing (TD1) and the threshold for detecting the mouse movement end timing (TD2) are not necessarily the same value. For example, the mouse movement start timing (TD1) is By setting the threshold value for detection larger than the threshold value for detecting the mouse movement stop timing (TD2), the mouse movement start timing (TD1) and the mouse end timing (TD2) are detected frequently (unnecessarily). Can be adjusted so that it is not. In addition, since each threshold value is not fixed and can be changed by the operator, a screen image recording instruction can be given at a more appropriate timing.
上述したように本発明の実施形態によれば、操作シナリオを作成する際の労力を大幅に低減でき、その結果、負荷試験の作業効率を向上できる。 As described above, according to the embodiment of the present invention, the labor for creating an operation scenario can be greatly reduced, and as a result, the work efficiency of the load test can be improved.
例えば本発明の第3実施形態によれば、操作シナリオを作成する際の、画像の範囲が不適切だったときに、操作者が、範囲の調整を行いながらシナリオ生成作業を繰り返す必要を不要にして操作シナリオを作成する際の労力を大幅に低減できる。 For example, according to the third embodiment of the present invention, it is not necessary for the operator to repeat the scenario generation work while adjusting the range when the image range is inappropriate when creating the operation scenario. This greatly reduces the effort required to create an operation scenario.
また、本発明の第4実施形態によれば、画面画像記録指示部311の操作を忘れた場合であっても、シナリオ生成の手戻りが無くなり、作業効率が向上する。
Further, according to the fourth embodiment of the present invention, even when the operation of the screen image
また、本発明の第5実施形態によれば、画面画像記録指示部の操作を不要にして、操作者の操作負担を軽減し、作業効率をより向上できる。 Furthermore, according to the fifth embodiment of the present invention, the operation of the screen image recording instruction unit is not required, the operation burden on the operator is reduced, and the work efficiency can be further improved.
尚、本発明は、適用の用途が負荷試験に限定されるものではない。例えばソフトウェアの開発の過程においては、開発されるソフトウェアがGUI(Graphical User Interface)機能を持っているときに、所定のGUI操作を行うことに対するソフトウェアの挙動が適切か否かを検証する、所謂、機能試験が実施される。本発明は、この機能試験を実施する際に、GUIを人間に代わり操作するツールとしての用途にも適用可能である。また、GUIを備えたソフトウェアにおいては、バグによる動作異常が発生することがある。しかしながら、動作異常が、所定のGUI操作を行っても毎回再現するとは限らない。ソフトウェア内部の処理とGUI操作との微妙のタイミングによって、そのバグが動作異常を引き起こす場合もあり、動作異常を再現させるためには、所定のGUI操作を多数回繰り返さなければならないこともある。このような、動作異常の再現作業においても、操作者に代わってGUI操作を繰り返すことを可能とする本発明は有効に機能する。さらに、WWWサーバが正常に運用されているか否かを定期的に監視するために、遠隔にあるWWWブラウザを操作して、前記WWWサーバをアクセスし、その結果を検証することによって、監視を実現する用途においても、WWWブラウザがもつGUIを操作者に代わって定期的に自動的操作する必要性があり、この場合においても本発明は有効に機能する。同様に、遠隔のWWWサーバから、WWWブラウザでアクセスを行い、情報を収集する作業を定期的に繰り返したい場合においても、WWWブラウザがもつGUIを操作者に代わって定期的に自動的操作する必要性があり、この場合においても本発明は有効に機能する。上記した事例以外にも、GUIを持ったアプリケーションを、操作者に代わって操作する必要性がある全ての場合において、本発明を有効に活用できる可能性がある。 The application of the present invention is not limited to the load test. For example, in the process of software development, when the software to be developed has a GUI (Graphical User Interface) function, it is verified whether the behavior of the software for performing a predetermined GUI operation is appropriate. Functional tests are performed. The present invention can also be applied to a use as a tool for manipulating a GUI instead of a human when performing this function test. In addition, in software having a GUI, an operation abnormality due to a bug may occur. However, the abnormal operation is not always reproduced every time a predetermined GUI operation is performed. Depending on the delicate timing between the internal processing of the software and the GUI operation, the bug may cause an abnormal operation. In order to reproduce the abnormal operation, a predetermined GUI operation may have to be repeated many times. The present invention that enables the GUI operation to be repeated on behalf of the operator even in such operation of reproducing an abnormal operation functions effectively. Furthermore, in order to periodically monitor whether the WWW server is operating normally, the remote WWW browser is operated, the WWW server is accessed, and the result is verified to realize the monitoring. Even in such applications, it is necessary to automatically operate the GUI of the WWW browser on behalf of the operator on a regular basis, and even in this case, the present invention functions effectively. Similarly, it is necessary to automatically operate the GUI of the WWW browser on behalf of the operator even when it is desired to periodically repeat the work of accessing and collecting information from a remote WWW server. Even in this case, the present invention functions effectively. In addition to the cases described above, the present invention may be effectively utilized in all cases where it is necessary to operate an application having a GUI on behalf of the operator.
1…情報端末(PC)、2…サーバ、3…操作者、10…負荷発生システム、11制御部、12…画面遷移判定部、13…対象オブジェクト特定部、14…操作イベント発生部、15…画像情報取得部、20…クライアントアプリケーション、30…シナリオ生成システム、40…オペレーティングシステム(OS)、111…操作実行制御部、112…操作シナリオ、131…対象オブジェクト特定制御部、132…対象オブジェクト判定部、133…画像比較部、134…相対位置関係分析部、302…シナリオ生成部、303…操作対象オブジェクト範囲抽出部、304…形状・サイズ変化部、305…マッチング判定部、308…イベント検出部、309…イベント記録部、310…画面画像記録部、311…画面画像記録指示部、321…画面画像記録有無判定部、322…画面画像記録無し警告部、325…マウス挙動分析部。
DESCRIPTION OF SYMBOLS 1 ... Information terminal (PC), 2 ... Server, 3 ... Operator, 10 ... Load generation system, 11 control part, 12 ... Screen transition determination part, 13 ... Target object specific part, 14 ... Operation event generation part, 15 ... Image information acquisition unit, 20 ... client application, 30 ... scenario generation system, 40 ... operating system (OS), 111 ... operation execution control unit, 112 ... operation scenario, 131 ... target object specifying control unit, 132 ... target object determination unit DESCRIPTION OF
Claims (4)
前記操作画面上の操作に伴い発生するイベント情報を採取し記録するイベント情報取得手段と、
前記操作画面上の全体または一部画像を採取し記録するとともに、前記画像の座標値と前記イベント情報に含まれる操作対象オブジェクトの位置座標とをもとに前記操作画面から前記操作対象オブジェクトの画像を抽出し記録する画像取得手段と、
前記イベント情報取得手段が取得したイベント情報と前記画像取得手段が取得した画像情報とをもとに前記操作シナリオを生成するシナリオ生成手段とを具備し、
前記画像取得手段は、
前記抽出した画像が、前記操作画面から前記操作対象オブジェクトとして一意に特定できる抽出範囲の画像であるか否かを判定する判定手段と、
前記判定手段において前記抽出画像が前記操作画面から前記操作対象オブジェクトとして一意に特定できる抽出範囲の画像でないと判定したとき、前記抽出画像の抽出範囲を変更して、前記操作画面から前記操作対象オブジェクトの画像を再度抽出する画像抽出再処理手段と、
を具備したことを特徴とするシナリオ生成装置。 A scenario generation device that generates an operation scenario that describes a procedure for generating an operation event for an object to be operated in the operation screen for an application program that includes an operation screen display,
Event information acquisition means for collecting and recording event information generated in response to an operation on the operation screen;
The entire or partial image on the operation screen is collected and recorded, and the image of the operation target object from the operation screen based on the coordinate value of the image and the position coordinate of the operation target object included in the event information. Image acquisition means for extracting and recording
A scenario generation unit that generates the operation scenario based on the event information acquired by the event information acquisition unit and the image information acquired by the image acquisition unit;
The image acquisition means includes
Determining means for determining whether or not the extracted image is an image in an extraction range that can be uniquely specified as the operation target object from the operation screen;
When the determination means determines that the extracted image is not an image in the extraction range that can be uniquely specified as the operation target object from the operation screen, the extraction range of the extracted image is changed, and the operation target object is changed from the operation screen. Image extraction reprocessing means for extracting the image of
A scenario generation device comprising:
前記全体または一部画像を取得するための指示を行う操作手段と、
前記操作手段の指示を行う以前に前記操作画面が操作されたことを判定する画面操作判定手段と、
前記画面操作判定手段が前記判定をした状態を前記操作画面の操作者に報知する報知手段と、
前記画面操作判定手段が前記判定をしたとき、前記操作画面上の操作に伴い発生するイベント情報を無効化し、前記操作手段による前記全体または一部画像を取得するための指示から操作を再開可能にする無効化処理手段と、
をさらに具備することを特徴とする請求項1に記載のシナリオ生成装置。 The image acquisition means includes
Operation means for giving an instruction to acquire the whole or part of the image;
Screen operation determination means for determining that the operation screen has been operated before the operation means is instructed;
Notification means for notifying an operator of the operation screen of the state in which the screen operation determination means has made the determination;
When the screen operation determining means makes the determination, the event information generated by the operation on the operation screen is invalidated, and the operation can be resumed from an instruction for acquiring the whole or part of the image by the operating means. Invalidation processing means to
The scenario generation device according to claim 1, further comprising:
前記操作者が前記操作画面上で前記操作対象を発見したタイミングを前記操作手段の操作に伴う前記操作画面上のマウスカーソルの動きから認識し、前記認識時に前記操作画面の全体又は一部画像を採取する画像取得手段をさらに具備することを特徴とする請求項2に記載のシナリオ生成装置。 The image acquisition means includes
The timing at which the operator finds the operation target on the operation screen is recognized from the movement of the mouse cursor on the operation screen accompanying the operation of the operation means, and the whole or a partial image of the operation screen is displayed at the time of the recognition. The scenario generation apparatus according to claim 2, further comprising image acquisition means for collecting.
前記操作画面上の操作に伴い発生するイベント情報を採取し記録するイベント情報取得機能と、
前記操作画面上の全体または一部画像を採取し記録するとともに、前記画像の座標値と前記イベント情報に含まれる操作対象オブジェクトの位置座標とをもとに前記操作画面から前記操作対象オブジェクトの画像を抽出し記録する画像取得機能と、
前記イベント情報取得機能が取得したイベント情報と前記画像取得手段が取得した画像情報とをもとに前記操作シナリオを生成するシナリオ生成機能とを実現させ、
前記画像取得機能は、
前記抽出した画像が、前記操作画面から前記操作対象オブジェクトとして一意に特定できる抽出範囲の画像であるか否かを判定する判定機能と、
前記判定機能において前記抽出画像が前記操作画面から前記操作対象オブジェクトとして一意に特定できる抽出範囲の画像でないと判定したとき、前記抽出画像の抽出範囲を変更して、前記操作画面から前記操作対象オブジェクトの画像を再度抽出する画像抽出再処理機能と、
を実現させるためのシナリオ生成プログラム。 For a computer that is a scenario generation device that generates an operation scenario that describes a procedure for generating an event for an object to be operated in the operation screen for an application program that includes display of the operation screen.
An event information acquisition function for collecting and recording event information generated in response to an operation on the operation screen;
The entire or partial image on the operation screen is collected and recorded, and the image of the operation target object from the operation screen based on the coordinate value of the image and the position coordinate of the operation target object included in the event information. Image acquisition function to extract and record
Realizing a scenario generation function for generating the operation scenario based on the event information acquired by the event information acquisition function and the image information acquired by the image acquisition means;
The image acquisition function
A determination function for determining whether or not the extracted image is an image in an extraction range that can be uniquely specified as the operation target object from the operation screen;
When the determination function determines that the extracted image is not an image in the extraction range that can be uniquely specified as the operation target object from the operation screen, the extraction range of the extracted image is changed, and the operation target object is changed from the operation screen. An image extraction reprocessing function to extract the image again,
A scenario generation program for realizing
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007196422A JP4381436B2 (en) | 2007-07-27 | 2007-07-27 | Scenario generation device and scenario generation program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007196422A JP4381436B2 (en) | 2007-07-27 | 2007-07-27 | Scenario generation device and scenario generation program |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009177810A Division JP2009259275A (en) | 2009-07-30 | 2009-07-30 | Scenario generation device, and scenario generation program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009032099A JP2009032099A (en) | 2009-02-12 |
JP4381436B2 true JP4381436B2 (en) | 2009-12-09 |
Family
ID=40402522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007196422A Active JP4381436B2 (en) | 2007-07-27 | 2007-07-27 | Scenario generation device and scenario generation program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4381436B2 (en) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5446649B2 (en) * | 2009-09-17 | 2014-03-19 | 日本電気株式会社 | TAT measuring device, TAT measuring method and TAT measuring program |
JP5622647B2 (en) * | 2011-04-11 | 2014-11-12 | 株式会社東芝 | Scenario generation device and scenario generation program |
JP5931806B2 (en) * | 2013-06-24 | 2016-06-08 | 日本電信電話株式会社 | Automatic operation apparatus by image recognition, method and program thereof |
JP6326742B2 (en) | 2013-08-29 | 2018-05-23 | 富士通株式会社 | Scenario generation program, scenario execution program, scenario generation method, scenario execution method, scenario generation apparatus, and scenario execution apparatus |
JP5878505B2 (en) * | 2013-10-11 | 2016-03-08 | 日本電信電話株式会社 | Error input detection device and error input detection program |
JP6355768B1 (en) * | 2017-01-17 | 2018-07-11 | 東日本電信電話株式会社 | Operation automation equipment |
JP6864227B2 (en) * | 2017-05-11 | 2021-04-28 | 富士通株式会社 | Comparison program, comparison device and comparison method |
JP7373828B2 (en) * | 2019-02-28 | 2023-11-06 | 株式会社PKSHA Associates | Information processing device and program |
JP7367917B2 (en) * | 2019-05-13 | 2023-10-24 | 株式会社Cinnon | Information processing systems and programs |
CN112685279B (en) * | 2019-10-17 | 2024-02-20 | 深圳市腾讯网域计算机网络有限公司 | Script recording method, script recording device and terminal equipment |
US20230028654A1 (en) * | 2020-01-08 | 2023-01-26 | Nippon Telegraph And Telephone Corporation | Operation log acquisition device and operation log acquisition method |
WO2021176523A1 (en) * | 2020-03-02 | 2021-09-10 | 日本電信電話株式会社 | Screen recognition device, screen recognition method, and program |
-
2007
- 2007-07-27 JP JP2007196422A patent/JP4381436B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2009032099A (en) | 2009-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4381436B2 (en) | Scenario generation device and scenario generation program | |
EP3215900B1 (en) | Robotic process automation | |
US9448908B2 (en) | System and method for model based session management | |
US9904517B2 (en) | System and method for automatic modeling of an application | |
US20140189576A1 (en) | System and method for visual matching of application screenshots | |
US20140218385A1 (en) | System and method for visual segmentation of application screenshots | |
CN104956339B (en) | Software test script is generated from video | |
US20180060222A1 (en) | Building signatures of application flows | |
US20140258989A1 (en) | Method and system for automating a scene-based test | |
US20190050323A1 (en) | Determining visual testing coverages | |
CN104246696B (en) | application automation based on image | |
JP2010033543A (en) | Software operation monitoring system, client computer, server computer thereof, and program thereof | |
WO2017001560A1 (en) | Robotic process automation | |
Moran et al. | On-device bug reporting for android applications | |
CN112817817B (en) | Buried point information query method, buried point information query device, computer equipment and storage medium | |
JP2012103786A (en) | Test support device, control method, and program | |
JP4896909B2 (en) | Scenario generation apparatus and program | |
US9164746B2 (en) | Automatic topology extraction and plotting with correlation to real time analytic data | |
JP2009259275A (en) | Scenario generation device, and scenario generation program | |
WO2020250320A1 (en) | Operation log acquisition device, operation log acquisition method, and operation log acquisition program | |
JP3942098B2 (en) | Information processing system, information registration information processing apparatus, information search information processing apparatus, information registration information processing method, information search information processing method, program, and recording medium | |
JP2009223743A (en) | Fault analysis support system and fault analysis support method | |
JP2006185055A (en) | Design support system and design support program for computer system | |
US20220317650A1 (en) | Analysis apparatus, control method thereof, and analysis system | |
CN113467867B (en) | Information processing method, information processing device, electronic equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090520 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090602 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090730 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090825 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090915 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121002 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4381436 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121002 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131002 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |