JP2005266954A - 操作情報記録・再生装置 - Google Patents

操作情報記録・再生装置 Download PDF

Info

Publication number
JP2005266954A
JP2005266954A JP2004075044A JP2004075044A JP2005266954A JP 2005266954 A JP2005266954 A JP 2005266954A JP 2004075044 A JP2004075044 A JP 2004075044A JP 2004075044 A JP2004075044 A JP 2004075044A JP 2005266954 A JP2005266954 A JP 2005266954A
Authority
JP
Japan
Prior art keywords
script
operation information
event
web page
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004075044A
Other languages
English (en)
Inventor
Tetsuo Tsukurida
哲雄 造田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2004075044A priority Critical patent/JP2005266954A/ja
Publication of JP2005266954A publication Critical patent/JP2005266954A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】 再帰テストを支援するための装置として、操作の一部や入力データの一部を変更した状態でのテストの繰返しを可能とする操作情報記録・再生装置を提供する。
【解決手段】 操作情報記録・再生装置100を構成する操作情報記録部101は、Webブラウザ111に対して行った操作を取得する操作情報取得手段101aと、操作情報取得手段101aの取得した情報に基づき、イベント・スクリプト対応表101cに定義された情報を取得して、任意に編集可能なスクリプトファイルを生成する操作情報記録手段とを備え、操作再生部102は、エンドユーザによるスクリプトファイルの選択を受付ける再生受付手段102aと、選択されたスクリプトファイルに含まれるスクリプトを、イベント・スクリプト対応表に基づき解析するスクリプト解析手段102bと、スクリプトの解析結果に応じてWebブラウザ111の操作を行うイベント発生手段102cとを備える。
【選択図】 図1

Description

本発明は、Webブラウザ等により表示するWebページに対するエンドユーザの操作情報の記録,再生等を行う装置に関する。
近年、Webブラウザを使用してWebサーバに接続させることにより、Webサーバ上のWebアプリケーションを利用したサービスの提供が広く行われている。
このようなWebアプリケーションの開発においては、Webアプリケーションのテストとして、Webブラウザに対する操作を繰返し行うことにより、Webアプリケーションが正しく動作するかを確認する手法が一般的に採られている。
この場合、複数の操作の組合せや複数の入力データの組合せによりバグが発生することもあるため、修正の必要な箇所を把握するために、一部のみ異なる操作やデータ入力を行い、他の部分については前回と同様の操作を行うことが必要となっていた。従って、各テストにおいて、操作手順及び入力データを全て記録しておくことが必要となるため、再帰テストにおける作業が煩雑なものとなっていた。
このような再帰テストにおける支援装置として、従来、操作手順を記録する操作手順記録部と、記録した操作手順に基づき自動で実行する操作自動実行部と、被テストプログラムが出力する情報を保存するテスト結果保存部と、複数のテスト結果の管理を行うテスト結果管理部と、過去の結果との比較を行うテスト結果検証部とを備えた構成が公知となっている(例えば、特許文献1参照。)
特開平10−275093号公報
しかし、前記特許文献1に記載のテスト支援装置では、1回目のテストで記録した操作手順データに基づきOSの入出力制御部に命令を送ることにより、2回目以降のテストを実行するものであるため、操作の一部や入力データの一部を変更した状態でテストを行うことができなかった。
従って、操作等の一部を変更したテストを行う場合には、再度入力操作を一からやり直す必要があるため、テスト者の作業が煩雑なものとなっていた。また、変更した操作以外については正確に再現を行うことが必要となるが、テスト者の操作ミス等が生じる可能性があり、また、操作ミスの発見が困難であるため、必ずしも適切なテストを実施することができないという問題があった。
本発明は前記課題を解決するためのものであり、Webアプリケーションの開発における再帰テストを支援するための装置として、操作の一部や入力データの一部を変更した状態での適切なテストの繰返しを可能とする操作情報記録・再生装置を提供することを目的とする。
前記課題を解決するため、本発明は、Webブラウザに対する操作情報を記録し、当該操作情報に基づき前記Webブラウザを介してWebアプリケーションの実行を行う操作情報記録・再生装置であって、前記操作情報記録・再生装置は、各操作に応じて発生するイベント情報と動作命令を示すスクリプト文字列との対応関係を予め定義したイベント・スクリプト対応情報と、前記イベント情報を取得し、当該イベント情報に対応するスクリプト文字列を前記イベント・スクリプト対応情報から取得して、任意に編集可能な操作情報を生成して操作情報格納手段に格納する操作情報記録部と、任意に選択された操作情報を前記操作情報格納手段から取得し、当該操作情報に含まれるスクリプト文字列に基づき前記イベント・スクリプト対応情報からイベント情報を取得し、当該イベント情報に応じた操作処理を行う操作再生部とを備えることを特徴とする。
また、前記イベント・スクリプト対応情報は、入力操作を示すイベント情報に対応するスクリプト文字列に付随する情報として、引数定義情報を含むものとし、前記操作情報記録部は、前記入力操作を示すイベント情報を取得した場合に、前記WebブラウザによるHTML文書の解析結果に基づき、前記引数定義情報に応じた入力レイアウト識別情報と入力データとを取得し、前記スクリプト文字列に前記入力レイアウト識別情報と入力データとを示す文字列を付加する手段を備えることを特徴とする。
また、前記操作情報記録・再生装置は、Webブラウザに表示されたWebページを画像データとして取得する画像記録部を備え、前記画像記録部は、前記HTML文書の解析結果に基づき、前記Webページが複数のフレームで構成されている場合に、各フレームに示すWebページついて画像データとして取得して画像格納手段に格納する手段を備えることを特徴とする。
また、前記画像記録部は、前記HTML文書の解析結果に基づき、前記Webページの領域が前記Webページの表示領域よりも広い場合に、表示領域を移動させて、表示領域毎に画像データを取得し、当該画像データを合成して前記Webページの領域全体を表す画像データを生成する手段を備えることを特徴とする。
また、前記画像記録部は、取得した画像データについて、可逆圧縮を行うことにより格納用データを生成する手段を備えることを特徴とする。
また、前記操作情報記録・再生装置は、前記画像記録部の格納した同一のWebページ対する複数の画像データを比較して、比較結果に基づく差異部分を識別可能に表示した画像データを生成する画像比較部を備えることを特徴とする。
以上の構成により、本発明では、操作情報記録部により生成された操作情報として、イベント・スクリプト対応情報から取得したスクリプト文字列を用いて、任意に編集可能な操作情報を生成することとしたので、操作のやり直しをすることなく、操作の一部を変更したテストを容易に行うことが可能となる。
また、入力操作を示す操作情報について、引数に対応した入力データを示す文字列を前記スクリプト文字列に付加することとしたので、操作のやり直しをすることなく、入力データの一部を変更したテストを行うことが可能となる。この場合、Webページを示すHTML文書の解析結果に基づき、入力レイアウト識別情報を取得することとしたため、入力レイアウトの位置,順序等が変更となった場合であっても、再生処理を行うことが可能となる。
また、画像記録部として、HTML文書の解析結果に基づき、Webページが複数のフレームで構成されている場合に、各フレームについての画像データを取得することとしたので、フレーム毎のWebページの動的な変化を適切に把握させることが可能となる。
また、Webページの領域がWebページの表示領域よりも広い場合に、表示領域を移動させて、各表示領域毎の画像データを取得して合成することにより、Webページ全体の画像データを生成することとしたので、Webページ全体の状態を適切に把握させることが可能となる。
また、各Webページについて取得した画像データに対し、可逆圧縮を行うことにより格納用データを生成することとしたので、格納用の画像ファイルのサイズを縮小することができるとともに、比較処理において復号処理を行うことにより、正確な比較が可能となる。
また、画像比較部として、同一のWebページに対する複数の画像データを比較して、差異部分を識別可能に表示した画像データを生成することとしたので、比較結果を容易に把握させることが可能となる。
以下、本発明の一実施の形態に係る操作情報記録・再生装置について、図面に基づき説明する。
図1は、本発明の一実施の形態に係る操作情報記録・再生装置を含むシステム全体の概略構成を示すブロック図である。
まず、本発明の前提として、WebブラウザによりWebサーバにアクセスし、Webページを表示する処理の概要について説明する。
エンドユーザによりクライアントマシン110の入力装置が操作されることにより、Webブラウザ111が起動され、インターネットやイントラネット等のネットワーク120を経由しサーバマシン130にアクセスがされる。
クライアントマシン110には、多くのアプリケーションが共通して利用する基本的な機能を提供し、コンピュータ全体を管理するOS(Operation System)112を備えている。ここで、基本的な機能としては、例えば、キーボードからの入力,マウスの移動やクリック,画面への出力といった入出力の機能や、ディスクやメモリの管理等が該当する。OS112は、キーボード等の入力操作に応じてイベントを発生する。ここで、イベントは、入力操作が行われたという情報に加えて、そのイベントに伴う情報も持つこととなる。例えば、「キーボードを押した」というイベントの場合、「押されたキー」のデータも持つことになる。クライアントマシン110のアプリケーションは、イベントを受取り、当該イベントに応じた動作を行う。このように、エンドユーザや他のアプリケーションが実行した操作により発生するイベントに対応して処理を行うアプリケーションを、イベントドリブンのアプリケーションと呼ぶ。イベントドリブンのアプリケーションは、エンドユーザが操作を行っていないときは何もせず待機することとなる。
本実施の形態に係る操作情報記録・再生装置100は、Webブラウザ111への操作を取得して記録するものであるため、イベントドリブンなアプリケーションにより構成している。
一方、Webブラウザ111によりアクセスされるサーバマシン130には、Webサーバ131とアプリケーションサーバ132が備えられている。Webサーバ131には、HTML言語で記述されたHTMLファイル131a,画像ファイル131b,HTML文書からレイアウト部分を取出して定義したCSS(Cascading Style Sheets)等のレイアウト制御ファイル131cなど、静的なコンテンツが準備されている。HTML文書は、これら外部ファイルへの参照を記述でき、Webブラウザ111はHTML文書に記述された参照部分について、外部ファイルを解釈して表示する。従って、HTML文書から外部の画像ファイルを参照するように記述することにより、Webブラウザ111に画像が表示され、また、レイアウト制御ファイル131cを参照するように記述することにより、レイアウトも制御可能となる。アプリケーションサーバ132は、Webアプリケーション132aを実行することにより、Webブラウザ111から送信された要求に対して、データベース133にアクセスしたりする処理を行い、処理結果をWebブラウザ111に返す。例えば、Webブラウザ111により検索条件が入力されるとWebアプリケーション132aは、入力された検索条件を元に、データベース133を検索し、検索結果を表示するためのHTMLを動的に生成する。
以上のような各マシン及び各アプリケーションの処理を前提として、本実施の形態に係る操作情報記録・再生装置について説明する。
本実施の形態に係る操作情報記録・再生装置100は、操作情報記録部101,操作再生部102,画面記録部103,画面比較部104の各処理部と、スクリプト格納手段105,ログファイル格納手段106,画像データ格納手段107,比較結果格納手段108の各情報格納手段とを備えている。
操作情報記録部101は、操作情報取得手段101aと、操作情報記録手段101bと、イベント・スクリプト対応表101cとを備える。操作情報取得手段101aは、エンドユーザがWebブラウザ111に対して行った操作を取得する。操作情報記録手段101bは、操作情報取得手段101aの取得した情報に基づき、イベント・スクリプト対応表101cに定義された情報を取得して任意に編集可能な操作情報としてのスクリプトファイルを生成し、クライアントマシン110のハードディクス等に備えられたスクリプト格納手段105に格納する。
操作再生部102は、再生受付手段102aと、スクリプト解析手段102bと、イベント発生手段102cと、ログ出力手段102dとを備える。再生受付手段102aは、スクリプトファイル選択画面を表示し、エンドユーザにスクリプトファイルを選択させる。スクリプト解析手段102bは、選択されたスクリプトファイルをスクリプト格納手段105から読込み、イベント・スクリプト対応表101cを参照してスクリプトを解析する。イベント発生手段102cは、スクリプト解析手段102bによる解析結果に応じて、Webブラウザ111を操作する。ログ出力手段102dは、Webブラウザ111に対して、どのような操作をしたのかという記録をログファイルとして、ログファイル格納手段106に格納する。
画面記録部103は、キャプチャ手段103aと、データ変換手段103bとを備える。キャプチャ手段103aは、スクリプト中にWebブラウザ画像を取得するというスクリプトがあった場合に、Webブラウザ111を操作して画像を取得する。データ変換手段103bは、キャプチャ手段103aの取得した画像データについて、ファイルサイズの縮小,画像形式の変換,暗号化等を行い、画像データ格納手段107に格納する。
画面比較部104は、データ復元手段104aと、画像比較手段104bと、比較結果出力手段104cとを備える。データ復元手段104aは、エンドユーザの操作により選択された画像ファイルを画像データ格納手段107から取得し、元の画像データに復元する。画像比較手段104bは、データ復元手段104aにより復元された複数の画像データを比較して、異なる箇所を指摘する。比較結果出力手段104cは、画像比較手段104bによる比較結果を取得して、比較結果格納手段108に格納するとともに、Webブラウザ111に対して比較結果データを出力する。この場合、比較結果出力手段104cは、比較結果としての画像データを、画面記録部103のデータ変換手段103bにより変換して比較結果格納手段108に格納する。
図2は、本実施の形態に係る操作情報記録・再生装置100の行う処理の概要を示すフローチャートである。
本実施の形態に係る操作情報記録・再生装置100としてのアプリケーションは、エンドユーザの操作に応じて起動し、メニュー画面を表示する(ステップ201)。
メニュー画面において、ユーザにより記録ボタンが押下された場合には(ステップ202)、後述する記録処理を行う(ステップ203)。
メニュー画面において、ユーザにより再生ボタンが押下された場合には(ステップ204)、後述する再生処理を行う(ステップ205)。記録処理又は再生処理において、ユーザによりキャプチャボタンが押下された場合には(ステップ206)、後述するキャプチャ処理を行う(ステップ207)。
メニュー画面において、ユーザにより比較メニューが選択された場合には(ステップ208)、ユーザにより選択された画像データについて、後述する比較処理を行う(ステップ209)。
図3は、操作情報記録・再生装置100としてのアプリケーションのメニュー画面の一例を示す図である。
メニュー画面300は、ファイルメニュー301,比較メニューとしてテストメニュー302の各メニューと、記録ボタン303,停止ボタン304,再生ボタン305,キャプチャボタン306の各ボタンを有する。
ファイルメニュー301は、スクリプトファイルの選択,アプリケーションの終了等のメニューを有する。テストメニュー302は、比較処理を行う画像データの選択の他、キャプチャした画像を比較元画像データにするかどうかの選択メニュー等を有する。
記録ボタン303は、エンドユーザがWebブラウザに対して行った操作を記録したい場合に押下させるボタンである。停止ボタン304は、記録処理,再生処理を停止する場合に押下させるボタンである。再生ボタン305は、Webブラウザへの操作を記録しているスクリプトファイルがある場合に、スクリプトファイルの再生をするときに押下させるボタンである。キャプチャボタン306は、エンドユーザがWebブラウザに対する操作を記録,再生中にWebページの画像を取得して保存した場合に押下させるボタンである。
以下、本実施の形態に係る操作情報記録・再生装置100の行う処理の具体例について説明する。
まず、記録・再生の対象としてWebブラウザに表示するWebページの例について、図4〜6に基づき説明する。
図4はWebブラウザ111により表示するWebページの一例としてのログイン画面を示す図であり、図5はWebページを表示させるためのHTML文書の一例を示す図であり、図6はHTML文書を木構造で示したものである。
Webブラウザ111に表示されたログイン画面400は、ユーザID入力欄401,パスワード入力欄402,ログインボタン403を有しており、Webページのタイトル404として、「顧客システム ログイン」が表示されている。
本例のWebページにおいて、エンドユーザの操作により、ユーザID,パスワードが入力され、ログインボタン403が押下されることにより、Webブラウザ111はユーザID及びパスワードをWebサーバ131に送信する。
図5に示すように、HTML文書500は、タグと呼ばれる「<」と「>」と囲まれた文字列で文書構造を表現している。タグには開始,終了タグの組合せたものと、終了タグを必要としないものとがあり、各タグを階層的に記述することにより文書構造を表現することとなる。また、タグには、属性と呼ばれる文字列を記述することができ、「属性名=属性値」の形で記述される。
例えば「<html>」は、HTML文書の開始を表すタグであり、「</html>」はHTML文書の終了を表すタグである。そして、これらのタグで囲まれている中身がHTML文書であることを表している。そしてこの例では、属性は記述されていない。また、「<input>」は、終了タグを必要としないタグの例である。「<input>」には、「type」、「name」、「value」の3つの属性が記述されていて、「type」の属性値は「text」、「name」の属性値は「ID」、「value」の属性値は「””」で表現される「空文字」である。そして、「<input>」は、「ユーザID」の入力レイアウトという意味を表している。
また、HTML文書内には、通常の文字列を記述することができ、図5に示す例では、「ユーザID」「パスワード」の各文字列が記述されている。
Webページへの操作やWebページの情報を取得するために、Webページにある文書,画像,音声などの内容や、それらの配置,レイアウトをオブジェクトとして扱い制御するための取決めとして、DOM(Document Object Model)を使用している。これにより、HTML文書をひとつの木構造として扱うことができ、それぞれの要素にアクセスしたり、属性の情報を取得するためのAPIを利用できる。ここで、API(Application Program Interface)とは、あるプラットフォーム(OSやミドルウェア)向けのソフトウェアを開発する際に使用できる命令や関数の集合であり、それらを利用するためのプログラム上の手続きが定められている。アプリケーションの開発者は、APIに従って、その機能を呼び出すだけで、その機能を利用したソフトウェアを作成することができるという利点がある。
本発明に係る操作情報記録・再生装置100を構成するアプリケーションは、HTML文書500をDOMの木構造として扱い、DOMのAPIを使用してHTMLの各要素のデータを取得したり操作したりする機能を有するものとする。
図6は、図5のHTML文書500を木構造600で示したものである。
「WebBrowser」601は、Webブラウザ111を示すノードである。DOMのAPIを使用してアクセスするときは、DOMのデータを有する他のアプリケーション(例えば、Webブラウザ等)のオブジェクトを取得する必要がある。
「Document」602は、「WebBrowser」601が保持しているHTML文書を表すノードである。「html」603は、html文書に記述されている<html>タグのことであり、「Document」602のオブジェクトが保持していることを表している。「改行文字」604は、<html>タグの後にある改行文字を表している。このように、HTML文書にあるタグや、文字列は、DOMの木構造のそれぞれのノードとして表される。「head」605は、<html>タグで囲まれていることを表し、親のノードは、「html」603であり、子ノードは、「title」606であることを表している。同様に、「顧客管理システムログイン」607は、<title>タグで囲まれている文字列であることを表している。
また、「input」608に付いている破線の中身は、<input>タグの属性とその属性値を表している。例えば、属性「name」の属性値は「ID」である。
本実施の形態に係る操作情報記録・再生装置100では、図6に示すようなDOMの木構造600に基づき、Webページの構成を把握し、Webページに入力された入力データ,Webページを構成するフレーム,Webページの領域等の種々の情報を抽出して、操作情報,画像データ等の取得を行う。
図7は、図3に示すメニュー画面において、記録ボタンが押下された場合に行う処理の詳細を示すフローチャートである。
エンドユーザにより記録ボタンが押下されると、操作情報記録部101は、スクリプトファイルのファイル名入力画面を表示し、ファイル名の入力を受付ける(ステップ701)。
ファイル名の入力がされると、操作情報記録部101の操作情報取得手段101aは、エンドユーザによりWebブラウザに対して行われる操作を監視し、操作に応じたイベントを取得し(ステップ702)、操作情報記録手段101bにイベント情報を渡す。
操作情報記録手段101bは、操作情報取得手段101aから渡されたイベント情報に基づき、イベント・スクリプト対応表101cを参照して、後述するようにスクリプトファイルを生成し、ステップ701により入力されたファイル名でスクリプト格納手段105に格納する(ステップ703)。
以上の処理を停止ボタンが押下されるまで継続し(ステップ704)、停止ボタンの押下がされる場合に処理を終了する。
例えば、エンドユーザによりWebブラウザを起動する操作が行われた場合、「WebBrowser.Start」というイベントが発生し、当該イベントを操作情報取得手段101aが取得する。
操作情報取得手段101aは、「WebBrowser.Start」というイベントを、操作情報記録手段101bに渡し、操作情報記録手段101bは、イベント・スクリプト対応表101cから対応するスクリプト「cr_start」を取得して、スクリプトファイルに出力する。
ここで、スクリプトファイルは任意に編集可能なものとし、例えば、イベント・スクリプト対応表101cに基づくスクリプトの追加,削除等、引数として設定されている値の変更等を可能とする。
図8は、操作情報記録部101の表示するスクリプトファイルのファイル名入力画面の一例を示す図である。
スクリプトファイル名入力画面800は、任意のファイル名を入力するファイル名入力欄801と、決定のためのOKボタン802,記録をキャンセルするためのキャンセルボタン803を有する。
エンドユーザによりファイル名入力欄801にファイル名が入力された状態でOKボタン802が押下されると、操作情報記録部101の操作情報取得手段101aによる監視が開始される。
この場合、例えば、ファイル名入力欄に「sample」と入力されて、OKボタンが押下されると、sampleというファイル名のスクリプトファイルに対して、操作情報記録手段により、各イベントに対応したスクリプトが出力されることとなる。
図9は、操作情報記録手段101b等の参照するイベント・スクリプト対応表101cのデータ構造の一例を示す図である。
イベント・スクリプト対応表101cは、エンドユーザの操作に応じて発生するイベントを定義したイベント欄901と、各イベントに対応するスクリプトを定義したスクリプト欄902と、スクリプトに与える引数を定義した引数欄903とを有する。
例えば、「入力レイアウトに文字列が入力される」というイベントは、エンドユーザがキーボードを押したときに発生するイベントを示す。また、イベント欄901が「−」のものは、イベントは発生しないが、スクリプトファイルの生成が必要な場合を示す。
例えば、「WebBrowser.Quit」は、Webブラウザ111を終了させるために、OSが発生するイベントであり、対応するスクリプトは、「cr_quit」となる。また、入力レイアウトに文字列が入力された場合のスクリプトは「cr_input」であり、引数は、「name」と「value」とであることを示している。
図10は、操作情報記録手段101bによるスクリプトファイル生成処理の詳細を示すフローチャートである。
操作情報記録手段101bは、操作情報取得手段101aから渡されたイベントに基づき、イベント・スクリプト対応表101cのイベント欄を検索して(ステップ1001)、イベントが定義されているか否かを判定する(ステップ1002)。
イベント欄に渡されたイベントが定義されている場合には、対応する「スクリプト」を取得するとともに(ステップ1003)、「引数」を検索する(ステップ1004)。一方、イベントが定義されていない場合には、再生処理を行うことができないため、当該イベントは無視して処理を終了する。
ここで、対応する「引数」があるか否かを判定し(ステップ1005)、「引数」がある場合には、イベントから引数とする情報を取得し(ステップ1006)、「スクリプト」「引数」に基づきスクリプトを生成する(ステップ1007)。一方、「引数」が無い場合には、「スクリプト」のみに基づきスクリプトを生成する(ステップ1007)。
生成したスクリプトをスクリプトファイルに出力する(ステップ1008)。
例えば、「WebBrowser.Start」というイベントが発生した場合、操作情報記録手段101bがイベント・スクリプト対応表の項目「イベント」を検索し、イベント「WebBrowser.Start」を見つけたら、次に、そのイベントに対応するスクリプト「cr_start」を取得する。さらに、スクリプト「cr_start」に与える引数を検索する。本例では、引数の設定が「−」であるため、引数を与える必要は無い。この場合には、スクリプト一行分をスクリプトファイルに出力する。
一方、引数が設定されている場合には、引数に相当する情報をHTML文書中から取得し、スクリプトの文字列と引数の文字列とを空白等の区切り文字列で繋げてスクリプト一行分を生成してスクリプトファイルに出力する。
なお、複数の引数が設定されている場合には、各引数に設定された番号の順で情報を取得する。
図11は、操作情報記録手段101bにより生成されたスクリプトファイルの一例を示す図である。
スクリプトファイル1100には、Webブラウザ111の起動操作を行った場合のイベントに対応するスクリプトとして、「cr_start」が出力されている。
次に、スクリプトに引数が必要な場合の例について説明する。
図12は、図4に示すログイン画面に対して、ユーザID,パスワードが入力された状態を示す。
Webページに対する入力操作等が行われると、各操作に応じたイベントが発生する。例えば、ログイン画面1200において、ユーザIDを入力するための入力レイアウトをクリックすると、「onclick」というイベントが発生し、その後Webブラウザ111は、クリックされたその入力レイアウトに、カーソルを移動するという処理を実行する。また、ユーザID入力欄に入力がされると、「userID」が入力されたことを表すイベントが発生する。そして、イベントの発生と同時に、入力レイアウトのvalueの値が、「””」から「userID」に変わる。Webブラウザ111は、「入力レイアウトに文字列が入力された」というイベントを受け取って、Webページ111のユーザID入力欄に「userID」と表示する。パスワード入力欄にパスワードが入力された場合にも、同様にイベントが発生し、Webページに表示がされる。なお、HTMLの仕様上、パスワードの表示は、「*****」となる。
この場合に、操作情報記録手段101bがスクリプトを出力したスクリプトファイルの例を図13に示す。
図13は、Webブラウザの起動のスクリプトと、ユーザID入力欄に「userID」を入力するスクリプトを出力したスクリプトファイル1300の一例を示している。この場合、ユーザID入力欄に文字列が入力されるというイベントに対応するスクリプトは、「cr_input」であり、引数が「name」と「value」であり、引数の順序が「name」は「1」で、「value」が「2」となっている。
本例では、操作情報取得手段101aが、イベント「入力レイアウトに文字列が入力される」から、「name」と「value」の値として「ID」と「userID」を取得する。この場合、入力レイアウトに入力があったときには、イベントに付随するDOMのノードに含まれる情報も一緒に送信される。従って、操作情報取得手段101aは、イベントから引数にするべき情報をDOMのAPIを利用して取得することができ、引数にするべき情報をイベントから取得すると、スクリプトを生成する処理を行う。このスクリプトの場合、第一引数のIDで入力レイアウトを特定する。そして、第二引数で入力された値を表す。このように、入力レイアウトを特定するための情報を、Webページに配置されている位置や順番で決めていないため、Webページのレイアウトが変更になっても正しく入力レイアウトを特定することができる。また、第二引数に示される値を編集することにより、入力データの一部を変更した操作情報を容易に生成することができる。
この場合、スクリプトファイルに出力されたスクリプトに含まれる引数についても、任意の値への変更を可能としているため、入力データの一部を変更した操作情報の再生処理が可能となる。
また、イベント・スクリプト対応表101cに定義された「キャプチャボタンが押される」は、本実施の形態に係る操作情報記録・再生装置100を構成するアプリケーションのキャプチャボタンが押されたときに発生されるイベントである。操作情報取得手段101aが、このイベントを取得すると、スクリプト「cr_capture」をスクリプトとして、スクリプトファイルに出力する。
以上のように、イベントの発生に応じてスクリプトの出力を繰返すことにより生成されたスクリプトファイルを用いることにより、再生が行われる。
図14は、操作再生部102の行う操作再生処理の詳細を示すフローチャートである。
まず、エンドユーザによる再生ボタンの押下に応じて、操作再生部102が起動し(ステップ1401)、再生受付手段102aがスクリプトファイルを選択させるためのダイアログを表示して、エンドユーザにスクリプトファイルを選択させる(ステップ1402)。
エンドユーザによりスクリプトファイルが選択されると、再生受付手段102aがスクリプト解析手段102bに選択されたスクリプトファイルを渡し、スクリプト解析手段102bが後述するスクリプト解析処理を行う(ステップ1403)。
スクリプト解析処理の結果に応じて、イベント発生手段102cはイベントを発生させ(ステップ1404)、ログ出力手段102dがログをログファイルに出力する(ステップ1405)。
操作再生部102は、操作の再生のために読込まれたスクリプトファイルを一行進め、まだスクリプトが残っているか否かを判定し(ステップ1406)、スクリプトが残っている場合には、スクリプト解析処理,イベント発生処理,ログ出力処理の各処理を行う。
一方、最後の行であった場合には、実行すべきスクリプトが終了していることとなるため、処理を終了する。
例えば、スクリプトファイル内の「cr_start」というスクリプトについて処理を行った場合には、スクリプト解析手段102bから「WebBrowser.Start」というイベントがイベント発生手段102cに渡され、イベント発生手段102cがWebブラウザ111の起動処理を行う。
なお、再生受付手段102aは、エンドユーザにより選択されたスクリプトファイルについての編集画面を表示させることとして、スクリプトファイル内に含まれるスクリプトの編集を可能としてもよい。この場合、イベント・スクリプト対応表101cを合わせて表示し、イベント・スクリプト対応表101cから選択されたスクリプトを追加,引数として設定されている値の変更を可能としてもよい。これにより、操作等の一部を変更した状態での再生が可能となる。
図15は、ステップ1402で再生受付手段102aが表示するスクリプトファイル選択画面としてのダイアログの一例を示す図である。
ダイアログ1500では、スクリプトファイルの保存場所1501が表示され、操作情報記録手段101bにより生成されたスクリプトファイルのファイル名1502が表示される。
本例では、スクリプトファイルをテストケースと名づけて、テスト用のスクリプトファイルであることを、エンドユーザに意識させている。また、スクリプトファイルの保存場所として「_testcase_」が表示されているが、エンドユーザにより任意の保存場所が選択可能となっている。また、再生をするスクリプトファイルとして「sample.tc」が選択されたものとする。
図16は、スクリプト解析手段102bによる解析処理の詳細を示すフローチャートである。
スクリプト解析手段102bは、スクリプトファイルから一行目のスクリプトを取得し(ステップ1601)、取得したスクリプトを区切り文字列で分割する(ステップ1602)。例えば、スクリプトに対して引数が設定されている場合には、スクリプトと各引数毎とに区切ることとなる。例えば、取得したスクリプトが「cr_start」の場合には、引数が無いためそのまま処理を行う。一方、取得したスクリプトが「cr_input ID userID」の場合、区切り文字列としての空白により「cr_input」「ID」「userID」のそれぞれに分割をして処理を行う。
分割した結果のスクリプトに基づき、イベント・スクリプト対応表101cを検索して、対応するイベントを取得する(ステップ1603)。ここで取得したイベントについて、「キャプチャイベント」か否かを判定し(ステップ1604)、キャプチャイベントでなければ解析処理を終了する。
一方、「キャプチャイベント」である場合には、Webページについて、後述するキャプチャ処理を行い(ステップ1605)、生成した画像ファイルのファイル形式を変更して(ステップ1606)、画像データ格納手段107に格納する(ステップ1607)。この場合のファイル形式の変更としては、例えば、編集の容易なファイル形式(例えば、BMP(BitMaP)形式)から、より小さいファイルサイズのファイル形式として、可逆圧縮で元の状態に完全に戻すことのできるファイル形式(例えば、PNG(Portable Network Graphics)形式)に変更する処理を行う。また、画面比較部104を構成するアプリケーションのみが解読可能になるような暗号化などを行うことにより、他のアプリケーションでは読み込むことができなくなるため、機密性が高くなる。
なお、画像データ格納手段107において、比較元画像と被比較画像とのそれぞれの格納場所を設定することにより、共通のファイル名での管理が可能となる。
図17は、ログ出力手段102dにより出力されたログファイルの一例を示す図である。
ログファイル1700は、再生を始めた時刻を用いたログファイル名1701である「2004012318210001」によりログファイル格納手段108に格納されている。ログファイル1700には、イベント発生手段102cにより発生したイベントを示す「WebBrowser.Start」と、イベントが発生した日時を示す「2004012318210001」とがログとして出力されている。
なお、ログの出力は、スクリプトファイルのままでもよく、また、イベント発生手段102cが発生したイベントをそのまま出力したものでもよい。
次に、画面記録部103によるキャプチャ処理の詳細について説明する。
図18はキャプチャ処理の対象となるWebページの一例を示す図であり、図19,20はWebページを表示させるためのHTML文書の一例を示す図であり、図21はHTML文書を木構造で示したものである。
図18に示すWebページ1800では、フレームで左右の2つに分割され、左ページ1810では、検索条件入力欄1811,登録ボタン1812,検索ボタン1813,終了ボタン1814が表示されており、右ページ1820では、詳細ボタン1821,削除ボタン1822,修正ボタン1823,検索結果表示部1824が表示されている。
右ページ1820の検索結果表示部1824は、検索結果数によりWebブラウザで表示できる範囲よりも縦,横ともに長くなり、縦,横のスクロールバー1825が表示されている。この場合、各スクロールバー1825を操作させることにより、隠れているページ部分を表示することが可能となる。
図19は、フレームを使用したWebページを表示させるための表現を示すHTML文書の一例であり、図20は、フレーム分割された左ページを表示させるためのHTML文書の一例である。
フレームを使用したWebページを示すHTML文書1900では、<frameset>タグのなかに、フレームで分割された領域に表示するWebページをそれぞれ記述する。<frameset>タグで囲まれた中にある、<fram>タグの属性「src」の属性値でフレームに内に表示する外部のhtml文書「menu.html」,「list.html」を指定する。また、属性「name」の属性値「menu」,「list」は、そのフレーム領域につける名前である。
図20のHTML文書2000に示すように、フレーム内に表示するWebページも、通常のWebページと同様に表現され、HTML文書2000はDOMの木構造で表される。従って、フレームを使用しているHTML文書1900であっても、DOMのAPIを使用して、辿っていくことでフレームごと、またフレームを越えて情報を読み込むことができる。
図21は、図19,20で示されているHTML文書1900,2000をDOMの木構造で表したときの一例である。
木構造2100において、要素「framset」2101は、フレーム分割を定義するための<frameset>タグに対応し、その子要素「frame」2102は、フレーム分割された各領域に表示するWebページのHTML文書を指す<frame>タグに対応している。子要素「frame」2102には属性として、Webページとして表示するHTML文書を指定する属性「src」と、そのフレーム領域の名前を定義する「name」があり、それらの属性値はそれぞれ、「menu.html」,「list.html」と「menu」,「list」となっている。
図22は、キャプチャ手段が行うキャプチャ処理の詳細を示すフローチャートである。
まず、キャプチャ手段は、キャプチャ対象となるWebページのHTML文書が、フレーム分割を定義しているか否かを判定する(ステップ2201)。フレーム分割を定義しているHTML文書には<frameset>タグが含まれているため、判定処理では<frameset>タグを検索する。
フレーム分割が定義されている場合には、各領域に表示するWebページのフレームのHTML文書を取得する(ステップ2202)。具体的は、HTML文書内における<frameset>タグの中の<frame>タグの内容をDOMのAPIを使用して取得する。
取得したHTML文書に基づき、フレーム領域にWebページとして表示される情報が記述されたHTML文書の内容を取得する(ステップ2203)。
一方、フレーム分割が定義されていない場合には、WebページのHTML文書の内容を取得する(ステップ2203)。
各WebページについてHTML文書を取得した後、Webページを表示するWebブラウザにおいてスクロールバーが表示されているか否かを判定する(ステップ2204)。
この判定処理では、Webページの属性として、DOMの木構造の各要素に保持されるスクロールバーの情報を参照する。即ち、WebブラウザがHTML文書をDOMの木構造にする際には、Webブラウザの持つ情報を取得し、各要素においてHTML文書の情報とWebブラウザの持つ情報とを保持することとなる。ここで、Webブラウザの持つ情報としては、一度に表示可能な領域の大きさを示す情報が含まれ、Webブラウザ又は各フレームの領域にWebページの全てが表示されていない場合には、スクロールバーが表示されることとなり、このスクロールバーは、各Webページの属性として、DOMの木構造の各要素に保持される。
スクロールバーが表示されていない場合には、そのままWebページのキャプチャ処理を行い画像ファイルを生成する(ステップ2205)。
一方、スクロールバーが表示されている場合には、Webページ全体の大きさとして、縦幅,横幅を取得する(ステップ2206)。この処理では、「body」要素が持つ「clientHeight」の情報からWebページの高さを、「clientWidth」の情報からWebページの幅を取得する。なお、本処理及び以降の処理において、各要素の情報を利用するときは、DOMのAPIを利用するものとする。
次に、WebブラウザにおいてWebページを一度に表示できる領域の大きさを取得する(ステップ2207)。この場合には、「body」要素が持つ「scrollHeight」の情報から縦幅を取得し、「scrollWidth」の情報から横幅を取得する。
その後、キャプチャ処理の準備として、キャプチャ終了後にスクロールバーを元の位置に戻すため、現在のスクロールバーの位置を取得する(ステップ2208)。この場合には、「body」要素の「scrollTop」の情報から、表示されている領域の上部からの移動距離を取得し、「scrollLeft」の情報から、左端点からの移動距離を取得して記憶しておく。
キャプチャ処理では、まず、Webページの最上位,左端の領域をキャプチャ対象とするためにスクロールバーを操作する(ステップ2209)。スクロールバーの操作は、ステップ2208で利用した「scrollTop」,「scrollLeft」の値を変更することで行い、この場合には、ともに「0」に変更する。
スクロールバーの操作を行った後、Webブラウザに表示されているWebページのキャプチャ処理を行い画像を取得し(ステップ2210)、取得した画像データをメモリや一時ファイル等の一時領域に保存する(ステップ2211)。この場合の画像の取得では、例えば、OSのキャプチャ機能を利用する。画像のファイル名は、DOMの木構造から、APIを利用してタイトルの文字列を取得し、その文字列を使用して、例えば、「顧客管理システム メイン_1」とし、数値は他の画像と重ならないように連番とする。このファイル名の規則から明らかなように、フォルダ名でそれぞれのファイルの意味を決めているため、比較元画像と被比較画像のファイル名は同じとしている。
スクロールバーを有する場合には、Webページ全体について一度にキャプチャ処理を行うことができないため、表示領域を変更して画像の取得を行うことが必要となる。
表示領域の変更では、まず、縦方向についてWebページの画像を全て取得したか否かを判定する(ステップ2212)。この場合には、「Webページの本来の高さ」が「(一度に表示できる高さ)×(スクロールバーの位置÷一度に表示できる高さ+1)」よりも小さくなれば、縦方向について全ての画像を取得したこととなる。
縦方向について全ての画像を取得した場合には、スクロールバーを最上位へ動かし(ステップ2213)、横方向についてWebページの画像を全て取得したか否かを判定する(ステップ2214)。例えば、「Webページの本来の幅」が「(一度に表示できる幅)×(スクロールバーの位置÷一度に表示できる幅+1)」よりも小さくなれば、横方向について全ての画像を取得したこととなる。なお、スクロールバーを最上位へ移動する場合には、「scrollTop」の属性値を「0」に変更する。
一方、縦方向又は横方向について、画像を取得していない領域が存在する場合には、スクロールバーを操作することにより、下方向又は右方向に一度に表示可能な領域分、表示領域を移動して(ステップ2215,2216)、キャプチャ処理を繰返す(ステップ2210)。例えば、Webページの本来の高さを「18」とし、Webブラウザにより一度に表示できる高さを「10」とすると、スクロールバーの位置が「0」の場合には、18>10となり、縦方向について全ての画像を取得していないこととなるため、「scrollTop」を「10」に変更して、画像を取得する。横方向についても同様に、「scrollLeft」の値を変更して、画像を取得する。
以上の処理を繰返し、Webページの画像を全て取得した後、ステップ2208で記憶した位置情報に基づき、スクロールバーの位置を復元するとともに(ステップ2217)、一時領域に保存された画像データを合成してWebページの全体を示す画像ファイルを生成する(ステップ2218)。
画像ファイルを生成した後、全ての<frame>タグを処理したか否かを判定し、未処理のフレームが存在する場合には(ステップ2219)、以上の処理を他のフレームについても繰返して、処理を終了する。
図23は、キャプチャ手段により、図18に示す左ページに検索条件として「AAA AAA」を入力した状態をキャプチャした例を示す図であり、図24は、キャプチャ手段により、図18に示す右ページをキャプチャした例を示す図である。
図23に示すキャプチャ画像2300のように、Webブラウザ111により一画面でWebページ全体が表示可能な場合には、1度のキャプチャ処理により画像ファイルを生成する。
一方、図24に示すキャプチャ画像2400のように、一画面でWebページ全体が表示できない場合(スクロールバーがある場合)には、ステップ2209〜2219により、複数回のキャプチャ処理を行った後、合成した画像ファイルを生成する。
図22に示すキャプチャ処理の場合、左上から下側に向かって画像を取得しているので、合成上の一時ファイルに、画像を取得した順番に画像の合成を行う。画像の順番は、一時ファイルに連番をつけているのでその順番通りに行う。合成用の一時ファイル内に生成された画像の高さが、Webページの本来の高さになったら、横に移動して画像を合成する。画像の横の長さが、Webページの本来の横幅になったら画像の合成を終了する。
例えば、図24に示すWebページの場合、左上の第一領域2401について取得した画像を一時ファイルとして保存した後、左下の第二領域2402について画像を取得する。縦方向については、第二領域2402までで全ての画像の取得が完了するため、次に、右上の第三領域2403について画像を取得する。最後に、右下の第四領域2404について画像を取得すると、Webページの全ての領域について画像の取得がされることとなるため、取得した画像を合成し、一つの画像ファイルとして生成する。
以上のように生成された画像ファイルは、任意の選択に応じて、比較元画像又は被比較画像として画像格納手段107に可能され、画面比較部103による画像比較処理の対象となる。この場合、画像の比較は、全てのWebページについての画像を取得した後にまとめて比較することとしてもよく、また、例えば再生の途中に行うこととしてもよい。
図25は、画面比較部107の行う画像比較処理の詳細を示すフローチャートである。
エンドユーザにより比較メニューが選択された場合、データ復元手段104aは、比較元画像ファイルを読込み(ステップ2501)、復元処理を行うとともに(ステップ2502)、被比較画像ファイルを読込み(ステップ2503)、復元処理を行う(ステップ2504)。この場合の復元処理としては、例えば、保存用のサイズの小さなPNG形式から、比較処理用のBMP形式への変換を行う。
データ復元手段104aは、復元処理を行った各画像ファイルを画像比較手段104bに渡し、画像比較手段104bが比較処理を行う(ステップ2505)。ここで、比較処理用の画像ファイルとしてBMP形式のファイルを利用することにより、画像の点である画素一つ一つが独立に情報を持つため、ファイルの先頭からビット比較を行うことにより、差異を有する部分の判定が可能となる。
比較結果出力手段104cは、画像比較手段104bにより比較結果を取得し、差異部分を指摘した比較結果ファイルを生成して、比較結果格納手段108に格納する(ステップ2506)。この場合、ファイル名を入力のファイル名のままにして、保存先を例えば「result」フォルダのように別フォルダとすることにより、比較元画像、被比較画像、比較結果画像を同一のファイル名により管理することが可能となる。この例では、「result」フォルダを既に説明した「_testcase_」フォルダの中に作成するものとする。
なお、比較結果ファイルについては、例えば、Webブラウザ等の画像の閲覧が可能なアプリケーションにより表示することとしてもよい。
図26は図23に示す画像データに対する被比較画像の一例を示す図であり、図27は比較結果ファイルに示す比較結果画像の一例を示す図である。
図26に示すように、本例に示す被比較画像2600では、図23に示す画像データに対して、検索条件入力欄2601に表示された条件が「BBB BBB」に変更されている。
従って、図27に示す例では、画像比較手段が、検索条件入力欄の部分に差異があると判定し、比較結果画像2700において差異部分2701を表示する。
以上のように、本実施の形態では、操作情報記録部により生成された操作情報として、イベント・スクリプト対応情報から取得したスクリプト文字列を用いて、任意に編集可能な操作情報を生成することとしたので、操作のやり直しをすることなく、操作の一部を変更したテストを容易に行うことが可能となる。この場合、イベント・スクリプト対応表を参照可能として、スクリプトファイルに含まれるスクリプトの追加,削除等の編集を可能とすることにより、テスト用の操作情報の適切な生成が可能となる。
また、入力操作を示す操作情報について、引数に対応した入力データを示す文字列を前記スクリプト文字列に付加することとしたので、操作のやり直しをすることなく、入力データの一部を変更したテストを行うことが可能となる。この場合、Webページを示すHTML文書の解析結果に基づき、入力レイアウト識別情報を取得することとしたため、入力レイアウトの位置,順序等が変更となった場合であっても、再生処理を行うことが可能となる。
また、画像記録部として、HTML文書の解析結果に基づき、Webページが複数のフレームで構成されている場合に、各フレームについての画像データを取得することとしたので、フレーム毎のWebページの動的な変化を適切に把握させることが可能となる。
また、Webページの領域がWebページの表示領域よりも広い場合に、表示領域を移動させて、各表示領域毎の画像データを取得して合成することにより、Webページ全体の画像データを生成することとしたので、Webページ全体の状態を適切に把握させることが可能となる。
この場合、各処理においてDOMのAPIを利用することとしたので、Webページの要素の適切な取得が可能となる。
また、各Webページについて取得した画像データに対し、可逆圧縮を行うことにより格納用データを生成することとしたので、格納用の画像ファイルのサイズを縮小することができるとともに、比較処理において復号処理を行うことにより、正確な比較が可能となる。さらに、画像比較部のみにより解読可能な形式で暗号化を行うことにより、機密性を高めることが可能となる。また、比較用の画像データをBMP形式で生成することにより、差異部分の適切な抽出が可能となる。
また、画像比較部として、同一のWebページに対する複数の画像データを比較して、差異部分を識別可能に表示した画像データを生成することとしたので、比較結果を容易に把握させることが可能となる。
また、本発明の他の利用形態として、トラブルシューティングに対するユーザサポート等を行う場合に、クライアントマシンに本発明に係る操作情報記録部を予め備えておき、操作情報記録部により取得した操作情報をサポート側のマシンに送信して、エンドユーザの操作に基づく処理状態をサポート側マシンの操作再生部で確認させることとしてもよい。これにより、エンドユーザの行った操作の正確な再現を行うことができるため、トラブルの原因のより適切な把握が可能となる。
なお、本発明は、前記実施の形態に示す構成に限られるものではなく、同様の処理を可能とするものであれば、各処理部及び情報格納手段の構成を変更することとしてもよく、本発明の操作情報記録・再生装置を複数の端末により構成することとしてもよい。
また、前記実施の形態では、操作再生部を構成する再生受付手段によりスクリプトファイルの編集を行うこととしているが、これに限られるものでは無く、イベント・スクリプト対応表を参照して、各スクリプトファイルに、スクリプトの追加等を行うスクリプト編集手段を備えることとしてもよい。
また、画像データの形式については、BMP,PNG形式に限られるものでは無く、他の形式を用いることとしてもよい。
本発明の一実施の形態に係る操作情報記録・再生装置を含むシステム全体の概略構成を示すブロック図である。 操作情報記録・再生装置の行う処理の概要を示すフローチャートである。 操作情報記録・再生装置としてのアプリケーションのメニュー画面の一例を示す図である。 Webブラウザにより表示するWebページの一例を示す図である。 図4に示すWebページを表示させるためのHTML文書の一例を示す図である。 図5に示すHTML文書を木構造で示したものである。 操作情報記録部の行う記録処理手順を示すフローチャートである。 操作情報記録部の表示するスクリプトファイルのファイル名入力画面の一例を示す図である。 イベント・スクリプト対応表のデータ構造の一例を示す図である。 操作情報記録手段の行うスクリプトファイル生成処理手順を示すフローチャートである。 操作情報記録手段により生成されたスクリプトファイルの一例を示す図である。 図4に示すWebページに対して、ユーザID,パスワードが入力された状態を示す図である。 スクリプトファイルにWebブラウザの起動のスクリプトと、ユーザID入力欄に「userID」を入力するスクリプトを出力した例を示している。 操作再生部の行う操作再生処理手順を示すフローチャートである。 再生受付手段の表示するスクリプトファイル選択画面としてのダイアログの一例を示す図である。 スクリプト解析手段による解析処理手順を示すフローチャートである。 ログ出力手段により出力されたログファイルの一例を示す図である。 キャプチャ処理の対象となるWebページの一例を示す図である。 図18に示すWebページを表示させるためのHTML文書の一例を示す図である。 図18に示すWebページを表示させるためのHTML文書の一例を示す図である。 図19,20に示すHTML文書を木構造で示したものである。 キャプチャ手段の行うキャプチャ処理手順を示すフローチャートである。 図18に示す左側のWebページに検索条件を入力した状態を、キャプチャ手段によりキャプチャした例を示す図である。 図18に示す右側のWebページを、キャプチャ手段によりキャプチャした例を示す図である。 画面比較部の行う画像比較処理手順を示す図である。 図23に示す画像データに対する被比較画像の一例を示す図である。 比較結果ファイルに示す比較結果画像の一例を示す図である。
符号の説明
100 操作情報記録・再生装置、101 操作情報記録部、101a 操作情報取得手段、101b 操作情報記録手段、101c イベント・スクリプト対応表、102 操作再生部、102a 再生受付手段、102b スクリプト解析手段、102c イベント発生手段、102d ログ出力手段、103 画面記録部、103a キャプチャ手段、103b データ変換手段、104 画面比較部、104a データ復元手段、104b 画像比較手段、104c 比較結果出力手段、105 スクリプト格納手段、106 ログファイル格納手段、107 画像データ格納手段、108 比較結果格納手段、110 クライアントマシン、111 Webブラウザ、112 OS、120 ネットワーク、130 サーバマシン、131 Webサーバ、131a HTMLファイル、131b 画像ファイル、131c レイアウト制御ファイル、132 アプリケーションサーバ、133 データベース。

Claims (6)

  1. Webブラウザに対する操作情報を記録し、当該操作情報に基づき前記Webブラウザを介してWebアプリケーションの実行を行う操作情報記録・再生装置であって、
    前記操作情報記録・再生装置は、各操作に応じて発生するイベント情報と動作命令を示すスクリプト文字列との対応関係を予め定義したイベント・スクリプト対応情報と、
    前記イベント情報を取得し、当該イベント情報に対応するスクリプト文字列を前記イベント・スクリプト対応情報から取得して、任意に編集可能な操作情報を生成して操作情報格納手段に格納する操作情報記録部と、
    任意に選択された操作情報を前記操作情報格納手段から取得し、当該操作情報に含まれるスクリプト文字列に基づき前記イベント・スクリプト対応情報からイベント情報を取得し、当該イベント情報に応じた操作処理を行う操作再生部と
    を備えることを特徴とする操作情報記録・再生装置。
  2. 前記イベント・スクリプト対応情報は、入力操作を示すイベント情報に対応するスクリプト文字列に付随する情報として、引数定義情報を含むものとし、
    前記操作情報記録部は、前記入力操作を示すイベント情報を取得した場合に、前記WebブラウザによるHTML文書の解析結果に基づき、前記引数定義情報に応じた入力レイアウト識別情報と入力データとを取得し、前記スクリプト文字列に前記入力レイアウト識別情報と入力データとを示す文字列を付加する手段を備えることを特徴とする請求項1に記載の操作情報記録・再生装置。
  3. 前記操作情報記録・再生装置は、Webブラウザに表示されたWebページを画像データとして取得する画像記録部を備え、
    前記画像記録部は、前記HTML文書の解析結果に基づき、前記Webページが複数のフレームで構成されている場合に、各フレームに示すWebページついて画像データとして取得して画像格納手段に格納する手段を備えることを特徴とする請求項1又は2に記載の操作情報記録・再生装置。
  4. 前記画像記録部は、
    前記HTML文書の解析結果に基づき、前記Webページの領域が前記Webページの表示領域よりも広い場合に、表示領域を移動させて、表示領域毎に画像データを取得し、当該画像データを合成して前記Webページの領域全体を表す画像データを生成する手段を備えることを特徴とする請求項3に記載の操作情報記録・再生装置。
  5. 前記画像記録部は、取得した画像データについて、可逆圧縮を行うことにより格納用データを生成する手段を備えることを特徴とする請求項3又は4に記載の操作情報記録・再生装置。
  6. 前記操作情報記録・再生装置は、
    前記画像記録部の格納した同一のWebページ対する複数の画像データを比較して、比較結果に基づく差異部分を識別可能に表示した画像データを生成する画像比較部を備えることを特徴とする請求項3〜5に記載の操作情報記録・再生装置。

JP2004075044A 2004-03-16 2004-03-16 操作情報記録・再生装置 Pending JP2005266954A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004075044A JP2005266954A (ja) 2004-03-16 2004-03-16 操作情報記録・再生装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004075044A JP2005266954A (ja) 2004-03-16 2004-03-16 操作情報記録・再生装置

Publications (1)

Publication Number Publication Date
JP2005266954A true JP2005266954A (ja) 2005-09-29

Family

ID=35091473

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004075044A Pending JP2005266954A (ja) 2004-03-16 2004-03-16 操作情報記録・再生装置

Country Status (1)

Country Link
JP (1) JP2005266954A (ja)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008242738A (ja) * 2007-03-27 2008-10-09 Fujitsu Ltd テスト仕様書作成プログラム、テスト仕様書作成装置、およびテスト仕様書作成方法
JP2009075921A (ja) * 2007-09-21 2009-04-09 Hitachi Software Eng Co Ltd Webページテスト自動化装置
JP2011076152A (ja) * 2009-09-29 2011-04-14 Hitachi Solutions Ltd キャプチャシステム
JP2011197879A (ja) * 2010-03-18 2011-10-06 Fuji Xerox Co Ltd 情報処理装置、情報処理システムおよびプログラム
WO2012042561A1 (ja) * 2010-09-28 2012-04-05 株式会社野村総合研究所 画像取得装置、画像取得方法およびコンピュータプログラム
WO2012042560A1 (ja) * 2010-09-28 2012-04-05 株式会社野村総合研究所 画像取得装置、画像取得方法およびコンピュータプログラム
CN102411538A (zh) * 2011-11-22 2012-04-11 南京大学 基于事件可达性模型的图形用户界面测试脚本修复方法
JP2012074001A (ja) * 2010-08-30 2012-04-12 Fujitsu Ltd リクエスト処理プログラム、リクエスト処理装置及びリクエスト処理方法
JP5089684B2 (ja) * 2007-04-06 2012-12-05 インターナショナル・ビジネス・マシーンズ・コーポレーション サービス・プログラムを生成する技術
JP2013033377A (ja) * 2011-08-02 2013-02-14 Nippon Telegr & Teleph Corp <Ntt> 自動操作部品の特定方法およびその装置
CN103562927A (zh) * 2011-05-31 2014-02-05 惠普发展公司,有限责任合伙企业 自动化安全测试
WO2016194889A1 (ja) * 2015-06-03 2016-12-08 新日鉄住金ソリューションズ株式会社 情報処理装置、情報処理方法及びプログラム
JP2017204187A (ja) * 2016-05-12 2017-11-16 富士通株式会社 画像比較プログラム、画像比較装置および画像比較方法
JP2017215783A (ja) * 2016-05-31 2017-12-07 住友セメントシステム開発株式会社 テスト装置およびプログラム
CN107943703A (zh) * 2017-11-29 2018-04-20 北京小米移动软件有限公司 终端设备崩溃数据的获取方法、装置和系统
CN108614762A (zh) * 2016-12-09 2018-10-02 武汉斗鱼网络科技有限公司 一种浏览器测试方法及装置
WO2022107203A1 (ja) * 2020-11-17 2022-05-27 三菱電機株式会社 画面キャプチャ装置および画面キャプチャ方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09305381A (ja) * 1996-05-13 1997-11-28 Mitsubishi Electric Corp ソフトウェアのインストール装置、ソフトウェアのインストールシステムおよびソフトウェアのインストール方法
JP2001142848A (ja) * 1999-11-17 2001-05-25 Canon Inc データ処理装置及び表示情報複写処理方法ならびに記憶媒体
JP2003044318A (ja) * 2001-08-02 2003-02-14 Fujitsu Ltd テスト支援プログラムおよびテスト支援方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09305381A (ja) * 1996-05-13 1997-11-28 Mitsubishi Electric Corp ソフトウェアのインストール装置、ソフトウェアのインストールシステムおよびソフトウェアのインストール方法
JP2001142848A (ja) * 1999-11-17 2001-05-25 Canon Inc データ処理装置及び表示情報複写処理方法ならびに記憶媒体
JP2003044318A (ja) * 2001-08-02 2003-02-14 Fujitsu Ltd テスト支援プログラムおよびテスト支援方法

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8095913B2 (en) 2007-03-27 2012-01-10 Fujitsu Limited Computer readable storage medium that stores a test specifications creating program, test specifications creating apparatus and test specifications creating method
JP2008242738A (ja) * 2007-03-27 2008-10-09 Fujitsu Ltd テスト仕様書作成プログラム、テスト仕様書作成装置、およびテスト仕様書作成方法
JP5089684B2 (ja) * 2007-04-06 2012-12-05 インターナショナル・ビジネス・マシーンズ・コーポレーション サービス・プログラムを生成する技術
JP2009075921A (ja) * 2007-09-21 2009-04-09 Hitachi Software Eng Co Ltd Webページテスト自動化装置
JP2011076152A (ja) * 2009-09-29 2011-04-14 Hitachi Solutions Ltd キャプチャシステム
JP2011197879A (ja) * 2010-03-18 2011-10-06 Fuji Xerox Co Ltd 情報処理装置、情報処理システムおよびプログラム
US8659774B2 (en) 2010-03-18 2014-02-25 Fuji Xerox Co., Ltd. Information processing apparatus, information processing system, and computer-readable medium
JP2012074001A (ja) * 2010-08-30 2012-04-12 Fujitsu Ltd リクエスト処理プログラム、リクエスト処理装置及びリクエスト処理方法
WO2012042561A1 (ja) * 2010-09-28 2012-04-05 株式会社野村総合研究所 画像取得装置、画像取得方法およびコンピュータプログラム
WO2012042560A1 (ja) * 2010-09-28 2012-04-05 株式会社野村総合研究所 画像取得装置、画像取得方法およびコンピュータプログラム
JP5303680B2 (ja) * 2010-09-28 2013-10-02 株式会社野村総合研究所 画像取得装置、画像取得方法およびコンピュータプログラム
JPWO2012042561A1 (ja) * 2010-09-28 2014-02-03 株式会社野村総合研究所 画像取得装置、画像取得方法およびコンピュータプログラム
JPWO2012042560A1 (ja) * 2010-09-28 2014-02-03 株式会社野村総合研究所 画像取得装置、画像取得方法およびコンピュータプログラム
CN103562927A (zh) * 2011-05-31 2014-02-05 惠普发展公司,有限责任合伙企业 自动化安全测试
US9736177B2 (en) 2011-05-31 2017-08-15 Hewlett Packard Enterprise Development Lp Automated security testing
US10243679B2 (en) 2011-05-31 2019-03-26 Entit Software Llc Vulnerability detection
JP2014519119A (ja) * 2011-05-31 2014-08-07 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 自動セキュリティ検査
US9276952B2 (en) 2011-05-31 2016-03-01 Hewlett Packard Enterprise Development Lp Automated security testing
CN103562927B (zh) * 2011-05-31 2016-06-01 惠普发展公司,有限责任合伙企业 自动化安全测试
JP2013033377A (ja) * 2011-08-02 2013-02-14 Nippon Telegr & Teleph Corp <Ntt> 自動操作部品の特定方法およびその装置
CN102411538A (zh) * 2011-11-22 2012-04-11 南京大学 基于事件可达性模型的图形用户界面测试脚本修复方法
CN102411538B (zh) * 2011-11-22 2014-02-26 南京大学 基于事件可达性模型的图形用户界面测试脚本修复方法
JP2016224868A (ja) * 2015-06-03 2016-12-28 新日鉄住金ソリューションズ株式会社 情報処理装置、情報処理方法及びプログラム
WO2016194889A1 (ja) * 2015-06-03 2016-12-08 新日鉄住金ソリューションズ株式会社 情報処理装置、情報処理方法及びプログラム
US10491756B2 (en) 2015-06-03 2019-11-26 Ns Solutions Corporation Information processing apparatus, information processing method, and non-transitory computer readable recording medium
JP2017204187A (ja) * 2016-05-12 2017-11-16 富士通株式会社 画像比較プログラム、画像比較装置および画像比較方法
JP2017215783A (ja) * 2016-05-31 2017-12-07 住友セメントシステム開発株式会社 テスト装置およびプログラム
CN108614762A (zh) * 2016-12-09 2018-10-02 武汉斗鱼网络科技有限公司 一种浏览器测试方法及装置
CN107943703A (zh) * 2017-11-29 2018-04-20 北京小米移动软件有限公司 终端设备崩溃数据的获取方法、装置和系统
CN107943703B (zh) * 2017-11-29 2021-03-30 北京小米移动软件有限公司 终端设备崩溃数据的获取方法、装置和系统
WO2022107203A1 (ja) * 2020-11-17 2022-05-27 三菱電機株式会社 画面キャプチャ装置および画面キャプチャ方法

Similar Documents

Publication Publication Date Title
JP4940791B2 (ja) テスト支援プログラム、テスト支援装置、およびテスト支援方法
JP2005266954A (ja) 操作情報記録・再生装置
JP4140916B2 (ja) Webページにおける状態遷移を解析する方法
JP5363355B2 (ja) スタイル要素を用いた画面表示の選択した表示領域をコピーアンドペーストする方法、システム及びプログラム
JP4899971B2 (ja) テスト仕様書作成プログラム、テスト仕様書作成装置、およびテスト仕様書作成方法
JP5066499B2 (ja) Webアプリケーションの操作手順書生成システム
JP2010055483A (ja) 情報再取得手順生成プログラム及び情報再取得手順生成装置
US20120311538A1 (en) Capturing Rich Actionable Feedback on Working Software
JP5463717B2 (ja) アプリケーションテスト生成プログラム、アプリケーションテスト生成方法及びアプリケーションテスト装置
JP4292789B2 (ja) ブラウザ機能拡張方法
JP3987076B2 (ja) テスト支援プログラム
JP5267342B2 (ja) マッシュアッププログラム、マッシュアップ装置及びマッシュアップ方法
JP4795404B2 (ja) 動作検証装置および動作検証プログラム
JP3942098B2 (ja) 情報処理システム、情報登録用情報処理装置、情報検索用情報処理装置、情報登録用情報処理方法、情報検索用情報処理方法、プログラム、及び記録媒体
JP4681673B1 (ja) 動作検証装置、動作検証方法および動作検証プログラム
JP4496919B2 (ja) Web閲覧操作の記録・再生装置及びプログラム及びコンピュータ読み取り可能な記憶媒体
JP2006053745A (ja) データ処理方法及びその装置、及びそのプログラム
JP2004287929A (ja) Webページ操作システムとプログラムおよびWebデータ伝送システム
JP2004362495A (ja) エラーログ情報解析支援方法及び実施装置並びに処理プログラム
JP4496929B2 (ja) 複数Web閲覧操作の並列再生装置及びプログラム及びコンピュータ読み取り可能な記録媒体
JP2005025295A (ja) コンテンツ変換プログラム、コンテンツ変換方法、およびコンテンツ変換装置
JP4903278B2 (ja) 動作検証装置、動作検証方法および動作検証プログラム
JPH09265431A (ja) ドキュメント編集方法及び装置と、ドキュメント編集装置を含むクライアント装置
JP5237875B2 (ja) 共有記事公開システム
JP2013037580A (ja) 情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060629

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090612

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090807

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090828

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091130

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20091207

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20100402