(57)【特許請求の範囲】
【請求項１】
コンピュータに、
Ｗｅｂブラウザによって表示されている所定の入力部品に対する入力操作による変化を除外して、前記Ｗｅｂブラウザにおける表示内容が変化したか否かを判定し、前記Ｗｅｂブラウザにおける表示内容が変化した後、所定の期間、前記Ｗｅｂブラウザにおける表示内容が変化しなかった場合に、前記Ｗｅｂブラウザに対し、所定のテスト操作を実行する、
処理を実行させることを特徴とする、テストプログラム。
【請求項２】
前記ＷｅｂブラウザによりＨＴＴＰレスポンスに応じたページ遷移を検知し、
前記ページ遷移後に、前記Ｗｅｂブラウザによって表示されている所定の入力部品に対する入力操作による変化を除外して、前記Ｗｅｂブラウザにおける表示内容が変化したか否かを判定し、前記Ｗｅｂブラウザにおける表示内容が変化した後、所定の期間、前記Ｗｅｂブラウザにおける表示内容が変化しなかった場合にページの区切りを判定し、
前記Ｗｅｂブラウザに対し、前記区切りに応じた所定のテスト操作を実行する、
請求項１記載のテストプログラム。
【請求項３】
前記Ｗｅｂブラウザにおける表示内容の変化が完了した、前記所定の期間の開始時または終了時のタイミングを、前記Ｗｅｂブラウザにおける表示内容と対応付けて記録することを特徴とする、
請求項１または２記載のテストプログラム。
【請求項４】
前記区切りの判定は、
所定の期間毎に前記Ｗｅｂブラウザにおける表示内容を取得し、
取得した表示内容を保存し、
保存してある前回の表示内容と、取得した今回の表示内容とを比較し、
比較した表示内容が変化した場合に区切り判定を開始し、
区切り判定を開始した後に、比較した表示内容が変化しなかった場合に区切りタイミングと判定する
請求項２記載のテストプログラム。
【請求項５】
前記所定のテスト操作は、
前記Ｗｅｂブラウザに対して行う処理が、前記区切り単位に記録されたシナリオデータを読み込み、
読み込んだシナリオデータに基づいて、前記Ｗｅｂブラウザに対して入力処理を行う
請求項２記載のテストプログラム。
【請求項６】
前記シナリオデータは、
Ｗｅｂブラウザに表示されるオブジェクトと、入力する情報とを対応づけて記録してあり、
前記所定のテスト操作は、
前記オブジェクトに対して、前記入力する情報を入力する処理を行う
請求項５記載のテストプログラム。
【請求項７】
コンピュータに、
Ｗｅｂブラウザによって表示されている所定の入力部品に対する入力操作による変化を除外して、前記Ｗｅｂブラウザにおける表示内容が変化したか否かを判定し、前記Ｗｅｂブラウザにおける表示内容が変化した後、所定の期間、前記Ｗｅｂブラウザにおける表示内容が変化しなかった場合に、ページの区切りを判定し、
前記Ｗｅｂブラウザに対する操作情報を、判定した前記区切りごとに記録する、
処理を実行させることを特徴とする、テストプログラム。
【請求項８】
前記操作情報は、
入力操作を行ったＷｅｂブラウザに表示されるオブジェクトを特定し、
特定した前記オブジェクトと、入力した情報とを対応づけて記録する
請求項７記載のテストプログラム。
【請求項９】
前記Ｗｅｂブラウザが、前記Ｗｅｂブラウザにおける表示内容を示すデータに、前記所定の入力部品に対する入力操作により変化した表示内容を含めて出力する場合、前記所定の入力部品に対する入力操作による変化を除外して、前記Ｗｅｂブラウザにおける表示内容が変化したか否かを判定することを特徴とする、
請求項１または２記載のテストプログラム。
【請求項１０】
Ｗｅｂブラウザによって表示されている所定の入力部品に対する入力操作による変化を除外して、前記Ｗｅｂブラウザにおける表示内容が変化したか否かを判定し、前記Ｗｅｂブラウザにおける表示内容が変化した後、所定の期間、前記Ｗｅｂブラウザにおける表示内容が変化しなかった場合に、前記Ｗｅｂブラウザに対し、所定のテスト操作を実行するテスト処理部を備えることを特徴とするテスト装置。
【請求項１１】
コンピュータが、
Ｗｅｂブラウザによって表示されている所定の入力部品に対する入力操作による変化を除外して、前記Ｗｅｂブラウザにおける表示内容が変化したか否かを判定し、前記Ｗｅｂブラウザにおける表示内容が変化した後、所定の期間、前記Ｗｅｂブラウザにおける表示内容が変化しなかった場合に、前記Ｗｅｂブラウザに対し、所定のテスト操作を実行する、
処理を実行することを特徴とするテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テスト装置、テスト方法、及びテストプログラムに関する。
【背景技術】
【０００２】
従来、Ｗｅｂサイトのテストでは、Ｗｅｂブラウザに所定の入力操作を行い、画面の遷移が期待通りであるか否かが確認される。また、従来、このテストを自動で行うテストツールが知られている。このテストツールでは、ユーザによる入力値や操作がシナリオとして記録され、当該シナリオに従って、各Ｗｅｂページへの入力操作が自動で行われる。
【０００３】
このテストツールでは、シナリオに記録された入力値を、各Ｗｅｂページに正しく入力するために、Ｗｅｂブラウザが各Ｗｅｂページの遷移を完了したタイミングを正しく検知する必要がある。
【０００４】
一般的なＷｅｂブラウザでは、Ｗｅｂページの遷移や再読み込みによるＷｅｂページの読み込みが完了したことを、イベントとして他のプログラムに通知する機能がある。従って、この機能を用いれば、テストツールは、Ｗｅｂページが遷移したことを検出できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−０４５２１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術では、Ｗｅｂブラウザは、ＡｊａｘやＪａｖａＳｃｒｉｐｔ（登録商標）等によりＷｅｂページの遷移を伴わずに動的に表示内容が変化する場合、画面の表示の変化が完了したことを検出できない。そのため、テストツールは、Ｗｅｂページの遷移を伴わずに動的に表示内容が変化するＷｅｂページに対して、シナリオに記録された入力操作を、正しく入力できない場合があるという問題がある。
【０００７】
そこで、一側面では、Ｗｅｂページの遷移を伴わずに動的に表示内容を変化させるＷｅｂページにおいて、当該Ｗｅｂページにおける操作を実行可能なタイミングを検知可能とすることを目的とする。
【課題を解決するための手段】
【０００８】
一つの案では、コンピュータに、Ｗｅｂブラウザによって表示されている所定の入力部品に対する入力操作による変化を除外して、前記Ｗｅｂブラウザにおける表示内容が変化したか否かを判定し、前記Ｗｅｂブラウザにおける表示内容が変化した後、所定の期間、前記Ｗｅｂブラウザにおける表示内容が変化しなかった場合に、前記Ｗｅｂブラウザに対し、所定のテスト操作を実行する、処理を実行させる。
【発明の効果】
【０００９】
一側面によれば、Ｗｅｂページの遷移を伴わずに動的に表示内容を変化させるＷｅｂページにおいて、当該Ｗｅｂページにおける操作を実行可能なタイミングを検知することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】実施形態におけるテストシステムの構成例を示す図である。
【図２】実施形態における情報端末のハードウェア構成例を示す図である。
【図３】実施形態における情報端末の機能ブロック図である。
【図４】シナリオデータの一例を示す図である。
【図５】画面区切りデータの一例を示す図である。
【図６】テスト処理部による処理を説明する図である。
【図７】テスト時の処理の一例を示すフローチャートである。
【図８】画面区切り判定処理の一例を示すフローチャートである。
【図９】除外データの一例を示す図である。
【図１０】互換表示モード対応処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面に基づいて本発明の実施形態を説明する。図１は、本発明の実施形態におけるテストシステムの構成例を示す図である。図１において、テストシステム１は、情報端末（テスト装置）１０、及び業務サーバ２０を含む。
【００１２】
情報端末１０と業務サーバ２０とは、インターネット等の通信回線によって通信可能に接続される。
【００１３】
情報端末１０は、例えば、ＰＣ（Personal Computer）、タブレット型端末、スマートフォン等の端末である。情報端末１０には、テストツールがインストールされる。このテストツールは、例えばＷｅｂブラウザ（ブラウザ部１３）を用いて業務サーバ２０のＷｅｂページにアクセスし、業務サーバ２０から取得したデータが、予め設定された期待値と一致しているかのテストを行う。
【００１４】
業務サーバ２０は、例えばアプリケーションサーバであり、情報端末１０のＷｅｂブラウザとＨＴＴＰで通信する。業務サーバ２０は、情報端末１０からＨＴＴＰリスエストを受信すると、例えばＡｊａｘ（Asynchronous JavaScript+ XML）やＪａｖａＳｃｒｉｐｔ等の、ページ遷移を伴わずに動的に表示内容を変化させる技術を用いたＨＴＴＰレスポンス（応答電文）を送信する。ここで、ページ遷移（画面遷移）とは、サーバに対するＨＴＴＰリクエスト（上り電文）に応じた、ＨＴＴＰレスポンスに基づいてＷｅｂページを表示することをいう。また、ＡｊａｘやＪａｖａＳｃｒｉｐｔ等は、そのようなページ遷移を伴わずに、例えば、Ｗｅｂブラウザによって受信されメモリ上にツリー構造で展開されたＨＴＭＬデータを書き換えることにより、Ｗｅｂブラウザの表示内容を変化させる。なお、業務サーバ２０における処理は、公知の技術を用いて行われてもよい。
【００１５】
図２は、実施の形態における情報端末１０のハードウェア構成例を示す図である。図２の情報端末１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、インタフェース装置１０５、表示装置１０６、及び入力装置１０７等を有する。 
【００１６】
情報端末１０での処理を実現するテストプログラムは、記録媒体１０１によって提供される。テストプログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、テストプログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、テストプログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたテストプログラムを格納すると共に、必要なファイルやデータ等を格納する。 
【００１７】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って情報端末１０に係る機能を実現する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１０６はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１０７はキーボード及びマウス等、またはタッチパネル及びボタン等で構成され、様々な操作指示を入力させるために用いられる。
【００１８】
なお、記録媒体１０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置１０２の一例としては、ＨＤＤ（Hard Disk Drive）又はフラッシュメモリ等が挙げられる。記録媒体１０１及び補助記憶装置１０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【００１９】
業務サーバ２０のハードウェア構成は、サーバ用のコンピュータのハードウェア構成であり、図２に示す情報端末１０のハードウェア構成例と同様である。
【００２０】
次に、図３を参照し、情報端末１０の機能構成について説明する。図３は、情報端末１０の機能ブロック図である。情報端末１０は、通信部１１、ブラウザ部１３、テスト処理部１４、検知部１５、取得部１６、判定部１７、及び記録部１８を有する。これら各部は、情報端末１０にインストールされた１以上のプログラムが、情報端末１０のＣＰＵ１０４に実行させる処理により実現される。
【００２１】
また、情報端末１０は、シナリオデータ記憶部１２１、判定除外データ記憶部１２２、及び画面区切りデータ記憶部１２３を有する。これらの記憶部は、例えば、補助記憶装置１０２等を用いて実現される。
【００２２】
図４は、シナリオデータ記憶部１２１に記憶されるシナリオデータの一例を示す図である。シナリオデータには、各テストの番号に対応付けて、テスト処理部１４がブラウザ部１３に入力する操作データである操作シナリオと、テスト処理部１４がブラウザ部１３から取得する、業務サーバ２０からの応答の期待値が記憶される。なお、各テストは、判定部１７により操作シナリオの入力データをＷｅｂページに入力可能なタイミング（ページ区切り、画面区切り）が検知される毎に、テスト処理部１４により実行される。
【００２３】
図４（Ａ）は、操作シナリオの一例を示す図である。図４（Ａ）の例では、操作シナリオには、ブラウザ部１３で表示しているＨＴＭＬデータにおけるタグを示す情報と、当該タグに入力する値（キーボードまたはマウス等による操作を示す情報）とが含まれる。
【００２４】
図４（Ｂ）は、期待値の一例を示す図である。図４（Ｂ）の例では、期待値には、ブラウザ部１３から取得する、現在の表示内容を示すＨＴＭＬデータにおけるタグを示す情報と、当該タグに設定されている値とが含まれる。
【００２５】
なお、シナリオデータは、例えば、テストを行うユーザにより操作された入力データと、それに対する業務サーバ２０からの応答をテスト処理部１４が記録し、テストを行うユーザが当該記録したデータを編集することにより、予め設定される。
【００２６】
図５は、画面区切りデータ記憶部１２３に記憶される画面区切りデータの一例を示す図である。画面区切りデータには、テストツールが、シナリオデータ記憶部１２１に記憶されている入力データをＷｅｂページに入力可能なタイミング（ページ区切り、画面区切り）を示すデータが含まれる。図５の例では、日時、現在の表示内容を示すデータ、表示画面の画像、Ｗｅｂページの情報が含まれる。日時は、画面区切りが発生した日時を示すデータである。現在の表示内容を示すデータは、ブラウザ部１３の現在の表示内容を示すＨＴＭＬデータである。表示画面の画像は、ブラウザ部１３にて、画面区切りのタイミングで表示されていた画面の画像を示すデータである。Ｗｅｂページは、ブラウザ部１３がＨＴＴＰレスポンスを取得した、業務サーバ２０のＷｅｂページ（ＵＲＬ）を示すデータである。
【００２７】
図３の説明に戻る。通信部１１は、業務サーバ２０等との通信を行う。
【００２８】
ブラウザ部１３は、例えばＷｅｂブラウザであり、入力装置１０７により受け付けた入力操作や、テスト処理部１４からの入力に基づいて、業務サーバ２０に、例えばＨＴＴＰリスエストを送信する。ブラウザ部１３は、業務サーバ２０からＨＴＴＰレスポンスを受信し、受信したＨＴＴＰレスポンスに基づき、Ｗｅｂページを表示する。
【００２９】
ブラウザ部１３は、業務サーバ２０から受信したＨＴＴＰレスポンスに含まれるＨＴＭＬデータをメモリ装置１０３に展開（記憶）し、ＨＴＴＰレスポンスに含まれるＡｊａｘやＪａｖａＳｃｒｉｐｔに基づいて、当該ＨＴＭＬデータを書き換える。そして、ブラウザ部１３は、書き換えた後のＨＴＭＬデータに基づいて画面の表示を行う。それにより、ブラウザ部１３の表示内容が変化する。
【００３０】
ブラウザ部１３は、記録部１８からの要求に応じて、現在（当該要求を受けた際）の表示内容を示すデータを、記録部１８に出力する。なお、表示内容を示すデータは、業務サーバ２０から受信したＨＴＴＰレスポンスに含まれるＨＴＭＬデータ、または、当該ＨＴＭＬデータがメモリ上に展開されたものをＡｊａｘやＪａｖａＳｃｒｉｐｔ等によって書き換えた後のＨＴＭＬデータである。
【００３１】
テスト処理部１４は、入力装置１０７が受け付けたブラウザ部１３への入力操作をトレースし、当該入力操作（入力データ）と、それに対する業務サーバ２０からの応答をシナリオデータ記憶部１２１に記録する。また、テスト処理部１４は、入力装置１０７により受け付けた編集操作に応じて、シナリオデータ記憶部１２１を修正する。
【００３２】
テスト処理部１４は、シナリオデータ記憶部１２１に記録されている操作シナリオに応じて、ブラウザ部１３を操作し、ブラウザ部１３にＨＴＴＰリクエストを送信させる。
【００３３】
テスト処理部１４は、ブラウザ部１３が業務サーバ２０から取得したＨＴＴＰレスポンスに応じて表示するＨＴＭＬデータに含まれるタグの値と、シナリオデータ記憶部１２１に記録されている期待値とを比較し、業務サーバ２０の動作をテストする。
【００３４】
テスト処理部１４は、後述する判定部１７により、画面区切りであると判定されると、シナリオデータ記憶部１２１に記録されている操作シナリオに応じて、ブラウザ部１３を操作する。
【００３５】
検知部１５、取得部１６、及び判定部１７は、ブラウザ部１３がページ遷移を伴わない表示の変化をする場合の、ブラウザ部１３の画面に対する入力操作を実行可能なタイミング（ページ区切り、画面区切り）を判定する、画面区切り判定処理を行う。なお、画面区切り判定処理の詳細例は後述する。
【００３６】
以下で、検知部１５、取得部１６、及び判定部１７のそれぞれが、画面区切り判定処理において実行する処理について説明する。
【００３７】
検知部１５は、ＨＴＴＰレスポンスによる表示がされたことを検知する。検知部１５は、例えば、ブラウザ部１３から、業務サーバ２０からのＨＴＴＰレスポンスに基づくページ遷移が行われたことを示すイベントの通知を受けることにより、ＨＴＴＰレスポンスによる表示がされたことを検知する。
【００３８】
取得部１６は、検知部１５による検知がされた後のタイミングで、ブラウザ部１３から、現在の表示内容を示すデータを取得する。
【００３９】
取得部１６は、ブラウザ部１３の表示内容が、ページ遷移を伴わずに動的に変化する場合、ブラウザ部１３から、現在の表示内容を示すデータを、複数のタイミングで取得する。
【００４０】
判定部１７は、ブラウザ部１３における表示内容が変化した後、所定の期間、当該表示内容が変化しなかった場合に、画面区切りであると判定する。それにより、ページ遷移を伴わない表示の変化をした場合であっても、画面区切りを判定することができる。
【００４１】
記録部１８は、画面区切りと判定された等の際、ブラウザ部１３における表示内容の変化が完了したタイミングの日時、取得部１６がブラウザ部１３より取得した現在の表示内容を示すデータ、ブラウザ部１３の表示画面の画像、及びＷｅｂページのＵＲＬを、画面区切りデータ記憶部１２３に記録する。ここで、記録部１８は、ブラウザ部１３における表示内容が変化した後、所定の期間、当該表示内容が変化しなかった場合、例えば、当該所定の期間の開始時または終了時のタイミングを、ブラウザ部１３における表示内容の変化が完了したタイミングとする。
【００４２】
次に、図６を参照して、テスト処理部１４が、シナリオデータ記憶部１２１に記憶されている各テストの操作シナリオに基づいて、業務サーバ２０のテストを行う処理について説明する。図６は、テスト処理部１４による処理を説明する図である。
【００４３】
テスト処理部１４は、シナリオデータ記憶部１２１に格納されている操作シナリオに基づいてブラウザ部１３によって表示されているＷｅｂページにデータを入力し、ブラウザ部１３にＨＴＴＰリクエストを送信させる。
【００４４】
テスト処理部１４は、ブラウザ部１３が業務サーバ２０から受信したＨＴＴＰレスポンスに含まれるＨＴＭＬデータにおける所定のタグの値と、シナリオデータ記憶部１２１の「期待値」で設定されている値とを比較することにより、業務サーバ２０の動作確認を行う。
【００４５】
次に、図７を参照して、シナリオデータ記憶部１２１に記憶されている各テストの操作シナリオに基づいて、業務サーバ２０のテストを行う処理について説明する。図７は、テスト時の処理の一例を示すフローチャートである。
【００４６】
まず、検知部１５は、ブラウザ部１３から、当該Ｗｅｂページから受信したＨＴＴＰレスポンスによる表示が完了した旨のイベントの通知を受けることにより、ＨＴＴＰレスポンスに基づく表示がされたこと（ページ遷移）を検知する（ステップＳ１０１）。
【００４７】
取得部１６は、ブラウザ部１３より、現在の表示内容を示すデータ、及びブラウザ部１３の表示画面の画像を取得する（ステップＳ１０２）。
【００４８】
記録部１８は、現在時刻、現在の表示内容を示すデータ、ブラウザ部１３の表示画面の画像、及びＷｅｂページのＵＲＬを、画面区切りデータ記憶部１２３に記録する（ステップＳ１０３）。
【００４９】
テスト処理部１４は、画面区切り判定処理をリセット（終了／再起動）する（ステップＳ１０４）。
【００５０】
次に、図８を参照して、図７のステップＳ１０４の画面区切り判定処理について説明する。図８は、画面区切り判定処理の一例を示すフローチャートである。
【００５１】
テスト処理部１４は、更新中フラグをオフ（「０」）にセット（初期化）する（ステップＳ２０１）。
【００５２】
続いて、取得部１６は、ブラウザ部１３から、現在の表示内容を示すデータ（ブラウザ部１３に現在表示されている内容を示すＨＴＭＬデータ）を取得し、マスターデータとする（ステップＳ２０２）。
【００５３】
続いて、取得部１６は、所定時間待機する（ステップＳ２０３）。
【００５４】
続いて、取得部１６は、ブラウザ部１３から、現在の表示内容を示すデータ（ブラウザ部１３に現在表示されている内容を示すＨＴＭＬデータ）を取得し、新マスターデータとする（ステップＳ２０４）。
【００５５】
続いて、判定部１７は、マスターデータと、新マスターデータとを比較し、一致するか判定する（ステップＳ２０５）。
【００５６】
マスターデータと、新マスターデータが一致する場合（ステップＳ２０５でＹＥＳ）、判定部１７は、更新中フラグがオン（「１」）であるか判定する（ステップＳ２０６）。
【００５７】
更新中フラグがオフの場合（ステップＳ２０６でＮＯ）、ステップＳ２０３の処理に進む。
【００５８】
更新中フラグがオンの場合（ステップＳ２０６でＹＥＳ）、判定部１７は、マスターデータを取得したタイミングを画面区切りとする（ステップＳ２０７）。
【００５９】
続いて、記録部１８は、現在時刻、現在の表示内容を示すデータ、ブラウザ部１３の表示画面の画像、及びＷｅｂページのＵＲＬを、画面区切りデータ記憶部１２３に記録し（ステップＳ２０８）、更新フラグをオフにし（ステップＳ２０９）、ステップＳ２０３の処理に進む。
【００６０】
マスターデータと、新マスターデータが一致しない場合（ステップＳ２０５でＮＯ）、判定部１７は、ブラウザ部１３が互換表示モードであるか判定する（ステップＳ２１０）。なお、互換表示モードについては後述する。
【００６１】
ブラウザ部１３が互換表示モードでない場合（ステップＳ２１０でＮＯ）、取得部１６は、新マスターデータを、マスターデータとし（ステップＳ２１１）、更新フラグをオンにし（ステップＳ２１２）、ステップＳ２０３の処理に進む。
【００６２】
ブラウザ部１３が互換表示モードである場合（ステップＳ２０６でＹＥＳ）、互換表示モード対応処理を行い（ステップＳ２１３）、ステップＳ２０３の処理に進む。
【００６３】
互換表示モードでは、ブラウザ部１３は、記録部１８からの要求に応じて出力する現在の表示内容を示すデータに、例えば「テキストボックス」や「ラジオボタン」等の所定の入力部品に対する入力操作により変化した表示の内容を含めて出力する。ブラウザ部１３の互換表示モードのオン、オフは、例えばユーザからの設定操作に基づいて切り替えられる。なお、互換表示モードは、例えばInternet Explorer（登録商標）において実現されている機能である。
【００６４】
互換表示モードの場合、テスト処理部１４が、操作シナリオに基づいて「テキストボックス」等にデータを入力すると、現在の表示内容を示すデータに、当該入力したデータが含まれるようになる。そのため、互換表示モード対応処理を行うことにより、「テキストボックス」等にデータを入力する度に、画面区切りと誤判定されないようにする。
【００６５】
次に、図１０を参照して、図９のステップＳ２１３の互換表示モード対応処理について説明する。図１０は、互換表示モード対応処理の一例を示すフローチャートである。
【００６６】
まず、判定部１７は、新マスターデータにおいて、フォーカスされている箇所を特定する（ステップＳ３０１）。なお、フォーカスされている箇所は、例えばＷｉｎｄｏｗｓ（登録商標）  ＡＰＩを用いて特定する。
【００６７】
続いて、判定部１７は、判定除外データ記憶部１２２を参照し（ステップＳ３０２）、フォーカスされている箇所が、判定除外箇所であるか判定する（ステップＳ３０３）。
【００６８】
ここで、図９を参照し、判定除外データ記憶部１２２に記憶されるデータについて説明する。
【００６９】
図９は、判定除外データ記憶部１２２の一例を示す図である。判定除外データ記憶部１２２には、判定除外箇所と名称の情報が記憶される。判定除外箇所は、ブラウザ部１３のブラウザが互換表示モードで動作している場合に、表示画面が動的に変化しているかを判定するための判定対象から除外する箇所を示すデータである。名称は、判定除外箇所の名称である。図９の例では、ブラウザ部１３が出力する、現在の表示内容を示すＨＴＭＬデータにおいて、判定対象から除外する「テキストボックス」と「ラジオボタン」を示すＴａｇのデータが設定されている。
【００７０】
図１０の説明に戻る。
【００７１】
フォーカスされている箇所が、判定除外箇所でない場合（ステップＳ３０３でＮＯ）、取得部１６は、新マスターデータを、マスターデータとし（ステップＳ３０４）、更新フラグをオンにし（ステップＳ３０５）、処理を終了する。
【００７２】
フォーカスされている箇所が、判定除外箇所である場合（ステップＳ３０３でＹＥＳ）、判定部１７は、マスターデータと、新マスターデータのそれぞれから、フォーカスされている箇所のデータを除外したもの同士を比較し、一致するか判定する（ステップＳ３０６）。
【００７３】
マスターデータと、新マスターデータのそれぞれから、フォーカスされている箇所のデータを除外したものが一致しない場合（ステップＳ３０６でＮＯ）、ステップＳ３０４の処理に進む。
【００７４】
マスターデータと、新マスターデータのそれぞれから、フォーカスされている箇所のデータを除外したものが一致する場合（ステップＳ３０６でＹＥＳ）、判定部１７は、更新中フラグがオン（「１」）であるか判定する（ステップＳ３０７）。
【００７５】
更新中フラグがオンでない場合（ステップＳ３０７でＮＯ）、処理を終了する。
【００７６】
更新中フラグがオンの場合（ステップＳ３０７でＹＥＳ）、判定部１７は、マスターデータを取得したタイミングを画面区切りとする（ステップＳ３０８）。
【００７７】
続いて、記録部１８は、現在時刻、現在の表示内容を示すデータ、ブラウザ部１３の表示画面の画像、及びＷｅｂページのＵＲＬを、画面区切りデータ記憶部１２３に記録し（ステップＳ３０９）、更新フラグをオフにし（ステップＳ３１０）、処理を終了する。
【００７８】
なお、上記実施形態にて説明した技術は、例えば以下のようなテストツールにおいて利用可能である。
・サーバからのＨＴＴＰレスポンス（下り電文）の所定の項目値が、想定通りであるかを比較検証するファンクションテスト（機能テスト）ツール。
・画面のスクリーンショットやＤＢ情報を自動で取得し、テスト結果のエビデンスを作成するエビデンス作成ツール。
・多数の仮想端末を生成して、サーバの高負荷状態を実現する高負荷テストツール。
・予め設定されたテストのシナリオを自動で実行し、デグレードが発生していないかをテストするリグレッションテストツール。
【００７９】
＜まとめ＞
従来技術では、サーバ等から受信したＨＴＴＰレスポンスに、ページ遷移を伴わずに動的に表示内容を変化させる技術が利用されている場合、当該画面における操作を実行可能なタイミングを検知できない。そのため、例えばＡｊａｘによるカレンダーが表示される前に、シナリオデータ記憶部１２１に従って操作を入力すると、正常に操作できない場合があるという問題があった。
【００８０】
上述したように、本実施形態では、コンピュータに、ＨＴＴＰレスポンスによるページ遷移が行われたことを検知し、当該検知がされた際の第１のタイミング、及び前記第１のタイミングより後の第２のタイミングで、前記ＨＴＴＰレスポンスに基づく表示の内容を示す第１のデータ、及び第２のデータをそれぞれ取得し、前記第１のデータと前記第２のデータが異なる場合、前記第２のタイミングより後の第３のタイミングで、前記ＨＴＴＰレスポンスに基づく表示の内容を示す第３のデータを取得し、前記第２のデータと前記第３のデータが一致する場合に、前記第２のタイミングを、所定の操作を実行可能なタイミングであると判定する、処理を実行させる。
【００８１】
それにより、ページ遷移を伴わずに動的に表示内容を変化させるＷｅｂページにおいて、当該画面における操作を実行可能なタイミングを検知することが可能となる。
【００８２】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００８３】
以上の説明に関し、更に以下の項を開示する。
（付記１）
コンピュータに、
ＷｅｂブラウザによりＨＴＴＰレスポンスに応じたページ遷移を検知し、
前記ページ遷移後に、前記Ｗｅｂブラウザにおける表示内容が変化した後、所定の期間、前記Ｗｅｂブラウザにおける表示内容が変化しなかった場合にページの区切りを判定し、
前記Ｗｅｂブラウザに対し、前記区切りに応じた所定のテスト操作を実行する、
処理を実行させることを特徴とする、テストプログラム。
（付記２）
前記Ｗｅｂブラウザにおける表示内容の変化が完了した、前記所定の期間の開始時または終了時のタイミングを、前記Ｗｅｂブラウザにおける表示内容と対応付けて記録することを特徴とする、
付記１記載のテストプログラム。
（付記３）
前記Ｗｅｂブラウザによって表示されている所定の入力部品に対する入力操作による変化を除外して、前記Ｗｅｂブラウザにおける表示内容が変化したか否かを判定することを特徴とする、
付記１または２記載のテストプログラム。
（付記４）
前記区切りの判定は、
所定の期間毎に前記Ｗｅｂブラウザにおける表示内容を取得し、
取得した表示内容を保存し、
保存してある前回の表示内容と、取得した今回の表示内容とを比較し、
比較した表示内容が変化した場合に区切り判定を開始し、
区切り判定を開始した後に、比較した表示内容が変化しなかった場合に区切りタイミングと判定する
付記１記載のテストプログラム。
（付記５）
前記所定のテスト操作は、
前記Ｗｅｂブラウザに対して行う処理が、前記区切り単位に記録されたシナリオデータを読み込み、
読み込んだシナリオデータに基づいて、前記Ｗｅｂブラウザに対して入力処理を行う
付記１記載のテストプログラム。
（付記６）
前記シナリオデータは、
Ｗｅｂブラウザに表示されるオブジェクトと、入力する情報とを対応づけて記録してあり、
前記所定のテスト操作は、
前記オブジェクトに対して、前記入力する情報を入力する処理を行う
付記５記載のテストプログラム。
（付記７）
コンピュータに、
ＷｅｂブラウザによりＨＴＴＰレスポンスに応じたページ遷移を検知し、
前記ページ遷移後に、前記Ｗｅｂブラウザにおける表示内容が変化した後、所定の期間、前記Ｗｅｂブラウザにおける表示内容が変化しなかった場合にページの区切りを判定し、
前記Ｗｅｂブラウザに対する操作情報を、判定した前記区切りごとに記録する、
処理を実行させることを特徴とする、テストプログラム。
（付記８）
前記操作情報は、
入力操作を行ったＷｅｂブラウザに表示されるオブジェクトを特定し、
特定した前記オブジェクトと、入力した情報とを対応づけて記録する
付記７記載のテストプログラム。
（付記９）
前記Ｗｅｂブラウザが、前記表示内容を示すデータに、前記所定の入力部品に対する入力操作により変化した表示内容を含めて出力する場合、前記所定の入力部品に対する入力操作による変化を除外して、前記Ｗｅｂブラウザにおける表示内容が変化したか否かを判定することを特徴とする、
付記３記載のテストプログラム。
（付記１０）
ＷｅｂブラウザによりＨＴＴＰレスポンスに応じたページ遷移を検知する検知部と、
前記ページ遷移後に、前記Ｗｅｂブラウザにおける表示内容が変化した後、所定の期間、前記Ｗｅｂブラウザにおける表示内容が変化しなかった場合にページの区切りを判定する判定部と、
前記Ｗｅｂブラウザに対し、前記区切りに応じた所定のテスト操作を実行するテスト処理部と、
を備えることを特徴とするテスト装置。
（付記１１）
前記Ｗｅｂブラウザにおける表示内容の変化が完了した、前記所定の期間の開始時または終了時のタイミングを、前記Ｗｅｂブラウザにおける表示内容と対応付けて記録する記録部を備えることを特徴とする、
付記１０記載のテスト装置。
（付記１２）
前記判定部は、前記Ｗｅｂブラウザによって表示されている所定の入力部品に対する入力操作による変化を除外して、前記Ｗｅｂブラウザにおける表示内容が変化したか否かを判定することを特徴とする、
付記１０または１１記載のテスト装置。
（付記１３）
前記判定部は、
所定の期間毎に前記Ｗｅｂブラウザにおける表示内容を取得し、
取得した表示内容を保存し、
保存してある前回の表示内容と、取得した今回の表示内容とを比較し、
比較した表示内容が変化した場合に区切り判定を開始し、
区切り判定を開始した後に、比較した表示内容が変化しなかった場合に区切りタイミングと判定する
付記１０記載のテスト装置。
（付記１４）
前記テスト処理部は、
前記Ｗｅｂブラウザに対して行う処理が、前記区切り単位に記録されたシナリオデータを読み込み、
読み込んだシナリオデータに基づいて、前記Ｗｅｂブラウザに対して入力処理を行う
付記１０記載のテスト装置。
（付記１５）
前記シナリオデータは、
Ｗｅｂブラウザに表示されるオブジェクトと、入力する情報とを対応づけて記録してあり、
前記テスト処理部は、
前記オブジェクトに対して、前記入力する情報を入力する処理を行う
付記１４記載のテスト装置。
（付記１６）
ＷｅｂブラウザによりＨＴＴＰレスポンスに応じたページ遷移を検知する検知部と、
前記ページ遷移後に、前記Ｗｅｂブラウザにおける表示内容が変化した後、所定の期間、前記Ｗｅｂブラウザにおける表示内容が変化しなかった場合にページの区切りを判定する判定部と、
前記Ｗｅｂブラウザに対する操作情報を、判定した前記区切りごとに記録する記録部と、
を備えることを特徴とするテスト装置。
（付記１７）
前記操作情報は、
入力操作を行ったＷｅｂブラウザに表示されるオブジェクトを特定し、
特定した前記オブジェクトと、入力した情報とを対応づけて記録する
付記１６記載のテスト装置。
（付記１８）
前記判定部は、
前記Ｗｅｂブラウザが、前記表示内容を示すデータに、前記所定の入力部品に対する入力操作により変化した表示内容を含めて出力する場合、前記所定の入力部品に対する入力操作による変化を除外して、前記Ｗｅｂブラウザにおける表示内容が変化したか否かを判定することを特徴とする、
付記１２記載のテスト装置。
（付記１９）
コンピュータが、
ＷｅｂブラウザによりＨＴＴＰレスポンスに応じたページ遷移を検知し、
前記ページ遷移後に、前記Ｗｅｂブラウザにおける表示内容が変化した後、所定の期間、前記Ｗｅｂブラウザにおける表示内容が変化しなかった場合にページの区切りを判定し、
前記Ｗｅｂブラウザに対し、前記区切りに応じた所定のテスト操作を実行する、
処理を実行することを特徴とする、テストプログラム。
（付記２０）
前記Ｗｅｂブラウザにおける表示内容の変化が完了した、前記所定の期間の開始時または終了時のタイミングを、前記Ｗｅｂブラウザにおける表示内容と対応付けて記録することを特徴とする、
付記１９記載のテストプログラム。
（付記２１）
前記Ｗｅｂブラウザによって表示されている所定の入力部品に対する入力操作による変化を除外して、前記Ｗｅｂブラウザにおける表示内容が変化したか否かを判定することを特徴とする、
付記１９または２０記載のテストプログラム。
（付記２２）
前記区切りの判定は、
所定の期間毎に前記Ｗｅｂブラウザにおける表示内容を取得し、
取得した表示内容を保存し、
保存してある前回の表示内容と、取得した今回の表示内容とを比較し、
比較した表示内容が変化した場合に区切り判定を開始し、
区切り判定を開始した後に、比較した表示内容が変化しなかった場合に区切りタイミングと判定する
付記１９記載のテストプログラム。
（付記２３）
前記所定のテスト操作は、
前記Ｗｅｂブラウザに対して行う処理が、前記区切り単位に記録されたシナリオデータを読み込み、
読み込んだシナリオデータに基づいて、前記Ｗｅｂブラウザに対して入力処理を行う
付記１９記載のテストプログラム。
（付記２４）
前記シナリオデータは、
Ｗｅｂブラウザに表示されるオブジェクトと、入力する情報とを対応づけて記録してあり、
前記所定のテスト操作は、
前記オブジェクトに対して、前記入力する情報を入力する処理を行う
付記２３記載のテストプログラム。
（付記２５）
コンピュータが、
ＷｅｂブラウザによりＨＴＴＰレスポンスに応じたページ遷移を検知し、
前記ページ遷移後に、前記Ｗｅｂブラウザにおける表示内容が変化した後、所定の期間、前記Ｗｅｂブラウザにおける表示内容が変化しなかった場合にページの区切りを判定し、
前記Ｗｅｂブラウザに対する操作情報を、判定した前記区切りごとに記録する、
処理を実行することを特徴とする、テストプログラム。
（付記２６）
前記操作情報は、
入力操作を行ったＷｅｂブラウザに表示されるオブジェクトを特定し、
特定した前記オブジェクトと、入力した情報とを対応づけて記録する
付記２５記載のテストプログラム。
（付記２７）
前記Ｗｅｂブラウザが、前記Ｗｅｂブラウザにおける表示内容を示すデータに、前記所定の入力部品に対する入力操作により変化した表示内容を含めて出力する場合、前記所定の入力部品に対する入力操作による変化を除外して、前記Ｗｅｂブラウザにおける表示内容が変化したか否かを判定することを特徴とする、
付記２１記載のテストプログラム。
【符号の説明】
【００８４】
１０  情報端末
１１  通信部
１２１  シナリオデータ記憶部
１２２  判定除外データ記憶部
１２３  画面区切りデータ記憶部
１３  ブラウザ部
１４  テスト処理部
１５  検知部
１６  取得部
１７  判定部
１８  記録部
２０  業務サーバ
【図１】
0006645276.tif 000002
【図２】
0006645276.tif 000003
【図３】
0006645276.tif 000004
【図４】
0006645276.tif 000005
【図５】
0006645276.tif 000006
【図６】
0006645276.tif 000007
【図７】
0006645276.tif 000008
【図８】
0006645276.tif 000009
【図９】
0006645276.tif 000010
【図１０】
0006645276.tif 000011