(57)【要約】【課題】本発明は、操作対象となるオブジェクトの特定において、単独のオブジェクトの形状を指定するだけでは操作対象オブジェクト一意に決定できない状況においても、複数のオブジェクトの相対的な位置関係を指定することによって、単独のオブジェクトを特定することを可能にした画面操作システムを提供することを課題とする。【解決手段】対象オブジェクト特定部１３は、操作シナリオ１１２に、操作画面内に存在する基準画像が定義され、相対位置情報として距離が定義されているとき、上記操作画面内に存在する、操作対象となるオブジェクトと同一形状のオブジェクト各々について、上記基準画像からの距離情報を取得し、当該距離情報をもとに、操作対象となるオブジェクトを特定する。【選択図】    図２
2008225683.tif 000002
【特許請求の範囲】
【請求項１】
操作画面の表示を伴うアプリケーションプログラムを対象に、前記操作画面内の操作対象となるオブジェクトに対して操作イベントを発生することにより、前記アプリケーションプログラムを操作する画面操作システムにおいて、
前記操作画面内の操作対象となるオブジェクトを定義した操作シナリオと、
前記操作対象となるオブジェクトを前記操作シナリオに定義された前記操作画面内の相対位置情報により特定する操作オブジェクトの特定手段と
を具備したことを特徴とする画面操作システム。
【請求項２】
前記操作シナリオは、前記操作対象となるオブジェクトの特定において、単独のオブジェクトの形状を指定するだけでは操作対象オブジェクトが一意に決定しない場合に、複数のオブジェクトの相対的な位置関係を指定することによって、当該単独のオブジェクトを特定することを可能にした前記相対位置情報の定義部を具備して構成されていることを特徴とする請求項１に記載の画面操作システム。
【請求項３】
前記操作対象オブジェクトの特定手段は、前記操作シナリオに対して前記操作画面内に存在する基準画像が定義され、前記相対位置情報を示す距離情報が定義されているとき、前記操作画面内に存在する、前記操作対象となるオブジェクトと同一形状のオブジェクト各々について、前記基準画像からの距離情報を取得し、当該距離情報をもとに、前記操作対象となるオブジェクトを特定することを特徴とする請求項２に記載の画面操作システム。
【請求項４】
前記操作対象オブジェクトの特定手段は、前記操作シナリオに対して前記操作画面内に存在する前記操作対象となるオブジェクトと同一形状のオブジェクト各々について、前記相対位置情報を示す序数が定義されているとき、前記序数をもとに、前記操作対象となるオブジェクトを特定することを特徴とする請求項２または３に記載の画面操作システム。
【請求項５】
操作画面の表示を伴うアプリケーションプログラムを対象に、操作シナリオの記述内容に従い、前記操作画面内の操作対象となるオブジェクトに対して操作イベントを発生することにより、前記アプリケーションプログラムを操作する画面操作システムとしてコンピュータを機能させるためのプログラムであって、
前記操作画面内に前記操作対象となるオブジェクトと同一形状のオブジェクトが複数存在するとき、前記操作シナリオに定義された前記操作画面内の相対位置情報を取得する機能と、
前記取得した相対位置情報をもとに前記操作対象となるオブジェクトを特定する機能と
をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムの負荷試験や機能試験等に適用して好適な画面操作システムおよびプログラムに関する。
【背景技術】
【０００２】
情報システムに対して、多量の処理要求が発生すると、情報システムに対する負荷が高くなる。この状況において、情報システムが示す性能は極めて重要である。すなわち情報システムがどれだけの負荷に耐えられるか、また、多量の負荷が発生しているときにどれだけの優れたレスポンスタイムを実現するかは、その情報システムの利用者にとっては重要な問題である。
【０００３】
情報システムを開発、運用する際に、この高負荷時の特性を測定、検証するために、擬似的に多量の負荷を発生させ、情報システムの性能を計測するような、負荷試験が行われることが多い。この種の負荷試験においては、特許文献１に示されるように、情報端末に相当するマシンから擬似的に多量の処理要求を情報システムに対して発生させるという手法をとることが一般的である。この情報端末に相当するマシンには、負荷試験プログラムをインストールすることによって、負荷を発生することが多い。この負荷試験プログラムは、人間が情報端末を操作するときと同様の処理要求を情報端末から発生させる。
【０００４】
負荷試験プログラムを実現するには、いくつかの方法がある。その中で、比較的広く普及しているのは、クライアントソフトウェアからサーバへ送られるメッセージを記録しておき、この記録したメッセージを負荷発生ツールからサーバに向けて擬似的に繰り返し発生させる方式である。しかしながら、この方式では、メッセージ内容が毎回変化するような複雑なシステムの場合に、クライアントソフトウェアと同じようにメッセージ内容を変えるための機構を負荷発生ツールにおいて実現する必要がある。状況によっては、これが非常に複雑で困難な場合があり、多大な労力を要する。さらにメッセージ内容の変化のし方を理解するためには、クライアントソフトウェアの内部の動きを理解する必要がある場合もあり、そのようなときには、負荷試験を実施する実施者に対して高度なスキルが要求されるため、負荷試験を行う人材確保に問題がある。
【０００５】
一方、別の実現方法として、クライアントソフトウェアの画面の自動操作によって負荷を発生する方法が考えられる。これは、情報端末においてクライアントソフトウェアを起動しておき、そのクライアントソフトウェアに対して、人間が行うのと同様の操作を、負荷試験ツールが擬似的に実行することによって、クライアントソフトウェアを動作させ、その結果として、クライアントソフトウェアから情報システムのサーバに対して処理要求を発生させる、という方法である。このときに、クライアントソフトウェアの画面遷移に応じて、ボタンなどの所定の操作対象に、マウスやキーボードからの入力イベント（操作イベント）が投入される。この一連の擬似的動作実行の内容は、あらかじめ操作シナリオの形で定義されている。この方式では、サーバへ送られるメッセージを生成するために、クライアントソフトウェア内部に実装されている機構をそのまま利用するため、前述のようなメッセージ内容を毎回変化させるための機構を別途作成する必要がない。さらにクライアントソフトウェアの操作方法を理解した者であれば上記操作シナリオを作成することが可能であり、高度なスキルを要求しない。
【０００６】
この画面自動操作による負荷発生方式においては、情報端末上のウィンドウ内で表示されるボタンやテキストボックスのようなオブジェクトを操作対象とする。このオブジェクトに所定の操作を投入する場合には、いくつかの実現方法が考えられる。その一つの方法は、画面を構成しているソフトウェアの構造を理解し、画面上のオブジェクトを上記ソフトウェアが管理している仕組みを明らかにすることによって、画面内のオブジェクトをソフトウェアが特定するために用いているＩＤを明確にし、そのＩＤと、そこに投入するイベントの種別を、操作シナリオに記述しておく。実行時には、オブジェクトのＩＤに基づいて、そのオブジェクトに対してマウスのクリックイベントなどを投入する。しかしながらこの方法は、ソフトウェアのオブジェクトの管理方法が変わると、オブジェクトの特定の仕方や表示位置の特定の方法も変化することになり、個々のソフトウェアのオブジェクトの管理方法に対応させて負荷試験プログラムを開発しなければならないことから多大のコストが発生するという問題がある。
【０００７】
一方、画面上のオブジェクトを、あらかじめ取得しておいた画像情報と比較することによって、画面上でのオブジェクトの表示位置を特定し、そのオブジェクトの表示位置までマウスを移動してクリックなどの操作に相当するイベントを発生させるという画面操作方式が考えられる。この方式ならば、オブジェクトの外見（形状）に基づいてオブジェクトを特定するために、ウィンドウのオブジェクト管理方式に対応して個々に対応方式を準備する必要が無いという利点がある。
【０００８】
このような方式でソフトウェアの画面に対して擬似的動作の実行を行うソフトウェアの例として、非特許文献１に示すようなフリーソフトとして公開されているＡｕｔｏＭｏｕｓｅがある。
【特許文献１】特開２００３−２０８３２９号公報
【非特許文献１】ＡｕｔｏＭｏｕｓｅ（ｈｔｔｐ：／／ｒｙｕｊｉｎ．ｋｕｉｓ．ｋｙｏｔｏ−ｕ．ａｃ．ｊｐ／ｙｌａｂ／ｙａｍａｋａｋｕ／ＡｕｔｏＭｏｕｓｅ／ｉｎｄｅｘ＿Ｊ．ｈｔｍｌ）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記したような画面操作方式を種々の画面を持つクライアントソフトウェアに適応し、効率的に利用するには少なくとも２つの課題があった。その１つの課題は、オブジェクトをその外見（形状）としての画像情報で特定するために、同一の外見のオブジェクトが同一画面に複数存在している場合に、その中から、所望の１つを特定できないことである。他の一つの課題は、上記操作シナリオを作成するための労力の大きさである。従来の方式では、情報端末（ＰＣ）の画面のスナップショットとしての画像情報を取得し、特殊なエディタを用いて、その中から操作対象となる画像の一部を指定し、その操作対象に対して、マウスやキーボードからどのような入力イベントを投入すべきかも定義する必要があった。複数の操作画面を順次切り替えるタイプのクライアントソフトウェアについて、このような手順で操作シナリオを作成するのには多くの労力が必要となり、作業効率を著しく低下させる要因となっていた。
【００１０】
本発明は上記実情に鑑みなされたもので、同一操作画面内に操作対象となるオブジェクトと同一形状のオブジェクトが複数存在する場合であっても、操作対象となるオブジェクトを特定でき、これによってクライアントアプリケーションの画面に対して常に適切な操作イベントを発生させることができる画面操作システムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、操作画面の表示を伴うアプリケーションプログラムを対象に、前記操作画面内の操作対象となるオブジェクトに対して操作イベントを発生することにより、前記アプリケーションプログラムを操作する画面操作システムにおいて、前記操作画面内の操作対象となるオブジェクトを定義した操作シナリオと、前記操作対象となるオブジェクトを前記操作シナリオに定義された前記操作画面内の相対位置情報により特定する操作対象オブジェクトの特定手段とを具備した画面操作システムを提供する。
【００１２】
また本発明は、操作画面の表示を伴うアプリケーションプログラムを対象に、操作シナリオの記述内容に従い、前記操作画面内の操作対象となるオブジェクトに対して操作イベントを発生することにより、前記アプリケーションプログラムを操作する画面操作システムとしてコンピュータを機能させるためのプログラムであって、前記操作画面内に前記操作対象となるオブジェクトと同一形状のオブジェクトが複数存在するとき、前記操作シナリオに定義された前記操作画面内の相対位置情報を取得する機能と、前記取得した相対位置情報をもとに前記操作対象となるオブジェクトを特定する機能と、をコンピュータに実現させるためのプログラムを提供する。
【発明の効果】
【００１３】
操作対象となるオブジェクトの特定において、単独のオブジェクトの形状を指定するだけでは操作対象オブジェクトが一意に決定しない状況においても、単独のオブジェクトを特定することが可能となる。従ってクライアントアプリケーションの画面に対して、適切な操作イベントを発生させることが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下図面を参照して本発明の実施形態を説明する。  
本発明の実施形態は、操作画面の表示を伴うアプリケーションプログラムを対象に、上記操作画面内の操作対象となるオブジェクトに対して、操作イベントを発生することにより、上記アプリケーションプログラムを操作する画面操作システムにおいて、上記操作対象となるオブジェクトを上記操作画面内の相対位置により特定する対象オブジェクト特定手段を有して、操作対象となるオブジェクトの特定において単独のオブジェクトの形状を指定するだけでは操作対象オブジェクトオブジェクトを一意に決定できない場合においても当該オブジェクトを特定可能にしたことを特徴とする。この対象オブジェクトの特定機能をもつことにより、クライアントアプリケーションの画面に対して、常に適切な操作イベントを発生させることができる。
【００１５】
本発明の実施形態は、操作画面の表示を伴うアプリケーションプログラムを対象に、上記操作画面内の操作対象となるオブジェクトに対して操作イベントを発生することにより、上記アプリケーションプログラムを操作する画面操作システムにおいて、上記操作画面内の操作対象となるオブジェクトを定義した操作シナリオと、上記操作対象となるオブジェクトを上記操作シナリオに定義された上記操作画面内の相対位置情報により特定する操作対象オブジェクトの特定手段とを具備して構成される。また上記画面操作システムにおいて、上記操作対象オブジェクトの特定手段は、上記操作シナリオに、上記操作画面内に存在する基準画像が定義され、上記相対位置情報として距離が定義されているとき、上記操作画面内に存在する、上記操作対象となるオブジェクトと同一形状のオブジェクト各々について、上記基準画像からの距離情報を取得し、当該距離情報をもとに、上記操作対象となるオブジェクトを特定する機能を有する。また上記画面操作システムにおいて、上記操作対象オブジェクトの特定手段は、上記操作シナリオに、上記相対位置情報として、上記操作画面内に存在する上記操作対象となるオブジェクトと同一形状のオブジェクト各々について、序数が定義されているとき、上記序数をもとに、上記操作対象となるオブジェクトを特定する機能を有する。上記操作シナリオは図１および図７において操作シナリオ１１２として実現される。上記操作対象オブジェクトの特定手段は図２および図３に示す対象オブジェクト特定部１３、および図２に示す画像情報取得部１５により実現される。
【００１６】
図１は、負荷試験を行うシステム全体の構成を示すブロック図であり、負荷を発生するクライアント側の複数の情報端末（ＰＣ）１，１，…と、負荷試験の対象となるサーバ２とにより構成される。クライアント側の複数の情報端末（ＰＣ）１，１，…には、それぞれサーバ２に対して処理要求を行う負荷発生システム１０およびクライアントアプリケーション２０を単位負荷発生源とする負荷発生手段が設けられる。
【００１７】
負荷試験においては、クライアント側の複数の情報端末（ＰＣ）１，１，…に設けられた負荷発生手段から、サーバ２に対し、多量の処理要求を加えることによって、サーバ２の負荷時におけるリソース（ＣＰＵ等）利用率や、処理要求に対するレスポンスタイム等を測定する。
【００１８】
上記図１に示す負荷発生システム１０の構成を図２に示す。  
負荷発生システム１０は、クライアントアプリケーション２０に対して、人間が操作するのと同等に、マウスイベントやキーボードイベントを発生させることによって、画面操作を行う。これによって、クライアントアプリケーション２０は、サーバ２に対して処理要求を発行する。
【００１９】
負荷発生システム１０は、図２に示すように、制御部１１と、画面遷移判定部１２と、対象オブジェクト特定部１３と、操作イベント発生部１４と、画像情報取得部１５とを具備する。
【００２０】
図２に示す負荷発生システム１０において、制御部１１は、操作実行制御部１１１と、シナリオ格納部に格納された操作シナリオ１１２とを具備する。
【００２１】
制御部１１に設けられた操作実行制御部１１１は、操作シナリオ１１２の記述内容に従い、画面遷移判定部１２、対象オブジェクト特定部１３、および操作イベント発生部１４を制御する。操作シナリオ１１２は、画面上の操作によりサーバ２に実行させる一連の擬似的動作の内容を定義したもので、この実施形態では、操作対象となるオブジェクトの特定において、単独のオブジェクトの形状を指定するだけでは操作対象オブジェクトが一意に決定しない場合に、複数のオブジェクトの相対的な位置関係を指定することによって、単独のオブジェクトを特定することを可能にした相対位置情報の定義部を具備して構成される。この操作シナリオ１１２の具体的な構成については図７を参照して後述する。
【００２２】
制御部１１に設けられた操作実行制御部１１１は、画面遷移判定部１２に対して画面遷移判定要求２１３を発行し、画面遷移判定部１２から画面遷移判定応答２２１を受け付けるインターフェイス機能と、対象オブジェクト特定部１３に対して操作対象オブジェクト特定要求２１１を発行し、対象オブジェクト特定部１３から操作対象オブジェクト特定応答２２２を受け付けるインターフェイス機能と、操作イベント発生部１４に対してイベント発生要求２１２を発行し、操作イベント発生部１４からイベント発生応答２２３を受け付けるインターフェイス機能とを具備する。
【００２３】
画面遷移判定部１２は、操作実行制御部１１１から受けた画面遷移判定要求２１３に従い画像情報取得部１５に対して画面情報取得要求２１５を発行し、画像情報取得部１５から画像情報取得応答２２５を受け付けて、画面遷移判定応答２２１を操作実行制御部１１１に送出するインターフェイス機能を具備する。
【００２４】
対象オブジェクト特定部１３は、操作実行制御部１１１から受けた操作対象オブジェクト特定要求２１１に従い画像情報取得部１５に対して画面情報取得要求２１６を発行し、画像情報取得部１５から画像情報取得応答２２６を受け付けて、操作対象オブジェクト特定応答２２２を操作実行制御部１１１に送出するインターフェイス機能を具備する。
【００２５】
操作イベント発生部１４は、操作実行制御部１１１から受けたイベント発生要求２１２に従いクライアントアプリケーション２０に対してイベント２０１を発行し、イベント発生応答２２３を操作実行制御部１１１に送出するインターフェイス機能を具備する。クライアントアプリケーション２０は操作イベント発生部１４から受けたイベント２０１に従う処理要求２０２をサーバ２に送出する。
【００２６】
画像情報取得部１５は、画面遷移判定部１２から受けた画面情報取得要求２１５に従いクライアントアプリケーション２０から画像情報２０３を取得し、画像情報取得応答２２５を画面遷移判定部１２に送出するインターフェイス機能と、対象オブジェクト特定部１３から受けた画面情報取得要求２１６に従いクライアントアプリケーション２０から画像情報２０３を取得し、画像情報取得応答２２６を対象オブジェクト特定部１３に送出するインターフェイス機能とを具備する。
【００２７】
なお、操作対象オブジェクト特定要求２１１、画面遷移判定要求２１３、画像情報取得応答２２５，２２６には、それぞれクライアントアプリケーション２０の操作画面に含まれるビットマップイメージ（．ｂｍｐ）の画像情報が付随する。
【００２８】
上記図２に示す対象オブジェクト特定部１３の構成を図３に示す。
【００２９】
対象オブジェクト特定部１３は、図３に示すように、対象オブジェクト特定制御部１３１と、対象オブジェクト判定部１３２と、画像比較部１３３と、相対位置関係分析部１３４とを具備する。
【００３０】
対象オブジェクト特定制御部１３１は、操作実行制御部１１１から受けた操作対象オブジェクト特定要求２１１に従い、当該要求に付随するビットマップイメージの画像情報を画像比較部１３３に送出するとともに、画面情報取得要求２１６を画像情報取得部１５に送出して、画像情報取得部１５から画像情報取得応答２２６に付随するビットマップイメージの画像情報を取得し、上記各画像情報を画像比較部１３３に供給する処理機能を実現する。
【００３１】
画像比較部１３３は、上記対象オブジェクト特定制御部１３１の制御で取得された上記各ビットマップイメージの画像情報を比較して、クライアントアプリケーション２０の操作画面から上記操作対象オブジェクト特定要求２１１が指定した画像を検索し、当該検索結果の情報として、図１６に示す対象オブジェクト候補表２３１を作成し、この対象オブジェクト候補表２３１に、上記操作対象オブジェクト特定要求２１１が指定した画像を基準画像（基準オブジェクト）として、当該基準画像のオブジェクトＩＤ、および中心位置（Ｘ・Ｙ）座標を登録するとともに、検索した画像（オブジェクト候補）のオブジェクトＩＤ、および中心位置（Ｘ・Ｙ）座標を登録する。または上記検索結果の情報として、図１７に示す対象オブジェクト候補表２３２を作成し、この対象オブジェクト候補表２３２に、上記操作対象オブジェクト特定要求２１１が指定した相対位置情報（序数）に従う画像（オブジェクト候補）のオブジェクトＩＤ、および中心位置（Ｘ・Ｙ）座標を登録する。
【００３２】
相対位置関係分析部１３４は、上記画像比較部１３３が作成した図１６に示す対象オブジェクト候補表２３１の座標情報を分析して、検索した画像（オブジェクト候補）各々の基準オブジェクトに対する距離を算出し、当該距離情報をオブジェクト候補に対応付けて対象オブジェクト候補表に登録する。または、図１７に示す対象オブジェクト候補表２３２を分析して、「位置の順位」に、操作シナリオ１１２の定義内容（序数）に従う、位置の順位の情報を登録する。
【００３３】
対象オブジェクト判定部１３２は、上記対象オブジェクト候補表を参照して、オブジェクト候補の中から基準オブジェクトに対して最短距離のオブジェクト候補、若しくは序数の順位に従う１つのオブジェクト候補を選択し、当該オブジェクト候補を操作対象オブジェクトとして特定し、当該操作対象オブジェクトを対象オブジェクト特定制御部１３１に通知する。
【００３４】
ここで、クライアントアプリケーション２０に於ける操作画面の具体例を挙げて、上記負荷発生システム１０の動作について、図４乃至図１７を参照して説明する。ここでは、クライアントアプリケーション２０が扱うアプリケーション操作ウィンドウとして、図４に示す、スケジュール表示画面を例に動作を説明する。
【００３５】
負荷発生システム１０の制御部１１に設けられた操作実行制御部１１１は、操作シナリオ１１２の定義内容に従い、負荷発生システム１０に設けられた画面遷移判定部１２、対象オブジェクト特定部１３、操作イベント発生部１４、および画像情報取得部１５等の各構成要素を制御する。
【００３６】
制御部１１に設けられた操作実行制御部１１１は、操作シナリオ１１２に記述（定義）されている内容に従い、対象オブジェクト特定部１３に対して操作対象オブジェクト特定要求２１１を送出し、操作イベント発生部１４に対してイベント発生要求２１２を送出し、画面遷移判定部１２に対して画面遷移判定要求２１３を送出する。
【００３７】
画面遷移判定部１２および対象オブジェクト特定部１３はそれぞれ操作実行制御部１１１の制御のもとに画像情報取得部１５に画面情報取得要求２１５，２１６を送出する。すなわち画面遷移判定部１２は、操作実行制御部１１１から画面遷移判定要求２１３を受けると、画像情報取得部１５に対して画面情報取得要求２１５を送出する。対象オブジェクト特定部１３は、操作実行制御部１１１から操作対象オブジェクト特定要求２１１を受けると、画像情報取得部１５に対して画面情報取得要求２１６を送出する。
【００３８】
画像情報取得部１５は画面遷移判定部１２から画面情報取得要求２１５を受けると、オペレーティングシステム（ＯＳ）を介してクライアントアプリケーション２０が画面に表示している画像情報２０３を取得し、取得した画像を含む画像情報取得応答２２５を画面遷移判定部１２に送出する。同様に対象オブジェクト特定部１３から画面情報取得要求２１６を受けると、クライアントアプリケーション２０が画面に表示している画像情報２０３を取得し、取得した画像を含む画像情報取得応答２２６を対象オブジェクト特定部１３に送出する。
【００３９】
この際のクライアントアプリケーション２０が画面に表示している画像情報（アプリケーション操作ウィンドウ）２０３の具体例を図４に示している。ここでは、スケジュール管理システムに於けるスケジュール表示画面２１を例に示している。以降の動作説明においては、この図４に示すスケジュール表示画面２１の画像情報が画像情報取得部１５により画像情報２０３として取得され、当該スケジュール表示画面２１の画像情報が画面遷移判定部１２、および対象オブジェクト特定部１３に送出されるものとする。
【００４０】
図４に示すスケジュール表示画面２１において、「９（火）」の新規登録のリンクをクリックすると、操作画面が図４に示すスケジュール表示画面２１から図５に示すスケジュール登録画面２２に遷移する。さらに、このスケジュール登録画面２２上で、「時刻」や「予定」に内容を記入し、「登録」ボタンをクリックすると、次の画面に遷移する。
【００４１】
この一連の画面遷移に応じた操作を負荷発生システム１０によって実現する手順を以下に説明する。
【００４２】
上記図４に示すスケジュール表示画面２１の座標軸を図６に示している。ここでは、ＸＧＡ（１０２４×７６８ドット）のアプリケーション操作ウィンドウを例に示している。
【００４３】
上記操作シナリオ１１２の一部記述例を図７に示している。この操作シナリオ１１２は、図７に示すように、操作ステップと、画面識別情報（画面ＩＤ）と、ビットマップイメージの画面遷移判定画像、操作対象オブジェクト画像、および基準画像と、判定／操作内容と、数値情報と、相対位置情報とを設定項目（定義項目）として構成される。
【００４４】
クライアントアプリケーション２０は、画面遷移の中で、図４に示すスケジュール表示画面２１を表示しようとしている状態とする。
【００４５】
操作実行制御部１１１は、操作シナリオ１１２のステップ１０を読み取る。このステップ１０には、［判定／操作内容］として「画面遷移判定」が設定（定義）されている。従って、次に行うことは、画面遷移の判定であることが決定される。また、［画面遷移判定画像］として、ファイル名「スケジュール表示．ｂｍｐ」が設定されている。その内容（ビットマップイメージ）を図８に符号Ｉ１０を付して示している。操作実行制御部１１１は、この図８に示す画面遷移判定画像の情報（ビットマップイメージ）Ｉ１０を含む画面遷移判定要求２１３を画面遷移判定部１２に送出する。
【００４６】
画面遷移判定部１２は、操作実行制御部１１１から画面遷移判定要求２１３を受けると、画像情報取得部１５に対して画面情報取得要求２１５を送出する。
【００４７】
画像情報取得部１５は、画面遷移判定部１２から画面情報取得要求２１５を受けると、クライアントアプリケーション２０が表示している画像情報（ビットマップイメージ）２０３を取得し、当該画像情報２０３を含む画像情報取得応答２２５を画面遷移判定部１２に送出する。
【００４８】
画面遷移判定部１２は、画像情報取得部１５を介してクライアントアプリケーション２０から取得した画像情報２０３の中に、「スケジュール表示．ｂｍｐ」の画像と合致する部分があるか否かを検査する。この際の「スケジュール表示．ｂｍｐ」の内容（ビットマップイメージ）は上記した図８に示す画面遷移判定画像の情報（ビットマップイメージ）Ｉ１０である。
【００４９】
なお、この検査において、例えば画面遷移が完了していないために合致する部分が無かった場合、画面遷移判定部１２は、画像情報取得部１５に対して、画面情報取得要求２１５を送出する動作から上記同様の処理を適当な頻度で繰り返し実行する。
【００５０】
画面遷移が完了し合致する部分が見つかった場合、画面遷移判定部１２は、操作実行制御部１１１に対して画面遷移判定応答２２１を送出する。
【００５１】
操作実行制御部１１１は、操作シナリオ１１２の次のステップであるステップ１１を読み取る。このステップ１１には、［判定／操作内容］として「クリック」が設定されている。従って、次に行うことは、クリックであることが決定される。また、［操作対象オブジェクト画像］としてファイル名「新規登録．ｂｍｐ」、［基準画像］としてファイル名「９日．ｂｍｐ」、［相対位置情報］として「最短距離」が設定されている。この基準画像「９日．ｂｍｐ」の内容（ビットマップイメージ）を図９に符号Ｉ１１を付して示し、「新規登録．ｂｍｐ」の内容（ビットマップイメージ）を図１０に符号Ｉ１２を付して示している。
【００５２】
操作実行制御部１１１は、上記した操作シナリオ１１２の内容に従い、対象オブジェクト特定部１３に対して操作対象オブジェクト特定要求２１１を送出する。この操作対象オブジェクト特定要求２１１には、上記した図９に示す基準画像（ビットマップイメージ）Ｉ１１、図１０に示す操作対象オブジェクト画像（ビットマップイメージ）Ｉ１２、および相対位置情報（最短距離）が付随している。
【００５３】
対象オブジェクト特定部１３において、対象オブジェクト特定制御部１３１は、操作実行制御部１１１から操作対象オブジェクト特定要求２１１を受けると、画像情報取得部１５に画面情報取得要求２１６を送出する。
【００５４】
画像情報取得部１５は、対象オブジェクト特定部１３に設けられた対象オブジェクト特定制御部１３１から画面情報取得要求２１６を受けると、クライアントアプリケーション２０が表示している画像情報２０３を取得し、当該取得した画像情報２０３を対象オブジェクト特定部１３に設けられた画像比較部１３３に送出する。今回のケースでは、画像情報２０３として図４に示すスケジュール表示画面２１が画像比較部１３３に送出される。
【００５５】
画像比較部１３３は、画像情報取得部１５を介してクライアントアプリケーション２０から取得した画像情報２０３の中から、操作対象オブジェクト画像としてファイル名「新規登録．ｂｍｐ」で表される画像（ビットマップイメージ）Ｉ１２と一致する部分を検索する。ここでは「新規登録．ｂｍｐ」の画像（ビットマップイメージ）Ｉ１２と一致する複数の画像がそれぞれ対象オブジェクト候補として検索される。
【００５６】
画像比較部１３３は、上記検索の結果として、図１６に示す対象オブジェクト候補表２３１を作成し、この対象オブジェクト候補表２３１に［オブジェクトＩＤ］、［中心Ｘ座標］、［中心Ｙ座標］の各情報を設定する。その後、画像比較部１３２は、相互位置関係分析部１３４に処理を引き継ぐ。
【００５７】
相互位置関係分析部１３４は、画像比較部１３３が設定した図１６に示す対象オブジェクト候補表２３１の内容を分析し、［基準オブジェクトとの距離］に距離情報を設定して、対象オブジェクト判定部１３２に処理を引き継ぐ。ここでの画像比較部１３３における処理は、基準画像Ｉ１１と各候補画像との座標値をもとに、基準画像Ｉ１１に対する各候補画像の距離を求め、その距離情報を対象オブジェクト候補表２３１の［基準オブジェクトとの距離］に設定する。
【００５８】
対象オブジェクト判定部１３２は、対象オブジェクト候補表２３１の内容から、画像比較部１３３が［基準オブジェクトとの距離］に設定した「候補２」の距離が基準画像Ｉ１１に対して最短距離であることを判定し、この判定結果の情報を対象オブジェクト特定制御部１３１に送出して、対象オブジェクト特定制御部１３１に制御を渡す。
【００５９】
対象オブジェクト特定制御部１３１は、上記対象オブジェクト判定部１３２から受けた判定結果の情報に従う、候補２の中心Ｘ座標、中心Ｙ座標の情報を操作対象オブジェクト特定応答２２２に付随させ、当該操作対象オブジェクト特定応答２２２を操作実行制御部１１１に送出する。
【００６０】
操作実行制御部１１１は、対象オブジェクト特定制御部１３１から受けた操作対象オブジェクト特定応答２２２に付随した、候補２の中心Ｘ座標、中心Ｙ座標の情報と、操作／判定内容として「クリック」の情報をイベント発生要求２１２に付随させ、当該イベント発生要求２１２を操作イベント発生部１４に送出する。
【００６１】
操作イベント発生部１４は、操作実行制御部１１１から受けたイベント発生要求２１２に従い、候補２の中心Ｘ座標、中心Ｙ座標にマウスが移動したのと同等のイベント２０１をクライアントアプリケーション２０に対して発生する。さらに、マウスクリックのイベント２０１をクライアントアプリケーション２０に対して発生する。その後、イベント発生応答２２３を操作実行制御部１１１に送出する。
【００６２】
このようにして、同一画面上に、同じ外見の操作対象オブジェクトが複数存在するとき、操作シナリオ１１２の［相対位置情報］に「最短距離」を設定し、［基準画像］に操作対象の近傍位置にある画像を設定しておくことにより、複数のオブジェクトの中から所望する単独のオブジェクトを特定することができる。これによってクライアントアプリケーション２０の画面に対して適切な操作イベントを発生させることができる。
【００６３】
次に、操作実行制御部１１１は、操作シナリオ１１２の次のステップである、ステップ１２を読み取る。このステップ１２には、［判定／操作内容］として「画面遷移判定」が設定されている。
【００６４】
ここでは、上記ステップ１０で実行したのと同様に、ステップ１２の処理が実行される。このステップ１２における「スケジュール登録．ｂｍｐ」の内容（ビットマップイメージ）を図１１に符号Ｉ１３を付して示している。
【００６５】
操作実行制御部１１１は、操作シナリオ１１２の次のステップである、ステップ１３を読み取る。このステップ１３には、［判定／操作内容］として「テキスト入力」が設定されている。従って、次に行うことは、テキスト入力であることが決定される。また、［操作対象オブジェクト画像］として、ファイル名「ＨＨ設定．ｂｍｐ」が設定され、［相対位置情報］として、「左１番目、上１番目」が設定されている。この「ＨＨ設定．ｂｍｐ」の内容を図１２に符号Ｉ１４を付して示している。
【００６６】
操作実行制御部１１１は、上記した操作シナリオ１１２の内容に従い、対象オブジェクト特定部１３に対して操作対象オブジェクト特定要求２１１を送出する。この操作対象オブジェクト特定要求２１１には、上記した［操作対象オブジェクト画像］として図１２に示す時間設定画面（ビットマップイメージ）Ｉ１４、［相対位置情報］として「左１番目、上１番目」の情報が付随している。
【００６７】
対象オブジェクト特定部１３に設けられた対象オブジェクト特定制御部１３１は、操作実行制御部１１１から操作対象オブジェクト特定要求２１１を受けると、画像情報取得部１５に対して画面情報取得要求２１６を送出する。
【００６８】
画像情報取得部１５は、対象オブジェクト特定部１３に設けられた対象オブジェクト特定制御部１３１から画面情報取得要求２１６を受けると、クライアントアプリケーション２０が表示している画像情報を取得し、当該取得した画像情報を含む画像情報取得応答２２６を画像比較部１３２に送出する。今回のケースでは、図５に示すスケジュール登録画面２２の画像情報が送出されることになる。
【００６９】
画像比較部１３２は、画像情報取得部１５を介してクライアントアプリケーション２０から取得した画像情報の中から、［操作対象オブジェクト画像］として設定されたファイル名「ＨＨ設定．ｂｍｐ」で表される画像と一致する部分を検索する。ここでは、図１２に示す時間設定画面Ｉ１４に一致する画像が検索される。
【００７０】
画像比較部１３３は、上記検索の結果として、図１７に示す対象オブジェクト候補表２３２を作成し、この対象オブジェクト候補表２３２に、［オブジェクトＩＤ］、［中心Ｘ座標］、［中心Ｙ座標］の各情報を設定する。その後、画像比較部１３２は、相互位置関係分析部１３４に処理を引き継ぐ。
【００７１】
相互位置関係分析部１３４は、画像比較部１３３が設定した図１７に示す対象オブジェクト候補表２３２の内容を分析し、［位置の順位］に、左からの位置の順位の情報を設定し、対象オブジェクト判定部１３２に処理を引き継ぐ。
【００７２】
対象オブジェクト判定部１３２は、対象オブジェクト候補表２３２の内容から、「候補１」が、左から１番目、上から１番目であることを判定し、その判定結果の情報を対象オブジェクト特定部１３に送出して、対象オブジェクト特定制御部１３１に制御を渡す。
【００７３】
対象オブジェクト特定制御部１３１は、対象オブジェクト判定部１３２から受けた判定結果の情報に従う、候補１の中心Ｘ座標、中心Ｙ座標の情報を操作対象オブジェクト特定応答２２２に付随させ、当該操作対象オブジェクト特定応答２２２を操作実行制御部１１１に送出する。
【００７４】
操作実行制御部１１１は対象オブジェクト特定制御部１３１から操作対象オブジェクト特定応答２２２を受けると、この操作対象オブジェクト特定応答２２２に付随する、候補１の中心Ｘ座標、中心Ｙ座標の情報と、操作シナリオ１１２の［操作／判定内容］に設定された「テキスト入力」の情報と、［値］に設定された「９」の情報とを付随させたイベント発生要求２１２を操作イベント発生部１４に送出する。
【００７５】
操作イベント発生部１４は操作実行制御部１１１から受けたイベント発生要求２１２に従い、候補１の中心Ｘ座標、中心Ｙ座標に、マウスが移動したのと同等のイベント２０１をクライアントアプリケーション２０に対して発生する。さらに「９」のテキスト入力のイベント２０１をクライアントアプリケーション２０に対して発生する。その後、イベント発生応答２２３を操作実行制御部１１１に送出する。
【００７６】
操作実行制御部１１１は、操作シナリオ１１２のステップ１４および当該ステップ以降の各ステップについても、上記同様の処理を続ける。ここでは、操作シナリオ１１２の［操作対象オブジェクト画像］として、ステップ１４にファイル名「ＭＭ設定．ｂｍｐ」、ステップ１５にファイル名「ＨＨ設定．ｂｍｐ」、ステップ１６にファイル名「ＭＭ設定．ｂｍｐ」、ステップ１７にファイル名「予定欄．ｂｍｐ」が設定され、ステップ１８にファイル名「登録．ｂｍｐ」が設定されている。この際のファイル名「ＭＭ設定．ｂｍｐ」の内容（ビットマップイメージ）を図１３に符号Ｉ１５を付して示し、ファイル名「予定欄．ｂｍｐ」の内容を図１４に符号Ｉ１６を付して示し、ファイル名「登録．ｂｍｐ」の内容を図１５に符号Ｉ１７を付して示している。
【００７７】
このようにして、同一画面上に、同じ外見の操作対象オブジェクトが複数存在するとき、操作シナリオ１１２の各オブジェクト画像に対応させて［相対位置情報］に「序数」を設定（定義）しておくことにより、複数のオブジェクトの中から序数の順に従う単独のオブジェクトを特定することができる。これによってクライアントアプリケーション２０の画面に対して適切な操作イベントを発生させることができる。
【００７８】
上記した操作シナリオ１１２に従う処理動作によって、負荷発生システム１０から、クライアントアプリケーション２０に対して、画面遷移に応じ、順次、適正なイベントを発生させることができ、これに伴いクライアントアプリケーション２０からサーバ２に処理要求を送出して、サーバ２に所望の負荷をかける負荷試験が可能となる。上記した操作対象オブジェクトの特定機能はアプリケーションプログラムにより実現可能である。
【００７９】
尚、本発明は、適用の用途が負荷試験に限定されるものではない。例えばソフトウェアの開発の過程においては、開発されるソフトウェアがＧＵＩを持っているときに、所定のＧＵＩ操作を行うことに対するソフトウェアの挙動が適切か否かを検証する、いわゆる、機能試験が実施される。本発明は、機能試験を実施する際に、ＧＵＩを人間に代わり操作するツールとしての用途にも適用可能である。また、ＧＵＩを備えたソフトウェアにおいては、バグによる動作異常が発生することがある。しかしながら、動作異常が、所定のＧＵＩ操作を行っても毎回再現するとは限らない。ソフトウェア内部の処理とＧＵＩ操作との微妙のタイミングによって、そのバグが動作異常を引き起こす場合もあり、動作異常を再現させるためには、所定のＧＵＩ操作を多数回繰り返さなければならないこともある。このような、動作異常の再現作業においても、操作者に代わってＧＵＩ操作を繰り返すことを可能とする、本発明は有効である。さらに、ＷＷＷサーバが正常に運用されているかを定期的に監視するために、遠隔にあるＷＷＷブラウザを操作して、前記ＷＷＷサーバをアクセスし、その結果を検証することによって、監視を実現する用途においても、ＷＷＷブラウザがもつＧＵＩを操作者に代わって定期的に自動的操作する必要性があり、この場合においても本発明は有効である。同様に、遠隔のＷＷＷサーバから、ＷＷＷブラウザでアクセスを行い、情報を収集する作業を定期的に繰り返したい場合においても、ＷＷＷブラウザがもつＧＵＩを操作者に代わって定期的に自動的操作する必要性があり、この場合においても本発明は有効である。上記以外にも、ＧＵＩを持ったアプリケーションを、操作者に代わって操作する必要性がある全ての場合において、本発明は有効に活用できる可能性がある。
【図面の簡単な説明】
【００８０】
【図１】本発明の実施形態に係る、負荷試験を行うシステム全体の構成を示すブロック図。
【図２】上記実施形態に係る負荷発生システムの構成を示すブロック図。
【図３】上記実施形態に係る対象オブジェクト特定部の構成を示すブロック図。
【図４】上記実施形態に係る、クライアントアプリケーションが画面に表示している画像情報の具体例を示す図。
【図５】上記実施形態に係るスケジュール登録画面の具体例を示す図。
【図６】上記実施形態に係るスケジュール表示画面の座標軸を示す図。
【図７】上記実施形態に係る操作シナリオの一部記述例を示す図。
【図８】上記実施形態に係る画面遷移判定画像の具体例を示す図。
【図９】上記実施形態に係る基準画像の具体例を示す図。
【図１０】上記実施形態に係る操作対象オブジェクト画像の具体例を示す図。
【図１１】上記実施形態に係る画面遷移判定画像の具体例を示す図。
【図１２】上記実施形態に係る操作対象オブジェクト画像の具体例を示す図。
【図１３】上記実施形態に係る操作対象オブジェクト画像の具体例を示す図。
【図１４】上記実施形態に係る操作対象オブジェクト画像の具体例を示す図。
【図１５】上記実施形態に係る操作対象オブジェクト画像の具体例を示す図。
【図１６】上記実施形態に係る対象オブジェクト候補表の内容例を示す図。
【図１７】上記実施形態に係る対象オブジェクト候補表の内容例を示す図。
【符号の説明】
【００８１】
１…情報端末（ＰＣ）、２…サーバ、３…操作者、１０…負荷発生システム、１１制御部、１２…画面遷移判定部、１３…対象オブジェクト特定部、１４…操作イベント発生部、１５…画像情報取得部、２０…クライアントアプリケーション、３０…シナリオ生成システム、１１１…操作実行制御部、１１２…操作シナリオ、１３１…対象オブジェクト特定制御部、１３２…対象オブジェクト判定部、１３３…画像比較部、１３４…相対位置関係分析部。
【図１】
2008225683.tif 000003
【図２】
2008225683.tif 000004
【図３】
2008225683.tif 000005
【図４】
2008225683.tif 000006
【図５】
2008225683.tif 000007
【図６】
2008225683.tif 000008
【図７】
2008225683.tif 000009
【図８】
2008225683.tif 000010
【図９】
2008225683.tif 000011
【図１０】
2008225683.tif 000012
【図１１】
2008225683.tif 000013
【図１２】
2008225683.tif 000014
【図１３】
2008225683.tif 000015
【図１４】
2008225683.tif 000016
【図１５】
2008225683.tif 000017
【図１６】
2008225683.tif 000018
【図１７】
2008225683.tif 000019