JP5330302B2 - 操作記録プログラム及び装置 - Google Patents

操作記録プログラム及び装置 Download PDF

Info

Publication number
JP5330302B2
JP5330302B2 JP2010072741A JP2010072741A JP5330302B2 JP 5330302 B2 JP5330302 B2 JP 5330302B2 JP 2010072741 A JP2010072741 A JP 2010072741A JP 2010072741 A JP2010072741 A JP 2010072741A JP 5330302 B2 JP5330302 B2 JP 5330302B2
Authority
JP
Japan
Prior art keywords
input
script
button
definition
character string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010072741A
Other languages
English (en)
Other versions
JP2011204139A (ja
Inventor
恵介 吉田
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.)
Fujitsu FSAS Inc
Original Assignee
Fujitsu FSAS Inc
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 Fujitsu FSAS Inc filed Critical Fujitsu FSAS Inc
Priority to JP2010072741A priority Critical patent/JP5330302B2/ja
Publication of JP2011204139A publication Critical patent/JP2011204139A/ja
Application granted granted Critical
Publication of JP5330302B2 publication Critical patent/JP5330302B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Input From Keyboards Or The Like (AREA)

Description

本発明は、コンピュータの操作記録を行うための技術に関する。
例えば、特開2007−4734号公報には、ユーザが過去に実行した操作を再現したり、過去のある時点から実施した一連の操作を繰り返し実行したりするための技術が開示されている。具体的には、本情報処理装置は、操作履歴を時間系列順に自動記録する機能と、時間系列上でユーザが指定した箇所へ遡って操作の自動再現・記憶する機能を有する。そして、操作履歴の内容を、ユーザがアプリケーション上から実施できる操作を機能毎に分類する。この機能分類では、再現時に内容変更をユーザに許可するものとしないものに分け、変更を許可するものは、再現時にユーザの必要に応じて変更して再生するものである。しかしながら、異なる情報処理装置で、一部分だけ変更しつつ同様の操作を繰り返し実施するような場合を想定した工夫は見えない。
また、特開2004−78268号公報には、同一あるいは類似した操作手順を繰り返すことが要求されるシステムにおいて、操作上のミスを防止し、操作に必要な手間や時間を削減するための技術が開示されている。具体的には、スクリプトファイルと、スクリプトファイルに対するパラメータの値を定義する設定ファイルと、スクリプトファイルおよび設定ファイルを読み出し、スクリプトに指定された処理を実行するスクリプトエンジンとを用意する。そして、スクリプトファイルには、スクリプトが格納され、スクリプトは、スクリプトエンジンにより解析される指令とスクリプトの解釈を制御する制御情報とを含む情報の集合である。設定ファイルは、スクリプトによって使用されるパラメータの値を定義したファイルである。スクリプトが変更できない固定の情報であるのに対して、設定ファイルの情報は変更可能な情報である。スクリプトエンジンは、スクリプトファイル及び設定ファイルに従って、スクリプトエンジン以外のプログラムを制御する。しかしながら、スクリプトファイル及び設定ファイルをどのように生成するかについては考察されていない。
特開2007−4734号公報 特開2004−78268号公報
以上のように、異なるコンピュータにおいて、部分的に異なるがほぼ同様の操作を繰り返し実施するような場合、例えば、同一企業の複数のサーバのネットワーク設定を行うような場合に、より簡単に且つ適切に、使用するデータを生成する方法は開示されていない。
従って、本発明の目的は、異なるコンピュータにおいて、部分的に異なるがほぼ同様の操作を繰り返し実施するためのデータを、より簡単に且つ適切に生成するための技術を提供することである。
本発明の一側面に係る操作記録プログラムは、コンピュータに、(A)操作記録開始の指示に応じて又は起動後に、所定のキー以外のキー入力を禁止するステップと、(B)クリックに応じて、当該クリックの操作を再現させるためのスクリプトデータを生成し、データ格納部に格納するステップと、(C)所定のキーに含まれるテキスト入力用キーの押下又は別途用意されているテキスト入力用ボタンのクリックに応じて、テキスト入力画面を表示して、テキスト入力を受け付け、当該テキスト入力を再現させるためのスクリプトデータを生成し、データ格納部に格納するステップと、(D)所定のキーに含まれる定義参照入力キーの押下又は別途用意されている定義参照入力ボタンのクリックに応じて、文字列及び当該文字列に対応付けられている値の入力又は選択を受け付け、定義済みの文字列及び当該定義済みの文字列に対応付けられている値が格納されている定義ファイルから当該入力又は選択された文字列に対応付けられている値を読み出し且つ当該値を入力させるためのスクリプトデータを生成し、データ格納部に格納する定義参照スクリプト生成ステップと、(E)操作記録終了後に、データ格納部に格納されているスクリプトデータを含むファイルを出力するステップとをコンピュータに実行させるものである。
このように、ユーザに対して操作記録中キー入力について特別に意識させた上で、装置毎に異なるキー入力部分については、定義ファイルを用いて入力を行うようなスクリプトデータを生成するようにしている。このようにすれば、クリックするだけの部分はユーザにとって簡単にスクリプトデータが生成されると共に、キー入力については通常のキー入力と装置毎に異なるキー入力部分とを分離しつつ、適切にスクリプトデータを生成することができるようになる。
なお、上で述べた定義参照スクリプト生成ステップが、特定の文字列及び当該特定の文字列に対応付けられている値の入力に応じて、定義ファイルに、特定の文字列及び当該特定の文字列に対応付けられている値を格納するステップを含むようにしてもよい。
このように、定義ファイルを生成しつつ、スクリプトデータを生成するようにしても良い。定義ファイルについては、ユーザがエディットして、スクリプトデータを含むファイルを実行させる装置毎にカスタマイズするようにしても良い。
なお、上で述べたようなプログラムは、例えばフレキシブル・ディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、コンピュータのメモリ等の記憶装置に一時保管される。
本発明によれば、異なるコンピュータにおいて、部分的に異なるがほぼ同様の操作を繰り返し実施するためのデータを、より簡単に且つ適切に生成できるようになる。
図1は、実施の形態におけるシステム概要図である。 図2は、操作記録プログラムのウィンドウ例を示す図である。 図3は、実施の形態におけるメイン処理フローを示す図である。 図4は、操作記録プログラムのウィンドウ例を示す図である。 図5は、キー入力関連処理の処理フローを示す図である。 図6は、プログラム起動処理の処理フローを示す図である。 図7は、操作対象のウィンドウ例を示す図である。 図8は、スクリプトデータの一例を示す図である。 図9は、クリック処理の処理フローを示す図である。 図10は、スクリプトデータの一例を示す図である。 図11は、クラスとスクリプトとの対応関係を表す図である。 図12は、クラスとスクリプトとの対応関係を表す図である。 図13は、操作対象のウィンドウに対する操作例を示す図である。 図14は、スクリプトデータの一例を示す図である。 図15は、操作対象のウィンドウに対する操作例を示す図である。 図16は、スクリプトデータの一例を示す図である。 図17は、操作対象のウィンドウに対する操作例を示す図である。 図18は、スクリプトデータの一例を示す図である。 図19は、操作対象のウィンドウに対する操作例を示す図である。 図20は、スクリプトデータの一例を示す図である。 図21は、操作対象のウィンドウに対する操作例を示す図である。 図22は、スクリプトデータの一例を示す図である。 図23は、操作対象のウィンドウに対する操作例を示す図である。 図24は、スクリプトデータの一例を示す図である。 図25は、操作対象のウィンドウに対する操作例を示す図である。 図26は、スクリプトデータの一例を示す図である。 図27は、操作対象のウィンドウに対する操作例を示す図である。 図28は、スクリプトデータの一例を示す図である。 図29は、操作対象のウィンドウに対する操作例を示す図である。 図30は、スクリプトデータの一例を示す図である。 図31は、操作対象のウィンドウに対する操作例を示す図である。 図32は、スクリプトデータの一例を示す図である。 図33は、操作対象のウィンドウに対する操作例を示す図である。 図34は、スクリプトデータの一例を示す図である。 図35は、テキスト入力ウィンドウの一例を示す図である。 図36は、スクリプトデータの一例を示す図である。 図37Aは、操作対象のウィンドウに対する操作例を示す図である。 図37Bは、定義名及び定義値の入力ウィンドウを示す図である。 図38は、定義ファイルの一例を示す図である。 図39は、定義名及び定義値選択ウィンドウの一例を示す図である。 図40は、スクリプトデータの一例を示す図である。 図41は、操作対象のウィンドウに対する操作例を示す図である。 図42は、操作対象のウィンドウに対する操作例を示す図である。 図43は、スクリプトデータの一例を示す図である。 図44は、制御入力処理の処理フローを示す図である。 図45は、記録停止後のウィンドウ構成例を示す図である。 図46は、定義ファイルの他の例を示す図である。 図47は、スクリプトファイル及び定義ファイルを使用する際の機能ブロック図である。 図48は、コンピュータの機能ブロック図である。
図1に、本発明の一実施の形態に係るシステムの概要を示す。操作記録を行う対象のコンピュータ3には、液晶表示装置やCRT(Cathode Ray Tube)ディスプレイなどの表示装置1と、キーボード5と、マウス7とが接続されている。なお、LAN(Local Area Network)などに接続している場合もあるが、以下の説明にはあまり関係のないため、説明を省略する。
コンピュータ3は、オペレーティングシステム(OS:Operating System)や業務アプリケーション・プログラムなどを含む各種プログラム(以下、一般プログラム39と呼ぶ)及び本実施の形態に係る操作記録プログラム31がインストールされており、必要に応じて実行される。また、コンピュータ3は、ハードディスクドライブなどのデータ格納部33を有しており、一般プログラム39及び操作記録プログラム31のデータを格納すると共に、操作記録プログラム31が生成するスクリプトファイル331及び定義ファイル333とが格納される。
本実施の形態に係る操作記録プログラム31は、コンピュータ3に、クリック処理部311と、テキスト入力処理部312と、定義参照処理部313と、キー入力制限部314と、拡張機能処理部315とを実現させるものである。
次に、図2乃至図47を用いて操作記録プログラム31による処理内容について説明する。まず、ユーザは、操作記録プログラム31の起動をコンピュータ3に指示する。操作記録プログラム31は、起動すると、例えばスクリプトファイル331の保存先ディレクトリ及びファイル名の指定をユーザに促す。操作記録プログラム31は、ユーザからスクリプトファイル331の保存先ディレクトリ及びファイル名の指定を受け付け、指定の保存先ディレクトリにおいて指定のファイル名のスクリプトファイル331をデータ格納部33にオープンしておく。そして、表示装置1に例えば図2に示すようなウィンドウを表示する。図2の例では、記録開始ボタンと、スクリプト生成ボタンと、設定ボタンとが含まれる。スクリプト生成ボタンは、操作記録が完了しないとクリックできないようになっている。設定ボタンは各種設定を行うためのボタンであり、本実施の形態にはあまり関係しないので、詳細な説明は省略する。ここで、ユーザは、記録開始ボタンをクリックするものとする。
そうすると、操作記録プログラム31は、ユーザから記録開始の指示を受け付け(図3:ステップS1)、例えば図4に示すようなウィンドウを表示装置1に表示する。図2に示した記録開始ボタンをクリックしたので、記録開始ボタンは記録停止ボタンに変更される。スクリプト生成ボタン及び設定ボタンについては変化しない。そして、記録開始の指示に応じて、テキスト入力ボタンと、仮想キー入力ボタンと、定義選択ボタンと、プログラム起動ボタンと、部分画像採取ボタンと、スナップショットボタンと、リブートボタンと、TAGボタンと、対象ウィンドウ指定ボタンと、コメント入力ボタンと、echo入力ボタンと、log入力ボタンと、フリー入力ボタンと、Sleep入力ボタンと、最大化ボタンとが表示される。部分画像採取ボタン以下のボタンについては、本実施の形態の主旨とは関係しないので、説明を省略する。また、仮想キー入力ボタンについては、Alt、Ctrl、Shift、カーソル移動といった特別なキーの入力を行うためのボタンである。この仮想キー入力ボタンについても、本実施の形態の主旨とはあまり関係しないのでこれ以上説明しない。
なお、各ボタンの左側に示されている記号は、ホットキーの表示であって、ボタンをクリックするのではなく、キーボード5のキーを押下げることによっても指示できるようになっている。
また、操作記録プログラム31のキー入力制限部314は、記録開始指示の後に、ホットキー以外のキーボード入力を禁止する(ステップS3)。このようにすることによって、どのようなキー入力が必要なのかについてユーザに意識させることができるようになる。具体的には、通常のテキスト入力なのか、スクリプトを実行させるコンピュータ毎に設定を変更しなければならない定義選択なのか、さらに仮想キー入力ボタンで入力しなければならないようなキー入力なのかを意識させる。
そして、操作記録プログラム31は、ユーザからの入力を受け付け始め、何らかの入力を受け付けると、以下の処理を実施する(ステップS5)。
この入力がホットキー入力又はホットキーに対応するボタンのクリックである場合(ステップS7:Yesルート)、キー入力関連処理を実施する(ステップS9)。キー入力関連処理が終了するとステップS19に移行する。キー入力関連処理については、図5乃至図8を用いて説明する。
ステップS5で受け付けた入力が、プログラム起動ボタンのクリック又はホットキー「X」の押下である場合には(図5:ステップS21)、プログラム起動処理を実施する(ステップS23)。このプログラム起動処理が終了すると、端子Cを介して元の処理に戻る。プログラム起動処理については、図6乃至図8を用いて説明する。
例えばテキスト入力処理部312は、実行ファイル名等の入力ウィンドウを表示装置1に表示させる(ステップS61)。例えば図7に示すようなウィンドウが表示される。このウィンドウに対するキー入力は許可される。図7の例では、実行すべきプログラムのリスト選択表示をさらに行ってプログラムを選択させるためのラジオボタンとスタートメニューを表示させてプログラムを選択させるためのラジオボタンとそれらのラジオボタンのいずれかの選択を確定させるためのボタンとを含むプログラム選択部と、実行ファイル名を入力するための入力欄と、実行ファイル名をディレクトリ表示から指定するための参照ボタンと、実行すべきプログラムに渡すべき引数を入力するための入力欄と、実行すべきプログラムの作業ディレクトリ名の入力欄と当該作業ディレクトリ名をディレクトリ表示から指定するための参照ボタンと、設定入力を登録するためのOKボタンと、設定入力をキャンセルためのキャンセルボタンとが含まれる。プログラム選択欄の操作の選択の結果は、実行ファイル名入力欄に反映される。ユーザは、このようなウィンドウに従って、入力を行ってOKボタンをクリックする。
そして、例えばテキスト入力処理部312は、ユーザから実行ファイル名等の入力を受け付け(ステップS63)、実行ファイル名等を含むスクリプトを生成して、スクリプトファイル331に格納する(ステップS65)。図8に示すようなスクリプトが、スクリプトファイル331に格納される。図8に示したスクリプトは、指定された実行ファイル名のプログラムを実行させるためのスクリプトである。そして、例えばテキスト入力処理部312は、OSに指示して、一般プログラム39のうち、実際に指定されたプログラムを起動させる(ステップS67)。
なお、図5においてプログラム起動ではない場合(ステップS21:Noルート)については、以下で必要な場面において説明することとする。
図3の処理の説明に戻って、ステップS9が終了すると、操作記録プログラム31は、処理終了であるか判断し(ステップS19)、処理終了でなければ端子Bを介してステップS5に戻る。一方、処理終了が指示された場合には、処理を終了する。なお、記録終了ボタンがクリックされないで終了が指示された場合やスクリプト生成ボタンがクリックされないで終了が指示された場合には、ユーザに警告の上、処理を終了する。
一方、ステップS5における入力が、ホットキー又はホットキーに対応するボタンのクリックではなく(ステップS7:Noルート)、マウス7によるクリックであれば(ステップS11:Yesルート)、クリック処理部311は、クリック処理を実施する(ステップS13)。このクリック処理については、図9乃至図34を用いて説明する。クリック処理の後には、ステップS19に移行する。
図9を用いてクリック処理を説明する。なお、ユーザは、最初に、操作の対象となるプログラムのウィンドウを選択するため、そのウィンドウをクリックしたものとする。
すなわち、クリック処理部311は、ウィンドウの選択、すなわち起動したプログラムについてのウィンドウにおける特定のクラス(例えばStatic)についてクリックを行ったかを判断し(図9:ステップS71)、ウィンドウの選択を行った場合には、選択ウィンドウ名を含むスクリプトを生成し、スクリプトファイル331に格納する(ステップS73)。例えば、この段階で図10に示すようなスクリプトデータがスクリプトファイル331に格納される。図10の点線で囲われた部分が、ステップS73で追加されたものである。ここで、ウィンドウ名は「SwitchBtnTest」である。ステップS73の後に元の処理に戻る。
なお、以下で述べる図11及び図12に示すクラス及び上記特定のクラス以外のクラス「ComboLbox」のクリックである場合には、スクリプト「SelectItem("テキスト")」が生成され、格納される。ここで「テキスト」は、コンボボックスのリストボックスで選択されたテキストである。
一方、ウィンドウの選択ではない場合、クリック処理部311は、ボタン等のクリックであるか判断する(ステップS75)。より具体的には、クリック対象のウィンドウにおける、図11に示すようなクラスについてのクリックであるか判断する。すなわち、ここで列挙されているリストボックス及びボタンのクラスに該当するか否かを判断する。図11に示すテーブルは、クラス名と、対応して生成すべきスクリプトの例を示している。図11に列挙されているクラスの場合には、クリック処理部311は、図11のテーブルにおいて対応付けて示されているように、選択したボタン等についての情報(選択したテキスト、クリックしたボタン等の名前、クリックした結果のオン又はオフなど)を取得して、当該情報を含むスクリプトを生成し、スクリプトファイル331に格納する(ステップS77)。そして元の処理に戻る。
一方、図11に示すようなクラスではなく図12に示すようなクラスである場合には、クリック処理部311は、図12のテーブルにおいて対応付けて示されているように、クリックした座標値及び必要な情報を取得して、当該クリック座標値及び取得情報を含むスクリプトを生成して、スクリプトファイル331に格納する(ステップS79)。そして元の処理に戻る。
例えば図13に示すようなウィンドウが操作対象のウィンドウであるとする。図13のウィンドウのタイトルは、上でも述べた「SwitchBtnTest」である。ここでは、ユーザはマウス7を操作して、左上のチェックボックス「Check1」をクリックして、未チェック状態からチェック状態に遷移させたものとする。このような場合には、ステップS77に移行して、図14の点線内に示すようなスクリプトを生成する。図11の2行目のクラスということで、ウィンドウタイトル及びクリックしたチェックボックスの情報を含むスクリプトが生成される。ここでスタイルは「Check1」であり、キャプションは「1」であり、状態は「true」である。状態「true」は、押されたボタンの処理を待ち、状態「false」は、ボタンを閉じたままにするという意味である。
次に、例えば図15に示すようなマウス操作を行ったものとする。すなわち、チェックボックス「Check2」をクリックして、チェック状態を未チェック状態に遷移させたものとする。このような場合には、ステップS77に移行して、図16の点線内に示すようなスクリプトを生成する。図11の2行目のクラスということで、ウィンドウタイトル及びクリックしたチェックボックスの情報を含むスクリプトが生成される。ここでスタイルは「Check2」であり、キャプションは「0」であり、状態は「true」である。
次に、例えば図17に示すようなマウス操作を行ったものとする。すなわち、チェックボックス「¥”」をクリックして、未チェック状態をチェック状態に遷移させたものとする。このような場合には、ステップS77に移行して、図18の点線内に示すようなスクリプトを生成する。図11の2行目のクラスということで、ウィンドウタイトル及びクリックしたチェックボックスの情報を含むスクリプトが生成される。ここでスタイルは¥”を表すための「¥¥ ¥”」であり、キャプションは「1」であり、状態は「true」である。
さらに、例えば図19に示すようなマウス操作を行ったものとする。すなわち、左下の3つのラジオボタンの中央の選択肢「Radio2」をクリックしたものとする。選択肢「Radio1」についての選択は解除される。このような場合には、ステップS77に移行して、図20の点線内に示すようなスクリプトを生成する。図11の2行目のクラスということで、ウィンドウタイトル及びクリックしたラジオボタンの情報を含むスクリプトが生成される。ここでスタイルは「Radio2」であり、キャプションは「1」であり、状態は「false」である。
さらに、例えば図21に示すようなマウス操作を行ったものとする。すなわち、左下の3つのラジオボタンの下の選択肢「Radio3」をクリックしたものとする。選択肢「Radio2」についての選択は解除される。このような場合には、ステップS77に移行して、図22の点線内に示すようなスクリプトを生成する。図11の2行目のクラスということで、ウィンドウタイトル及びクリックしたラジオボタンの情報を含むスクリプトが生成される。ここでスタイルは「Radio3」であり、キャプションは「1」であり、状態は「false」である。
さらに、例えば図23に示すようなマウス操作を行ったものとする。すなわち、中央上段のボタンをクリックして、選択状態を非選択状態に遷移させたものとする。このような場合には、ステップS77に移行して、図24の点線内に示すようなスクリプトを生成する。図11の2行目のクラスということで、ウィンドウタイトル及びクリックしたボタンの情報を含むスクリプトが生成される。ここでスタイルは「Push Btn」であり、キャプションは「0」であり、状態は「true」である。
さらに、例えば図25に示すようなマウス操作を行ったものとする。すなわち、中央上段のチェックボックスをクリックして、選択状態を非選択状態に遷移させたものとする。このような場合には、ステップS77に移行して、図26の点線内に示すようなスクリプトを生成する。図11の2行目のクラスということで、ウィンドウタイトル及びクリックしたチェックボックスの情報を含むスクリプトが生成される。ここでスタイルは「3−state」であり、キャプションは「0」であり、状態は「true」である。
さらに、例えば図27に示すようなマウス操作を行ったものとする。すなわち、中央下段の排他的ボタンのボタン「Radio4」及び「Radio5」のうちボタン「Radio5」をクリックして、ボタン「Radio5」を選択状態に遷移させたものとする。このような場合には、ステップS77に移行して、図28の点線内に示すようなスクリプトを生成する。図11の2行目のクラスということで、ウィンドウタイトル及びクリックしたチェックボックスの情報を含むスクリプトが生成される。ここでスタイルは「Radio5」であり、キャプションは「1」であり、状態は「false」である。
さらに、例えば図29に示すようなマウス操作を行ったものとする。すなわち、右上欄のリストビューのボックス「ListView Item 1」(チェックボックスではない)をクリックして、非選択状態を選択状態に遷移させたものとする。このような場合には、ステップS79に移行して、図30の点線内に示すようなスクリプトを生成する。図12の1行目のクラスということで、ウィンドウタイトル、クリック座標値、クリック対象の情報を含むスクリプトが生成される。スクリプト2行目中「295,65」は、クリック座標値である。さらに、ctlMouseEventRの最初の引数「0」は、左クリックを表し、「1」であれば右クリック、「2」であればダブルクリックを表す。また、スクリプト3行目中「ListView Item 1」は、クリック対象のテキストである。
さらに、例えば図31に示すようなマウス操作を行ったものとする。すなわち、右上欄のリストビューのボックス「ListView Item 2」(チェックボックスではない)をクリックして、選択状態を非選択状態に遷移させたものとする。このような場合には、ステップS79に移行して、図32の点線内に示すようなスクリプトを生成する。図12の1行目のクラスということで、ウィンドウタイトル、クリック座標値、クリック対象の情報を含むスクリプトが生成される。スクリプト2行目中「295,81」は、クリック座標値である。また、スクリプト3行目中「ListView Item 2」は、クリック対象のテキストである。
さらに、例えば図33に示すようなマウス操作を行ったものとする。すなわち、右中段のテキスト入力欄3310をクリックしたものとする。次にテキストの入力を行うための準備である。このような場合には、ステップS79に移行して、図34の点線内に示すようなスクリプトを生成する。図12の6行目のクラスということで、ウィンドウタイトル及びクリック座標値を含むスクリプトが生成される。スクリプト2行目中「323,180」は、クリック座標値である。
その後、ユーザは、テキスト入力を行うわけであるが、ステップS3で示したように、ホットキー以外のキーボード入力は禁止されているので、操作記録プログラム31のテキスト入力ボタンをクリックするか、ホットキー「1」を押下げる。
このような場合を、図3に戻って説明する。ステップS5で入力を受け付け、この入力がホットキー入力又は対応するボタンのクリックであると判断され、キー入力関連処理を実施する(ステップS9)。キー入力関連処理(図5)の処理の説明に移行して、ステップS21でプログラム起動の指示ではないと判断された上で(ステップS21:Noルート)、テキスト入力であると判断された場合(ステップS25:Yesルート)、テキスト入力処理部312は、テキスト入力ウィンドウを表示装置1に表示する(ステップS27)。例えば図35のようなウィンドウを表示する。
図35に示すように、文字列入力欄を含むウィンドウが表示され、キー入力制限部314はキー入力を許可する。図35の例では、「テスト」というテキストが入力されている。なお、改行が必要であれば、「改行を付加」のチェックボックスにチェックを付す。そして、送信ボタンをクリックする。なお、キャンセルする場合には、キャンセルボタンをクリックする。
テキスト入力処理部312は、入力テキストを受け付け(ステップS29)、入力テキストを含むスクリプトを生成し、スクリプトファイル331に格納する(ステップS31)。例えば図36の点線内のスクリプトが生成される。この例では、ウィンドウタイトルと、入力テキスト「テスト」が含まれる。そして、元の処理に戻る。なお、操作記録対象のプログラムにも、入力テキストは送信され、図37Aに示すように、テキスト入力欄3310に、「テスト」というテキストが入力された状態になる。
ここで、ユーザは、スクリプトファイル331を実行するコンピュータに応じて異なる内容のテキストを入力しなければならない場面になったと判断したものとする。このようなテキストは、以下の例とは異なるが、例えば装置毎に異なるIPアドレスや、その他のパラメータである。このような場合には、図4のウィンドウにおける定義選択ボタンをクリックするか、対応付けられているホットキー「3」を押下げる。
このような場合を、図3に戻って説明する。ステップS5で入力を受け付け、この入力がホットキー入力又は対応するボタンのクリックであると判断され、キー入力関連処理を実施する(ステップS9)。キー入力関連処理(図5)の処理の説明に移行して、ステップS21でプログラム起動の指示ではなく(ステップS21:Noルート)、さらにステップS25でテキスト入力の指示ではないと判断された上で(ステップS25:Noルート)、定義選択の指示であると判断された場合(ステップS33:Yesルート)、定義参照処理部313は、データ格納部33に定義ファイル333が既に存在しているか確認する(ステップS37)。
定義ファイル333が存在していない場合には、定義参照処理部313は、定義ファイル333を生成するための入力ウィンドウを表示して、ファイル名等の入力を行わせて、指定されたファイル名の定義ファイル333をデータ格納部33において生成する(ステップS39)。そして、定義参照処理部313は、定義名及び定義値の設定ウィンドウを表示装置1に表示させる(ステップS41)。例えば図37Bに示すようなウィンドウを表示させる。図37Bの例では、定義名の入力欄と、定義値の入力欄と、OKボタンと、キャンセルボタンとが設けられている。本例では、定義名「TESTDATA」が入力され、定義値「10」が入力され、OKボタンがクリックされる。
定義参照処理部313は、定義名及び定義値の入力を受け付け、当該定義名及び定義値を、定義ファイル333に格納する(ステップS43)。例えば、図38に示すようなデータが、定義ファイル333に格納される。ここでは、定義名と定義値とが「=」で結ばれて登録されている。
ステップS37で定義ファイル333が存在すると判断された場合又はステップS43の後に、定義参照処理部313は、定義名及び定義値選択ウィンドウを表示装置1に表示させる(ステップS45)。例えば、図39に示すようなウィンドウが表示される。図39の例では、定義名と定義値の対を複数選択可能に表示する欄と、追加ボタンと、編集ボタンと、削除ボタンと、選択ボタンと、キャンセルボタンとが設けられている。このようなウィンドウにおいて、ここでは、ステップS41及びS43で登録した定義名及び定義値を選択したものとする。すなわち、行3910を選択した上で、選択ボタンをクリックする。
このように、いずれかの行が選択され且つ選択ボタンがクリックされた場合には(ステップS47:Yesルート)、定義参照処理部313は、ユーザから選択指示を受け付け、選択指示がなされたと認識して(ステップS47:Yesルート)、選択された定義名を含み且つ対応する定義値を定義ファイル333から読み出すためのスクリプトを生成して、スクリプトファイル331に格納する(ステップS49)。例えば図40の点線内のスクリプトが生成される。図40の点線においては、1行目は操作対象ウィンドウのタイトルを含み、2行目は選択された定義名「TESTDATA」を含む。これによって、スクリプトファイル331が実行された際には、対応する定義値「10」が実際には読み込まれることになる。ステップS49の後に、今回選択された定義名に対応する定義値「10」を、操作対象ウィンドウに送って、図41に示すように、定義値「10」を入力欄3310に表示させる。ステップS49の後に、元の処理に戻る。
なお、図39に示したウィンドウにおいて、追加ボタン又は特定の行を選択の上変更ボタンをクリックした場合には(ステップS51)、ステップS41に戻る。ここで、定義名及び定義値を追加するか、又は定義名と定義値とのうち少なくともいずれかを修正して登録する。一方、追加ボタン又は変更ボタンのクリックではなく、特定の行を選択した上での削除ボタンのクリックの場合には、定義参照処理部313は、定義ファイル333において、選択した行の定義名及び定義値の対を削除する(ステップS53)。そして、端子Dを介してステップS45に移行する。
さらに、ステップS33で定義選択のホットキーが押下げられていない場合には、拡張機能処理部315が、押下げられたホットキー又はクリックされたボタンに対応する処理を実施する(ステップS35)。そして、端子Cを介して元の処理に戻る。
以上のような処理を実施することによって、異なるコンピュータで異なる値を入力する必要がある場合にも、定義ファイル333だけを変更すればよいので、コンピュータ毎にスクリプトファイル331を生成するよりも誤りを低減して効率的に対処することができるようになる。
次に、ユーザは、図42に示すように、操作対象のウィンドウにおけるOKボタンをクリックするものとする。このような場合には、ステップS77に移行して、図43の点線内に示すようなスクリプトを生成する。図11の2行目のクラスということで、ウィンドウタイトル及びクリックしたボタンの情報を含むスクリプトが生成される。ここでスタイルは「OK」であり、キャプションは「1」であり、状態は「false」である。
ここまでで操作記録が完了したものとする。そうすると、ユーザは、操作記録プログラム31のウィンドウにおける記録終了ボタンをクリックする。
このための処理を図3に戻って説明する。ステップS5で入力を受け付け、この入力がホットキー入力又は対応するボタンのクリックではなく(ステップS7:Noルート)、クリックでもないと判断された上で(ステップS11:Noルート)、制御入力、すなわち操作記録プログラム31のウィンドウにおける記録停止などのボタンがクリックされた場合(ステップS15:Yesルート)、制御入力処理を実施する(ステップS17)。なお、制御入力でもない場合には端子Aを介してステップS19に移行する。制御入力処理については、図44及び図45を用いて説明する。記録停止ボタンがクリックされたと判断された場合には(ステップS81:Yesルート)、キー入力制限部314は、キーボード入力の禁止を解除する(ステップS83)。ここで、操作記録プログラム31のウィンドウは、例えば図45に示すような状態になる。ここで、記録開始ボタンと、スクリプト生成ボタンと、設定ボタンとがクリックできるようになっている。そして、この状態において、操作記録プログラム31は、さらにユーザからの入力を受け付ける(ステップS84)。
ステップS84において、スクリプト出力ボタンがクリックされた場合には(ステップS85:Yesルート)、操作記録プログラム31は、データ格納部33内のスクリプトファイル331をクローズし(ステップS87)、元の処理に戻る。また、スクリプト出力ボタンがクリックされたわけではなく(ステップS85:Noルート)、記録開始ボタンがクリックされた場合には(ステップS89:Yesルート)、端子Eを介して図3のステップS1に戻る。記録再開ボタンがクリックされたわけではなく(ステップS89:Noルート)、設定ボタンがクリックされると、操作記録プログラム31は、設定などの処理を実施する(ステップS91)。そして元の処理に戻る。なお、設定などの処理については、本実施の形態の主要部ではないので説明を省略する。
以上のような処理を実施することによって、ユーザは、簡単にスクリプトファイルを生成できる。さらに装置固有のテキスト入力については定義ファイルから読み出すようなスクリプトを生成させることによって定義ファイルに変更が必要な部分を集約させることで、誤りを低減させつつ簡易に個別装置への対応を可能にしている。
すなわち、ある装置には図38のような定義ファイル333を用いるが、他の装置には、図46に示すような定義ファイルに変更した上で、使用する。すなわち、TESTDATA=10であったものを、TESTDATA=30に変更している。このように、装置毎に変更を加えて、定義ファイル333を用意する。
なお、IPアドレスなどの装置固有のデータを保持する他のファイルから該当データ項目の値を読み出して、定義ファイル333において対応する定義名の定義値を変更するような機能を、操作記録プログラム31に設けるようにしても良い。このような機能を、操作記録プログラム31の他にツールとして用意するようにしても良い。
また、このように生成されたスクリプトファイル331及び定義ファイル333については、図47に示すように、スクリプトエンジン4100によって解釈されて、操作記録対象のプログラム4200に対して行った操作を再現するように、入力などの操作が行われる。この技術については例えば特開2004−78268号公報などに記載されている技術であるからこれ以上述べない。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で述べた機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成と一致しない場合もある。また、処理フローについても、処理結果が変わらない限りにおいて、処理順番を入れ替えたり、並列実行するようにしても良い。
さらに、操作記録プログラム31のウィンドウ構成については一例であって、他の構成であっても良い。また、ホットキーの割当を全てのボタンに対して行って、ウィンドウの表示自体を行わないようにしても良い。
また、操作記録を開始した後に、キーボード入力を制限していたが、操作記録プログラム31の起動に応じてキーボード入力を制限するようにしても良い。
なお、上で述べたコンピュータ3は、図48に示すように、メモリ2501とCPU2503とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。必要に応じてCPU2503は、表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ2501に格納され、必要があればHDD2505に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
1 表示装置 3 コンピュータ
5 キーボード 7 マウス
31 操作記録プログラム 33 データ格納部
39 一般プログラム
311 クリック処理部 312 テキスト入力処理部
313 定義参照処理部 314 キー入力制限部
315 拡張機能処理部

Claims (3)

  1. 操作記録開始の指示に応じて又は起動後に、所定のキー以外のキー入力を禁止するステップと、
    クリックに応じて、当該クリックの操作を再現させるためのスクリプトデータを生成し、データ格納部に格納するステップと、
    前記所定のキーに含まれるテキスト入力用キーの押下又は別途用意されているテキスト入力用ボタンのクリックに応じて、テキスト入力画面を表示して、テキスト入力を受け付け、当該テキスト入力を再現させるためのスクリプトデータを生成し、前記データ格納部に格納するステップと、
    前記所定のキーに含まれる定義参照入力キーの押下又は別途用意されている定義参照入力ボタンのクリックに応じて、文字列及び当該文字列に対応付けられている値の入力又は選択を受け付け、定義済みの文字列及び当該定義済みの文字列に対応付けられている値が格納されている定義ファイルから当該入力又は選択された文字列に対応付けられている値を読み出し且つ当該値を入力させるためのスクリプトデータを生成し、前記データ格納部に格納する定義参照スクリプト生成ステップと、
    操作記録終了後に、前記データ格納部に格納されている前記スクリプトデータを含むファイルを出力するステップと、
    を、コンピュータに実行させるための操作記録プログラム。
  2. 前記定義参照スクリプト生成ステップが、
    特定の文字列及び当該特定の文字列に対応付けられている値の入力に応じて、前記定義ファイルに、前記特定の文字列及び当該特定の文字列に対応付けられている値を格納するステップ
    を含む請求項1記載の操作記録プログラム。
  3. 操作記録開始の指示に応じて又は起動後に、所定のキー以外のキー入力を禁止する手段と、
    クリックに応じて、当該クリックの操作を再現させるためのスクリプトデータを生成し、データ格納部に格納する手段と、
    前記所定のキーに含まれるテキスト入力用キーの押下又は別途用意されているテキスト入力用ボタンのクリックに応じて、テキスト入力画面を表示して、テキスト入力を受け付け、当該テキスト入力を再現させるためのスクリプトデータを生成し、前記データ格納部に格納する手段と、
    前記所定のキーに含まれる定義参照入力キーの押下又は別途用意されている定義参照入力ボタンのクリックに応じて、文字列及び当該文字列に対応付けられている値の入力又は選択を受け付け、定義済みの文字列及び当該定義済みの文字列に対応付けられている値が格納されている定義ファイルから当該入力又は選択された文字列に対応付けられている値を読み出し且つ当該値を入力させるためのスクリプトデータを生成し、前記データ格納部に格納する定義参照スクリプト生成手段と、
    操作記録終了後に、前記データ格納部に格納されている前記スクリプトデータを含むファイルを出力する手段と、
    を有する操作記録装置。
JP2010072741A 2010-03-26 2010-03-26 操作記録プログラム及び装置 Active JP5330302B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010072741A JP5330302B2 (ja) 2010-03-26 2010-03-26 操作記録プログラム及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010072741A JP5330302B2 (ja) 2010-03-26 2010-03-26 操作記録プログラム及び装置

Publications (2)

Publication Number Publication Date
JP2011204139A JP2011204139A (ja) 2011-10-13
JP5330302B2 true JP5330302B2 (ja) 2013-10-30

Family

ID=44880696

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010072741A Active JP5330302B2 (ja) 2010-03-26 2010-03-26 操作記録プログラム及び装置

Country Status (1)

Country Link
JP (1) JP5330302B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013168072A (ja) * 2012-02-16 2013-08-29 Fujitsu Fsas Inc 支援装置、支援プログラムおよび支援方法
CN107733735B (zh) * 2017-06-01 2022-03-04 云智慧(北京)科技有限公司 一种植入于压测宝中的脚本录制***及方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004005437A (ja) * 2002-03-28 2004-01-08 Seiko Epson Corp ネットワーク接続の設定管理システム
JP4546020B2 (ja) * 2002-07-10 2010-09-15 日本電気株式会社 大規模分散コンピューティングシステムにおける環境定義情報管理システム及び方法
JP4460396B2 (ja) * 2004-09-03 2010-05-12 日本電信電話株式会社 スクリプト生成装置、スクリプト生成方法およびスクリプト生成プログラム
JP2008042706A (ja) * 2006-08-09 2008-02-21 Canon Inc 操作情報処理装置、操作処理方法、記憶媒体、プログラム
JP2009031916A (ja) * 2007-07-25 2009-02-12 Ricoh Co Ltd 情報処理装置、メニュー画面制御方法およびメニュー画面制御プログラム

Also Published As

Publication number Publication date
JP2011204139A (ja) 2011-10-13

Similar Documents

Publication Publication Date Title
JP4270391B2 (ja) マルチメディア・ファイルのツールチップ
JP3008872B2 (ja) Guiシステム自動操作装置および操作マクロ実行装置
US7979849B2 (en) Automatic model-based testing
KR101038395B1 (ko) Gui를 갖는 컴퓨터 시스템에서 태스크를 실행하는 방법, help 파일을 구성하는 방법 및 컴퓨터 판독가능 매체
US20050060653A1 (en) Object operation apparatus, object operation method and object operation program
KR100934422B1 (ko) 인쇄 제어 장치, gui 표시 방법, 프린터 드라이버 및기록 매체
US20060005132A1 (en) Smart UI recording and playback framework
JP2008506183A (ja) 自動的に生成されたコンテンツのインポート
JP4295775B2 (ja) Guiテスト支援システム及びテスト支援用アプリケーションプログラム
US7162685B2 (en) Key-input correcting device
US20090259952A1 (en) Information processing apparatus and method of controlling same
JP5330302B2 (ja) 操作記録プログラム及び装置
JP2007066077A (ja) Gui生成方法、gui生成装置、コンピュータプログラム及び記憶媒体
US6324562B1 (en) Information processing apparatus, multitask control method, and program recording medium
JP2007072545A (ja) 監視装置及び監視方法
JP2007072546A (ja) フロー編集装置及びフロー編集方法
JPH10232754A (ja) コマンドメニュープログラムモジュールを記録した記録媒体及び情報処理装置
JP4568150B2 (ja) 処理装置及び処理装置システム
JP4559955B2 (ja) 電子帳票部品開発装置、電子帳票部品開発方法、電子帳票部品開発プログラム及び電子帳票部品開発プログラムを格納した記録媒体
JP2003036130A (ja) ユーザ操作管理処理プログラム、ユーザ操作管理方法、及びユーザ操作管理装置
JPH10289106A (ja) 情報処理装置
JP4083373B2 (ja) 分析システム
JP2001318796A (ja) 内外イベントドリブン方式によるプログラム実行制御方法、記録媒体およびプログラム作成支援システム
JP2002287964A (ja) 画面入出力仕様設計システムと方法およびプログラム
JP2003050698A (ja) 画面構築システムおよび方法。

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110927

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121009

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130716

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130725

R150 Certificate of patent or registration of utility model

Ref document number: 5330302

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370