JP2008225683A - Screen operation system and program - Google Patents
Screen operation system and program Download PDFInfo
- Publication number
- JP2008225683A JP2008225683A JP2007060708A JP2007060708A JP2008225683A JP 2008225683 A JP2008225683 A JP 2008225683A JP 2007060708 A JP2007060708 A JP 2007060708A JP 2007060708 A JP2007060708 A JP 2007060708A JP 2008225683 A JP2008225683 A JP 2008225683A
- Authority
- JP
- Japan
- Prior art keywords
- screen
- target object
- image
- unit
- operated
- 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.)
- Withdrawn
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Digital Computer Display Output (AREA)
Abstract
Description
本発明は、コンピュータシステムの負荷試験や機能試験等に適用して好適な画面操作システムおよびプログラムに関する。 The present invention relates to a screen operation system and a program suitable for being applied to a load test and a function 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
負荷試験プログラムを実現するには、いくつかの方法がある。その中で、比較的広く普及しているのは、クライアントソフトウェアからサーバへ送られるメッセージを記録しておき、この記録したメッセージを負荷発生ツールからサーバに向けて擬似的に繰り返し発生させる方式である。しかしながら、この方式では、メッセージ内容が毎回変化するような複雑なシステムの場合に、クライアントソフトウェアと同じようにメッセージ内容を変えるための機構を負荷発生ツールにおいて実現する必要がある。状況によっては、これが非常に複雑で困難な場合があり、多大な労力を要する。さらにメッセージ内容の変化のし方を理解するためには、クライアントソフトウェアの内部の動きを理解する必要がある場合もあり、そのようなときには、負荷試験を実施する実施者に対して高度なスキルが要求されるため、負荷試験を行う人材確保に問題がある。 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 specify the object based on the appearance (shape) of the object.
このような方式でソフトウェアの画面に対して擬似的動作の実行を行うソフトウェアの例として、非特許文献1に示すようなフリーソフトとして公開されているAutoMouseがある。
しかしながら、上記したような画面操作方式を種々の画面を持つクライアントソフトウェアに適応し、効率的に利用するには少なくとも2つの課題があった。その1つの課題は、オブジェクトをその外見(形状)としての画像情報で特定するために、同一の外見のオブジェクトが同一画面に複数存在している場合に、その中から、所望の1つを特定できないことである。他の一つの課題は、上記操作シナリオを作成するための労力の大きさである。従来の方式では、情報端末(PC)の画面のスナップショットとしての画像情報を取得し、特殊なエディタを用いて、その中から操作対象となる画像の一部を指定し、その操作対象に対して、マウスやキーボードからどのような入力イベントを投入すべきかも定義する必要があった。複数の操作画面を順次切り替えるタイプのクライアントソフトウェアについて、このような手順で操作シナリオを作成するのには多くの労力が必要となり、作業効率を著しく低下させる要因となっていた。 However, there are at least two problems in using the above-described screen operation method for client software having various screens and using them efficiently. One problem is that if there are multiple objects with the same appearance on the same screen in order to identify the object with the image information as its appearance (shape), the desired one is identified. It is impossible. Another problem is the amount of effort for creating the operation scenario. In the conventional method, image information as a snapshot of the screen of the information terminal (PC) is acquired, and a part of the image to be operated is designated from among them using a special editor. It was also necessary to define what input events should be input from the mouse and 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 even when there are a plurality of objects having the same shape as the object to be operated in the same operation screen, the object to be operated can be specified, thereby the client application. An object of the present invention is to provide a screen operation system that can always generate an appropriate operation event on the screen.
本発明は、操作画面の表示を伴うアプリケーションプログラムを対象に、前記操作画面内の操作対象となるオブジェクトに対して操作イベントを発生することにより、前記アプリケーションプログラムを操作する画面操作システムにおいて、前記操作画面内の操作対象となるオブジェクトを定義した操作シナリオと、前記操作対象となるオブジェクトを前記操作シナリオに定義された前記操作画面内の相対位置情報により特定する操作対象オブジェクトの特定手段とを具備した画面操作システムを提供する。 The present invention provides a screen operation system for operating the application program by generating an operation event for an object to be operated in the operation screen for an application program accompanied by display of the operation screen. An operation scenario that defines an object to be operated in the screen, and means for specifying an operation target object that identifies the object to be operated by relative position information in the operation screen defined in the operation scenario A screen operation system is provided.
また本発明は、操作画面の表示を伴うアプリケーションプログラムを対象に、操作シナリオの記述内容に従い、前記操作画面内の操作対象となるオブジェクトに対して操作イベントを発生することにより、前記アプリケーションプログラムを操作する画面操作システムとしてコンピュータを機能させるためのプログラムであって、前記操作画面内に前記操作対象となるオブジェクトと同一形状のオブジェクトが複数存在するとき、前記操作シナリオに定義された前記操作画面内の相対位置情報を取得する機能と、前記取得した相対位置情報をもとに前記操作対象となるオブジェクトを特定する機能と、をコンピュータに実現させるためのプログラムを提供する。 In addition, the present invention operates an application program for displaying an operation screen by generating an operation event for an object to be operated in the operation screen in accordance with the description contents of the operation scenario. A program for causing a computer to function as a screen operation system, and when there are a plurality of objects having the same shape as the object to be operated in the operation screen, the program in the operation screen defined in the operation scenario A program for causing a computer to realize a function of acquiring relative position information and a function of specifying an object to be operated based on the acquired relative position information is provided.
操作対象となるオブジェクトの特定において、単独のオブジェクトの形状を指定するだけでは操作対象オブジェクトが一意に決定しない状況においても、単独のオブジェクトを特定することが可能となる。従ってクライアントアプリケーションの画面に対して、適切な操作イベントを発生させることが可能となる。 In specifying an object to be operated, it is possible to specify a single object even in a situation where the operation target object is not uniquely determined only by specifying the shape of the single object. Accordingly, it is possible to generate an appropriate operation event on the screen of the client application.
以下図面を参照して本発明の実施形態を説明する。
本発明の実施形態は、操作画面の表示を伴うアプリケーションプログラムを対象に、上記操作画面内の操作対象となるオブジェクトに対して、操作イベントを発生することにより、上記アプリケーションプログラムを操作する画面操作システムにおいて、上記操作対象となるオブジェクトを上記操作画面内の相対位置により特定する対象オブジェクト特定手段を有して、操作対象となるオブジェクトの特定において単独のオブジェクトの形状を指定するだけでは操作対象オブジェクトオブジェクトを一意に決定できない場合においても当該オブジェクトを特定可能にしたことを特徴とする。この対象オブジェクトの特定機能をもつことにより、クライアントアプリケーションの画面に対して、常に適切な操作イベントを発生させることができる。
Embodiments of the present invention will be described below with reference to the drawings.
An embodiment of the present invention is directed to a screen operation system for operating an application program by generating an operation event for an object to be operated in the operation screen for an application program accompanied by display of the operation screen. The object to be operated is specified only by specifying the shape of a single object in specifying the object to be operated, having a target object specifying means for specifying the object to be operated by the relative position in the operation screen. The object can be specified even when it cannot be determined uniquely. By having the specific function of the target object, an appropriate operation event can always be generated on the screen of the client application.
本発明の実施形態は、操作画面の表示を伴うアプリケーションプログラムを対象に、上記操作画面内の操作対象となるオブジェクトに対して操作イベントを発生することにより、上記アプリケーションプログラムを操作する画面操作システムにおいて、上記操作画面内の操作対象となるオブジェクトを定義した操作シナリオと、上記操作対象となるオブジェクトを上記操作シナリオに定義された上記操作画面内の相対位置情報により特定する操作対象オブジェクトの特定手段とを具備して構成される。また上記画面操作システムにおいて、上記操作対象オブジェクトの特定手段は、上記操作シナリオに、上記操作画面内に存在する基準画像が定義され、上記相対位置情報として距離が定義されているとき、上記操作画面内に存在する、上記操作対象となるオブジェクトと同一形状のオブジェクト各々について、上記基準画像からの距離情報を取得し、当該距離情報をもとに、上記操作対象となるオブジェクトを特定する機能を有する。また上記画面操作システムにおいて、上記操作対象オブジェクトの特定手段は、上記操作シナリオに、上記相対位置情報として、上記操作画面内に存在する上記操作対象となるオブジェクトと同一形状のオブジェクト各々について、序数が定義されているとき、上記序数をもとに、上記操作対象となるオブジェクトを特定する機能を有する。上記操作シナリオは図1および図7において操作シナリオ112として実現される。上記操作対象オブジェクトの特定手段は図2および図3に示す対象オブジェクト特定部13、および図2に示す画像情報取得部15により実現される。
An embodiment of the present invention is directed to a screen operation system that operates an application program by generating an operation event for an object to be operated in the operation screen for an application program accompanied by display of the operation screen. An operation scenario in which an object to be operated in the operation screen is defined, and an operation target object specifying means for specifying the object to be operated by relative position information in the operation screen defined in the operation scenario; It is comprised and comprises. Further, in the screen operation system, the operation object specifying unit is configured such that when the reference image existing in the operation screen is defined in the operation scenario and the distance is defined as the relative position information, the operation screen For each object having the same shape as the object to be operated, the distance information from the reference image is obtained, and the object to be operated is specified based on the distance information. . Further, in the screen operation system, the operation target object specifying means includes an ordinal number for each object having the same shape as the operation target object existing in the operation screen as the relative position information in the operation scenario. When defined, it has a function of specifying the object to be operated based on the ordinal number. The above operation scenario is realized as the
図1は、負荷試験を行うシステム全体の構成を示すブロック図であり、負荷を発生するクライアント側の複数の情報端末(PC)1,1,…と、負荷試験の対象となるサーバ2とにより構成される。クライアント側の複数の情報端末(PC)1,1,…には、それぞれサーバ2に対して処理要求を行う負荷発生システム10およびクライアントアプリケーション20を単位負荷発生源とする負荷発生手段が設けられる。
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は、サーバ2に対して処理要求を発行する。
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は、画面上の操作によりサーバ2に実行させる一連の擬似的動作の内容を定義したもので、この実施形態では、操作対象となるオブジェクトの特定において、単独のオブジェクトの形状を指定するだけでは操作対象オブジェクトが一意に決定しない場合に、複数のオブジェクトの相対的な位置関係を指定することによって、単独のオブジェクトを特定することを可能にした相対位置情報の定義部を具備して構成される。この操作シナリオ112の具体的な構成については図7を参照して後述する。
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と、対象オブジェクト判定部132と、画像比較部133と、相対位置関係分析部134とを具備する。
As illustrated in FIG. 3, the target
対象オブジェクト特定制御部131は、操作実行制御部111から受けた操作対象オブジェクト特定要求211に従い、当該要求に付随するビットマップイメージの画像情報を画像比較部133に送出するとともに、画面情報取得要求216を画像情報取得部15に送出して、画像情報取得部15から画像情報取得応答226に付随するビットマップイメージの画像情報を取得し、上記各画像情報を画像比較部133に供給する処理機能を実現する。
In accordance with the operation target
画像比較部133は、上記対象オブジェクト特定制御部131の制御で取得された上記各ビットマップイメージの画像情報を比較して、クライアントアプリケーション20の操作画面から上記操作対象オブジェクト特定要求211が指定した画像を検索し、当該検索結果の情報として、図16に示す対象オブジェクト候補表231を作成し、この対象オブジェクト候補表231に、上記操作対象オブジェクト特定要求211が指定した画像を基準画像(基準オブジェクト)として、当該基準画像のオブジェクトID、および中心位置(X・Y)座標を登録するとともに、検索した画像(オブジェクト候補)のオブジェクトID、および中心位置(X・Y)座標を登録する。または上記検索結果の情報として、図17に示す対象オブジェクト候補表232を作成し、この対象オブジェクト候補表232に、上記操作対象オブジェクト特定要求211が指定した相対位置情報(序数)に従う画像(オブジェクト候補)のオブジェクトID、および中心位置(X・Y)座標を登録する。
The
相対位置関係分析部134は、上記画像比較部133が作成した図16に示す対象オブジェクト候補表231の座標情報を分析して、検索した画像(オブジェクト候補)各々の基準オブジェクトに対する距離を算出し、当該距離情報をオブジェクト候補に対応付けて対象オブジェクト候補表に登録する。または、図17に示す対象オブジェクト候補表232を分析して、「位置の順位」に、操作シナリオ112の定義内容(序数)に従う、位置の順位の情報を登録する。
The relative positional
対象オブジェクト判定部132は、上記対象オブジェクト候補表を参照して、オブジェクト候補の中から基準オブジェクトに対して最短距離のオブジェクト候補、若しくは序数の順位に従う1つのオブジェクト候補を選択し、当該オブジェクト候補を操作対象オブジェクトとして特定し、当該操作対象オブジェクトを対象オブジェクト特定制御部131に通知する。
The target
ここで、クライアントアプリケーション20に於ける操作画面の具体例を挙げて、上記負荷発生システム10の動作について、図4乃至図17を参照して説明する。ここでは、クライアントアプリケーション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を送出する。
The operation
画面遷移判定部12および対象オブジェクト特定部13はそれぞれ操作実行制御部111の制御のもとに画像情報取得部15に画面情報取得要求215,216を送出する。すなわち画面遷移判定部12は、操作実行制御部111から画面遷移判定要求213を受けると、画像情報取得部15に対して画面情報取得要求215を送出する。対象オブジェクト特定部13は、操作実行制御部111から操作対象オブジェクト特定要求211を受けると、画像情報取得部15に対して画面情報取得要求216を送出する。
The screen
画像情報取得部15は画面遷移判定部12から画面情報取得要求215を受けると、オペレーティングシステム(OS)を介してクライアントアプリケーション20が画面に表示している画像情報203を取得し、取得した画像を含む画像情報取得応答225を画面遷移判定部12に送出する。同様に対象オブジェクト特定部13から画面情報取得要求216を受けると、クライアントアプリケーション20が画面に表示している画像情報203を取得し、取得した画像を含む画像情報取得応答226を対象オブジェクト特定部13に送出する。
When the image
この際のクライアントアプリケーション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において、「9(火)」の新規登録のリンクをクリックすると、操作画面が図4に示すスケジュール表示画面21から図5に示すスケジュール登録画面22に遷移する。さらに、このスケジュール登録画面22上で、「時刻」や「予定」に内容を記入し、「登録」ボタンをクリックすると、次の画面に遷移する。
When the new registration link “9 (Tue)” 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のステップ10を読み取る。このステップ10には、[判定/操作内容]として「画面遷移判定」が設定(定義)されている。従って、次に行うことは、画面遷移の判定であることが決定される。また、[画面遷移判定画像]として、ファイル名「スケジュール表示.bmp」が設定されている。その内容(ビットマップイメージ)を図8に符号I10を付して示している。操作実行制御部111は、この図8に示す画面遷移判定画像の情報(ビットマップイメージ)I10を含む画面遷移判定要求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の中に、「スケジュール表示.bmp」の画像と合致する部分があるか否かを検査する。この際の「スケジュール表示.bmp」の内容(ビットマップイメージ)は上記した図8に示す画面遷移判定画像の情報(ビットマップイメージ)I10である。
The screen
なお、この検査において、例えば画面遷移が完了していないために合致する部分が無かった場合、画面遷移判定部12は、画像情報取得部15に対して、画面情報取得要求215を送出する動作から上記同様の処理を適当な頻度で繰り返し実行する。
In this examination, for example, when there is no matching part 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の次のステップであるステップ11を読み取る。このステップ11には、[判定/操作内容]として「クリック」が設定されている。従って、次に行うことは、クリックであることが決定される。また、[操作対象オブジェクト画像]としてファイル名「新規登録.bmp」、[基準画像]としてファイル名「9日.bmp」、[相対位置情報]として「最短距離」が設定されている。この基準画像「9日.bmp」の内容(ビットマップイメージ)を図9に符号I11を付して示し、「新規登録.bmp」の内容(ビットマップイメージ)を図10に符号I12を付して示している。
The operation
操作実行制御部111は、上記した操作シナリオ112の内容に従い、対象オブジェクト特定部13に対して操作対象オブジェクト特定要求211を送出する。この操作対象オブジェクト特定要求211には、上記した図9に示す基準画像(ビットマップイメージ)I11、図10に示す操作対象オブジェクト画像(ビットマップイメージ)I12、および相対位置情報(最短距離)が付随している。
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の中から、操作対象オブジェクト画像としてファイル名「新規登録.bmp」で表される画像(ビットマップイメージ)I12と一致する部分を検索する。ここでは「新規登録.bmp」の画像(ビットマップイメージ)I12と一致する複数の画像がそれぞれ対象オブジェクト候補として検索される。
The
画像比較部133は、上記検索の結果として、図16に示す対象オブジェクト候補表231を作成し、この対象オブジェクト候補表231に[オブジェクトID]、[中心X座標]、[中心Y座標]の各情報を設定する。その後、画像比較部132は、相互位置関係分析部134に処理を引き継ぐ。
As a result of the search, the
相互位置関係分析部134は、画像比較部133が設定した図16に示す対象オブジェクト候補表231の内容を分析し、[基準オブジェクトとの距離]に距離情報を設定して、対象オブジェクト判定部132に処理を引き継ぐ。ここでの画像比較部133における処理は、基準画像I11と各候補画像との座標値をもとに、基準画像I11に対する各候補画像の距離を求め、その距離情報を対象オブジェクト候補表231の[基準オブジェクトとの距離]に設定する。
The mutual positional
対象オブジェクト判定部132は、対象オブジェクト候補表231の内容から、画像比較部133が[基準オブジェクトとの距離]に設定した「候補2」の距離が基準画像I11に対して最短距離であることを判定し、この判定結果の情報を対象オブジェクト特定制御部131に送出して、対象オブジェクト特定制御部131に制御を渡す。
Based on the contents of the target object candidate table 231, the target
対象オブジェクト特定制御部131は、上記対象オブジェクト判定部132から受けた判定結果の情報に従う、候補2の中心X座標、中心Y座標の情報を操作対象オブジェクト特定応答222に付随させ、当該操作対象オブジェクト特定応答222を操作実行制御部111に送出する。
The target object specifying
操作実行制御部111は、対象オブジェクト特定制御部131から受けた操作対象オブジェクト特定応答222に付随した、候補2の中心X座標、中心Y座標の情報と、操作/判定内容として「クリック」の情報をイベント発生要求212に付随させ、当該イベント発生要求212を操作イベント発生部14に送出する。
The operation
操作イベント発生部14は、操作実行制御部111から受けたイベント発生要求212に従い、候補2の中心X座標、中心Y座標にマウスが移動したのと同等のイベント201をクライアントアプリケーション20に対して発生する。さらに、マウスクリックのイベント201をクライアントアプリケーション20に対して発生する。その後、イベント発生応答223を操作実行制御部111に送出する。
In response to the
このようにして、同一画面上に、同じ外見の操作対象オブジェクトが複数存在するとき、操作シナリオ112の[相対位置情報]に「最短距離」を設定し、[基準画像]に操作対象の近傍位置にある画像を設定しておくことにより、複数のオブジェクトの中から所望する単独のオブジェクトを特定することができる。これによってクライアントアプリケーション20の画面に対して適切な操作イベントを発生させることができる。
In this way, when there are a plurality of operation target objects having the same appearance on the same screen, the “shortest distance” is set in the “relative position information” of the
次に、操作実行制御部111は、操作シナリオ112の次のステップである、ステップ12を読み取る。このステップ12には、[判定/操作内容]として「画面遷移判定」が設定されている。
Next, the operation
ここでは、上記ステップ10で実行したのと同様に、ステップ12の処理が実行される。このステップ12における「スケジュール登録.bmp」の内容(ビットマップイメージ)を図11に符号I13を付して示している。
Here, the processing in
操作実行制御部111は、操作シナリオ112の次のステップである、ステップ13を読み取る。このステップ13には、[判定/操作内容]として「テキスト入力」が設定されている。従って、次に行うことは、テキスト入力であることが決定される。また、[操作対象オブジェクト画像]として、ファイル名「HH設定.bmp」が設定され、[相対位置情報]として、「左1番目、上1番目」が設定されている。この「HH設定.bmp」の内容を図12に符号I14を付して示している。
The operation
操作実行制御部111は、上記した操作シナリオ112の内容に従い、対象オブジェクト特定部13に対して操作対象オブジェクト特定要求211を送出する。この操作対象オブジェクト特定要求211には、上記した[操作対象オブジェクト画像]として図12に示す時間設定画面(ビットマップイメージ)I14、[相対位置情報]として「左1番目、上1番目」の情報が付随している。
The operation
対象オブジェクト特定部13に設けられた対象オブジェクト特定制御部131は、操作実行制御部111から操作対象オブジェクト特定要求211を受けると、画像情報取得部15に対して画面情報取得要求216を送出する。
Upon receiving the operation target
画像情報取得部15は、対象オブジェクト特定部13に設けられた対象オブジェクト特定制御部131から画面情報取得要求216を受けると、クライアントアプリケーション20が表示している画像情報を取得し、当該取得した画像情報を含む画像情報取得応答226を画像比較部132に送出する。今回のケースでは、図5に示すスケジュール登録画面22の画像情報が送出されることになる。
Upon receiving the screen
画像比較部132は、画像情報取得部15を介してクライアントアプリケーション20から取得した画像情報の中から、[操作対象オブジェクト画像]として設定されたファイル名「HH設定.bmp」で表される画像と一致する部分を検索する。ここでは、図12に示す時間設定画面I14に一致する画像が検索される。
The
画像比較部133は、上記検索の結果として、図17に示す対象オブジェクト候補表232を作成し、この対象オブジェクト候補表232に、[オブジェクトID]、[中心X座標]、[中心Y座標]の各情報を設定する。その後、画像比較部132は、相互位置関係分析部134に処理を引き継ぐ。
The
相互位置関係分析部134は、画像比較部133が設定した図17に示す対象オブジェクト候補表232の内容を分析し、[位置の順位]に、左からの位置の順位の情報を設定し、対象オブジェクト判定部132に処理を引き継ぐ。
The mutual positional
対象オブジェクト判定部132は、対象オブジェクト候補表232の内容から、「候補1」が、左から1番目、上から1番目であることを判定し、その判定結果の情報を対象オブジェクト特定部13に送出して、対象オブジェクト特定制御部131に制御を渡す。
The target
対象オブジェクト特定制御部131は、対象オブジェクト判定部132から受けた判定結果の情報に従う、候補1の中心X座標、中心Y座標の情報を操作対象オブジェクト特定応答222に付随させ、当該操作対象オブジェクト特定応答222を操作実行制御部111に送出する。
The target object specifying
操作実行制御部111は対象オブジェクト特定制御部131から操作対象オブジェクト特定応答222を受けると、この操作対象オブジェクト特定応答222に付随する、候補1の中心X座標、中心Y座標の情報と、操作シナリオ112の[操作/判定内容]に設定された「テキスト入力」の情報と、[値]に設定された「9」の情報とを付随させたイベント発生要求212を操作イベント発生部14に送出する。
When the operation
操作イベント発生部14は操作実行制御部111から受けたイベント発生要求212に従い、候補1の中心X座標、中心Y座標に、マウスが移動したのと同等のイベント201をクライアントアプリケーション20に対して発生する。さらに「9」のテキスト入力のイベント201をクライアントアプリケーション20に対して発生する。その後、イベント発生応答223を操作実行制御部111に送出する。
In response to the
操作実行制御部111は、操作シナリオ112のステップ14および当該ステップ以降の各ステップについても、上記同様の処理を続ける。ここでは、操作シナリオ112の[操作対象オブジェクト画像]として、ステップ14にファイル名「MM設定.bmp」、ステップ15にファイル名「HH設定.bmp」、ステップ16にファイル名「MM設定.bmp」、ステップ17にファイル名「予定欄.bmp」が設定され、ステップ18にファイル名「登録.bmp」が設定されている。この際のファイル名「MM設定.bmp」の内容(ビットマップイメージ)を図13に符号I15を付して示し、ファイル名「予定欄.bmp」の内容を図14に符号I16を付して示し、ファイル名「登録.bmp」の内容を図15に符号I17を付して示している。
The operation
このようにして、同一画面上に、同じ外見の操作対象オブジェクトが複数存在するとき、操作シナリオ112の各オブジェクト画像に対応させて[相対位置情報]に「序数」を設定(定義)しておくことにより、複数のオブジェクトの中から序数の順に従う単独のオブジェクトを特定することができる。これによってクライアントアプリケーション20の画面に対して適切な操作イベントを発生させることができる。
In this way, when there are a plurality of operation target objects having the same appearance on the same screen, “ordinal number” is set (defined) in [relative position information] corresponding to each object image of the
上記した操作シナリオ112に従う処理動作によって、負荷発生システム10から、クライアントアプリケーション20に対して、画面遷移に応じ、順次、適正なイベントを発生させることができ、これに伴いクライアントアプリケーション20からサーバ2に処理要求を送出して、サーバ2に所望の負荷をかける負荷試験が可能となる。上記した操作対象オブジェクトの特定機能はアプリケーションプログラムにより実現可能である。
By the processing operation according to the
尚、本発明は、適用の用途が負荷試験に限定されるものではない。例えばソフトウェアの開発の過程においては、開発されるソフトウェアがGUIを持っているときに、所定の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, a so-called function test is performed to verify whether the behavior of the software for performing a predetermined GUI operation is appropriate. . The present invention can also be applied to a use as a tool for operating a GUI instead of a human when performing a 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, which enables the GUI operation to be repeated on behalf of the operator even in such operation for reproducing an abnormal operation, is effective. Furthermore, in order to periodically monitor whether the WWW server is operating normally, the remote WWW browser is operated to access the WWW server, and the monitoring is realized by verifying the result. However, it is necessary to automatically operate the GUI of the WWW browser automatically on behalf of the operator, and the present invention is also effective in this case. 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 information from a remote WWW server and collecting information. Even in this case, the present invention is effective. In addition to the above, the present invention may be effectively used in all cases where there is a need to operate an application having a GUI on behalf of the operator.
1…情報端末(PC)、2…サーバ、3…操作者、10…負荷発生システム、11制御部、12…画面遷移判定部、13…対象オブジェクト特定部、14…操作イベント発生部、15…画像情報取得部、20…クライアントアプリケーション、30…シナリオ生成システム、111…操作実行制御部、112…操作シナリオ、131…対象オブジェクト特定制御部、132…対象オブジェクト判定部、133…画像比較部、134…相対位置関係分析部。
DESCRIPTION OF
Claims (5)
前記操作画面内の操作対象となるオブジェクトを定義した操作シナリオと、
前記操作対象となるオブジェクトを前記操作シナリオに定義された前記操作画面内の相対位置情報により特定する操作オブジェクトの特定手段と
を具備したことを特徴とする画面操作システム。 In a screen operation system for operating the application program by generating an operation event for an object to be operated in the operation screen for an application program accompanied by display of the operation screen,
An operation scenario that defines an object to be operated in the operation screen;
A screen operation system, comprising: an operation object specifying unit that specifies an object to be operated by relative position information in the operation screen defined in the operation scenario.
前記操作画面内に前記操作対象となるオブジェクトと同一形状のオブジェクトが複数存在するとき、前記操作シナリオに定義された前記操作画面内の相対位置情報を取得する機能と、
前記取得した相対位置情報をもとに前記操作対象となるオブジェクトを特定する機能と
をコンピュータに実現させるためのプログラム。 As a screen operation system for operating the application program by generating an operation event for the object to be operated in the operation screen according to the description content of the operation scenario for the application program accompanied by the display of the operation screen A program for operating a computer,
A function of acquiring relative position information in the operation screen defined in the operation scenario when there are a plurality of objects having the same shape as the object to be operated in the operation screen;
A program for causing a computer to realize a function of specifying an object to be operated based on the acquired relative position information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007060708A JP2008225683A (en) | 2007-03-09 | 2007-03-09 | Screen operation system and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007060708A JP2008225683A (en) | 2007-03-09 | 2007-03-09 | Screen operation system and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008225683A true JP2008225683A (en) | 2008-09-25 |
Family
ID=39844255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007060708A Withdrawn JP2008225683A (en) | 2007-03-09 | 2007-03-09 | Screen operation system and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008225683A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013033377A (en) * | 2011-08-02 | 2013-02-14 | Nippon Telegr & Teleph Corp <Ntt> | Method and device for specifying component to be automatically operated |
JP2018077762A (en) * | 2016-11-11 | 2018-05-17 | 日本電信電話株式会社 | Screen recognition device, screen recognition method, and screen recognition program |
JP2018077763A (en) * | 2016-11-11 | 2018-05-17 | 日本電信電話株式会社 | Object search device, object search method, and object search program |
JP2020187501A (en) * | 2019-05-13 | 2020-11-19 | 株式会社Cinnon | Information processing system and program |
JP2021163123A (en) * | 2020-03-31 | 2021-10-11 | 株式会社 ディー・エヌ・エー | Information processing program, information processing apparatus and information processing method |
-
2007
- 2007-03-09 JP JP2007060708A patent/JP2008225683A/en not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013033377A (en) * | 2011-08-02 | 2013-02-14 | Nippon Telegr & Teleph Corp <Ntt> | Method and device for specifying component to be automatically operated |
JP2018077762A (en) * | 2016-11-11 | 2018-05-17 | 日本電信電話株式会社 | Screen recognition device, screen recognition method, and screen recognition program |
JP2018077763A (en) * | 2016-11-11 | 2018-05-17 | 日本電信電話株式会社 | Object search device, object search method, and object search program |
JP2020187501A (en) * | 2019-05-13 | 2020-11-19 | 株式会社Cinnon | Information processing system and program |
JP7367917B2 (en) | 2019-05-13 | 2023-10-24 | 株式会社Cinnon | Information processing systems and programs |
JP2021163123A (en) * | 2020-03-31 | 2021-10-11 | 株式会社 ディー・エヌ・エー | Information processing program, information processing apparatus and information processing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107562626B (en) | Method for realizing Web automatic test by encapsulating Selenium and Sikuli | |
US7895565B1 (en) | Integrated system and method for validating the functionality and performance of software applications | |
US7810070B2 (en) | System and method for software testing | |
US7210123B2 (en) | Software evaluation system having source code and function unit identification information in stored administration information | |
US20040107415A1 (en) | Web-interactive software testing management method and computer system including an integrated test case authoring tool | |
US20160261475A1 (en) | System and method for accessibility assessment of a web application | |
JP5622647B2 (en) | Scenario generation device and scenario generation program | |
JP2006244195A (en) | Program test support device, and its method | |
Matam et al. | Pro Apache JMeter | |
Paganelli et al. | Tools for remote usability evaluation of Web applications through browser logs and task models | |
JP2008225683A (en) | Screen operation system and program | |
Dumas et al. | Robotic Process Mining. | |
JP2010102620A (en) | User operation scenario generating device, method and program | |
WO2020209227A1 (en) | Analysis device, analysis method, and program | |
JP4896909B2 (en) | Scenario generation apparatus and program | |
JP4795404B2 (en) | Operation verification apparatus and operation verification program | |
CN116719735A (en) | Test case generation method and device | |
JP2006185055A (en) | Design support system and design support program for computer system | |
US20030126506A1 (en) | Program testing system and method | |
JP6551082B2 (en) | Test support apparatus, test support method, and test support program | |
JP2022153237A (en) | security test system | |
JP6781688B2 (en) | Programs, information processing equipment and screen test systems | |
CN114968751A (en) | Program debugging method and program debugging device of code-free development platform | |
US10545858B2 (en) | Method for testing a graphical interface and corresponding test system | |
JP2007011728A (en) | Device, method, and program for preparation of operating procedure of general-purpose computer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100511 |