[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2016218977A - 比較プログラム、情報処理装置および比較方法 - Google Patents

比較プログラム、情報処理装置および比較方法 Download PDF

Info

Publication number
JP2016218977A
JP2016218977A JP2015106746A JP2015106746A JP2016218977A JP 2016218977 A JP2016218977 A JP 2016218977A JP 2015106746 A JP2015106746 A JP 2015106746A JP 2015106746 A JP2015106746 A JP 2015106746A JP 2016218977 A JP2016218977 A JP 2016218977A
Authority
JP
Japan
Prior art keywords
screen
screen information
browser
information
display
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
JP2015106746A
Other languages
English (en)
Inventor
徹 樋下田
Toru Higeta
徹 樋下田
晋也 石川
Shinya Ishikawa
晋也 石川
正博 川崎
Masahiro Kawasaki
正博 川崎
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 Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015106746A priority Critical patent/JP2016218977A/ja
Publication of JP2016218977A publication Critical patent/JP2016218977A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Abstract

【課題】表示位置が異なっても差異がないと判断してよい差異を、差異があると判断しないようにする。【解決手段】情報処理装置1は、データに基づいて表示画面を生成するブラウザ11Aと、ブラウザ11Bとのそれぞれが共通するデータに基づいて生成した第1の画面情報と第2の画面情報とのそれぞれから表示オブジェクトと該表示オブジェクトの画面上の位置を抽出する。情報処理装置1は、第1の画面情報、第2の画面情報のそれぞれから抽出した比較対象の全ての表示オブジェクトについて、画面上の位置のずれが所定範囲内か否かに応じて第1の画面情報と第2の画面情報との同一性を判定する。情報処理装置1は、同一性の判定結果を出力する。【選択図】図1

Description

本発明は、比較プログラムなどに関する。
企業等で業務に利用されているシステムを、新しく開発されたシステムに置き換えようとする場合に、新しく開発されたシステムが出力する画面と、現在稼働しているシステムが出力する画面とを比較し、画面同士が同一であるかどうかをチェックする機能が必要とされる場合がある。例えば、現在稼働しているシステムでは、ブラウザAのみ対応していたのに対して、新しく開発されたシステムでは、ブラウザBでも対応できるようにしたい場合がある。また、単に一システムからの出力画面が別々の種類のブラウザで表示される場合でも同じように表示したい場合がある。
このような場合に、ブラウザBであるHTML(Hyper Text Markup Language)ソースを表示したときに、ブラウザAでこのHTMLソースを表示したときと同じになるようにこのHTMLソースを自動的に補正する技術が知られている(特許文献1参照)。
特開2010−39815号公報
しかしながら、従来における画像比較ツールでは、目視レベルで差異がない場合であっても、差異があると判断してしまうという問題がある。
ここで、表示画面として内容的に差異がないと思われる場合であっても、画素を比較する比較ツールでは差異があると判断してしまうという問題について説明する。例えば、現行システムでは、ブラウザAにのみ対応していたのに対して、新システムでは、ブラウザBでも対応できるようにする場合とする。このような場合に、同じHTMLソースをブラウザAおよびブラウザBを用いて出力する際、ブラウザの違いにより、画面上のボタンの表示位置や形状が微妙に異なって表示されてしまうことがある。
図8は、ブラウザの違いによりボタンの表示位置が異なる場合を説明する図である。図8に示すように、図8左は、HTMLソースをブラウザAで出力した画像である。図8右は、同じHTMLソースをブラウザBで出力した画像であり、破線がブラウザAで出力した画像の表示位置である。ブラウザAとブラウザBとでは、例えば、ウィンドウの左端および上端からボタンが表示されるまでの余白が数ピクセル異なることがある。この余白が起因して、新システムから出力されるHTMLソースは同じであっても、ブラウザA,Bによって異なって配置されることがある。
この微妙な差異は、目視レベルでは差異がないと判断されるものであり、運用上も差異がないと判断しても問題ないものである。しかしながら、画像比較ツールでは、ピクセルの位置のずれを検知するので、差異がある(不一致)と判断してしまう。
1つの側面では、表示位置が異なっても差異がないと判断してよい差異を、差異があると判断しないようにすることを目的とする。
1つの態様では、比較プログラムは、データに基づいて表示画面を生成する第1のプログラムと、第2のプログラムとのそれぞれが共通するデータに基づいて生成した第1の画面情報と第2の画面情報とのそれぞれから表示オブジェクトと該表示オブジェクトの画面上の位置を抽出し、前記第1の画面情報、前記第2の画面情報のそれぞれから抽出した比較対象の全ての表示オブジェクトについて、画面上の位置のずれが所定範囲内か否かに応じて前記第1の画面情報と前記第2の画面情報との同一性の評価結果を出力する処理をコンピュータに実行させる。
1つの態様によれば、表示位置が異なっても差異がないと判断してよい差異を、差異があると判断しないようにすることができる。
図1は、実施例に係る比較システムに含まれる情報処理装置の構成を示す機能ブロック図である。 図2は、実施例に係る第1のパーツ情報記録DBのデータ構造の一例を示す図である。 図3は、実施例に係る第2のパーツ情報記録DBのデータ構造の一例を示す図である。 図4Aは、実施例に係る比較処理のフローチャートの一例を示す図(1)である。 図4Bは、実施例に係る比較処理のフローチャートの一例を示す図(2)である。 図5は、実施例に係る位置同一性判定の具体例を示す図である。 図6Aは、実施例に係る判定結果出力の具体例を示す図(1)である。 図6Bは、実施例に係る判定結果出力の具体例を示す図(2)である。 図6Cは、実施例に係る判定結果出力の具体例を示す図(3)である。 図6Dは、実施例に係る判定結果出力の具体例を示す図(4)である。 図6Eは、実施例に係る判定結果出力の具体例を示す図(5)である。 図7は、比較プログラムを実行するコンピュータの一例を示す図である。 図8は、ブラウザの違いによりボタンの表示位置が異なる場合を説明する図である。
以下に、本願の開示する比較プログラム、情報処理装置および比較方法の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
[実施例に係る情報処理装置の構成]
図1は、実施例に係る比較システムに含まれる情報処理装置の構成を示す機能ブロック図である。図1に示すように、比較システム9は、情報処理装置1および対象システム2を有する。情報処理装置1は、対象システム2とネットワーク3を介して接続されている。対象システム2とは、新しく稼働するシステムであり、例えば、稼働していたシステムを置き換える先のシステムであり、今回の比較対象となる。ネットワーク3は、一例として、インターネットであるが、これに限定されず、イントラネットであっても良いし、専用回線を用いたネットワークであっても良い。
情報処理装置1には、Webブラウザ(以降、ブラウザという)11Aと、ブラウザ11Aと異なるブラウザ11Bとがインストールされている。ブラウザ11Aおよびブラウザ11Bは、対象システム2から出力されるHTMLデータに基づいて表示画面を生成する。一例として、ブラウザ11Aは、IE(登録商標)であり、ブラウザ11Bは、FireFox(登録商標)である。なお、情報処理装置1には、さらに複数のブラウザがインストールされていても良い。このような情報処理装置1は、ブラウザが異なることで、共通するHTMLデータを表示した際のオブジェクトの表示位置に差異があっても、おおよその位置関係が合っていれば差異があると判断しないようにする。
図1に示すように、情報処理装置1は、制御部10および記憶部20を有する。
制御部10は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。そして、制御部10は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路の電子回路に対応する。または、制御部10は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路に対応する。さらに、制御部10は、位置抽出部12、位置同一性判定部13、文字同一性判定部14および判定結果出力部15を有する。なお、位置抽出部12は、抽出部の一例である。位置同一性判定部13は、評価部の一例である。判定結果出力部15は、出力部の一例である。
記憶部20は、例えばフラッシュメモリ(Flash Memory)やFRAM(登録商標)(Ferroelectric Random Access Memory)等の不揮発性の半導体メモリ素子等の記憶装置に対応する。記憶部20は、第1のパーツ情報記録DB21および第2のパーツ情報記録DB22を有する。
第1のパーツ情報記録DB21は、ブラウザ11A上に表示されたパーツのパーツ情報を記憶する。第2のパーツ情報記録DB22は、ブラウザ11B上に表示されたパーツのパーツ情報を記憶する。ここでいうパーツ情報とは、ボタン等の、画面に表示されたオブジェクトの情報であり、形状や表示位置が含まれる。
ここで、第1のパーツ情報記録DB21のデータ構造について、図2を参照して説明する。図2は、実施例に係る第1のパーツ情報記録DBのデータ構造の一例を示す図である。図2に示すように、第1のパーツ情報記録DB21は、形状21b、左上座標21c、左下座標21d、右上座標21e、右下座標21fおよび比較結果21gをパーツID21aに対応付けて記憶する。パーツID21aは、パーツの識別子を示す。形状21bは、パーツの形状を示す。なお、パーツの形状は、ここでは矩形であるものとする。左上座標21cは、パーツがブラウザAで表示された際における表示画面内でのパーツの左上頂点の絶対座標を示す。左下座標21dは、同様に、パーツの左下頂点の絶対座標を示す。右上座標21eは、同様に、パーツの右上頂点の絶対座標を示す。右下座標21fは、同様にパーツの右下頂点の絶対座標を示す。比較結果21gは、ブラウザ11Aおよびブラウザ11Bのそれぞれに表示されたパーツの同一性の比較結果を示す。一例として、一致(差異がない)の場合には、「0」が設定される。一致の場合には、位置が完全に一致する場合および位置が一致すると判断される(差異がないと判断される)場合が含まれる。位置が一致すると判断される(差異がないと判断される)場合とは、座標位置に差異はあるが、内容として差異がないと判断できる場合を意味する。文字が設定されている場合には、文字が一致する場合も含まれる。位置が不一致(差異がある)の場合には、「1」が設定される。位置が不一致(差異がある)の場合とは、座標位置に差異があり、内容として差異がないと判断できない場合を意味する。位置は一致するが文字は不一致である場合には、「2」が設定される。
一例として、パーツID21aが「1」である場合には、形状21bとして「横長長方形」が記憶される。左上座標21cとして「AX1,AY1」、左下座標21dとして「AX2,AY2」、右上座標21eとして「AX3,AY3」、右下座標21fとして「AX4,AY4」、比較結果21gとして「0」が記憶される。
また、第2のパーツ情報記録DB22のデータ構造について、図3を参照して説明する。図3は、実施例に係る第2のパーツ情報記録DBのデータ構造の一例を示す図である。図3に示すように、第2のパーツ情報記録DB22は、形状22b、左上座標22c、左下座標22d、右上座標22eおよび右下座標22fをパーツID22aに対応付けて記憶する。なお、形状22bは、形状21bと同じ内容であるので、その説明を省略する。左上座標22c〜右下座標22fは、第1のパーツ情報記録DB21の左上座標21c〜右下座標21fとそれぞれ同じ内容であるので、その説明を省略する。
なお、図2、図3のデータ例は、パーツの位置と比較結果とを同じDBに記憶するようにしたが、これに限定されず、パーツの位置と比較結果とを異なるDBに記憶するようにしても良い。また、図2、図3のデータ例は、パーツと文字列とを同じDBに記憶するようにしたが、これに限定されず、パーツと文字列とを異なるDBに記憶するようにしても良い。
図1に戻って、位置抽出部12は、ブラウザ11Aと、ブラウザ11Bとのそれぞれが同一のHTMLデータに基づいて生成した第1の画面情報と第2の画面情報とのそれぞれからパーツと該パーツの画面上の表示位置を抽出する。ここでいう画面情報とは、一例として、画面に表示された画像であり、画素で構成される。例えば、位置抽出部12は、ブラウザ11Aおよびブラウザ11Bから、同一のHTMLデータを入力として、それぞれブラウザAとブラウザBから出力された第1の画面情報および第2の画面情報を取得する。HTMLデータは、例えば対象システム2から出力される。位置抽出部12は、第1の画面情報を解析し、パーツを検出する。位置抽出部12は、第1の画面情報にパーツが複数あれば、複数のパーツを検出する。一例として、位置抽出部12は、第1の画面情報から、パーツの境界線を検出する。なお、画像から境界線を検出する手法は、いかなる技術を用いてもかまわない。そして、位置抽出部12は、検出した境界線からパーツの形状およびパーツの第1の画面情報上の頂点座標を抽出する。位置抽出部12は、抽出したパーツの形状およびパーツの頂点座標を第1のパーツ情報記録DB21に記録する。また、位置抽出部12は、同様に、第2の画面情報を解析し、パーツを検出する。位置抽出部12は、第2の画面情報にパーツが複数あれば、複数のパーツを検出する。位置抽出部12は、検出したパーツの形状およびパーツの第2の画面情報上の頂点座標を抽出する。位置抽出部12は、抽出したパーツの形状およびパーツの頂点座標を第2のパーツ情報記録DB22に記録する。
位置同一性判定部13は、第1の画面情報、第2の画面情報のそれぞれから抽出した比較対象の2つのパーツについて、画面上の位置のずれが所定範囲内か否かを判定する。すなわち、位置同一性判定部13は、比較対象の2つのパーツについて、画面上の位置のずれが所定範囲内であれば、2つのパーツの位置関係が同一であると判定する。位置同一性判定部13は、比較対象の2つのパーツについて、画面上の位置のずれが所定範囲内でなければ、2つのパーツの位置関係が同一でないと判定する。
例えば、位置同一性判定部13は、第1のパーツ情報記録DB21からパーツを順次選択し、選択したパーツの頂点座標を取得する。位置同一性判定部13は、第2のパーツ情報記録DB22に記憶されたパーツ情報を用いて、取得した全ての頂点座標から所定範囲内の頂点座標を持つパーツがあるか否かを判定する。位置同一性判定部13は、全ての頂点座標から所定範囲内の頂点座標を持つパーツがないと判定した場合には、2つのパーツの位置関係が同一でないと判断する。そして、位置同一性判定部13は、選択したパーツに対応する比較結果21gに、不一致の場合である「1」を記録する。
また、位置同一性判定部13は、全ての頂点座標から所定範囲内の頂点座標を持つパーツがあると判定した場合には、2つのパーツの位置関係が同一であると判断する。さらに、位置同一性判定部13は、選択したパーツの形状が文字列であるか否かを判定し、選択したパーツの形状が文字列でない場合には、選択したパーツに対応する比較結果21gに、一致の場合である「0」を記録する。位置同一性判定部13は、選択したパーツの形状が文字列である場合には、後述する文字同一性判定部14に、文字の同一性を判定させる。そして、位置同一性判定部13は、文字が同一であると判定された場合には、選択したパーツに対応する比較結果21gに、一致の場合である「0」を記録する。位置同一性判定部13は、文字が同一でないと判定された場合には、選択したパーツに対応する比較結果21gに、位置は一致するが文字は不一致である場合である「2」を記録する。
文字同一性判定部14は、パーツの形状が文字列である場合には、比較対象の2つのパーツについて、文字認識を実行し、文字認識結果が同一であるか否かを判定する。例えば、文字同一性判定部14は、位置関係が同一であると判断された2つのパーツのそれぞれの頂点座標で囲まれる領域内をOCR(Optical Character Recognition)認識し、文字を検出する。すなわち、文字同一性判定部14は、選択したパーツの頂点座標で囲まれる領域内をOCR認識し、文字を検出する。文字同一性判定部14は、比較対象のパーツの頂点座標で囲まれる領域内をOCR認識し、文字を検出する。文字同一性判定部14は、それぞれ検出した文字を比較し、文字が同一であるか否かを判定し、判定結果を位置同一性判定部13に引き渡す。
判定結果出力部15は、同一性判定の判定結果を出力する。例えば、判定結果出力部15は、位置同一性判定部13によって全てのパーツについて同一性判定の判定結果が記録されると、以下のように判定結果の出力を行う。判定結果出力部15は、第1のパーツ情報記録DB21の比較結果21gが全て「0」(一致)である場合には、第1の画面情報および第2の画面情報を表示画面に出力するとともに、一致している旨を表示画面に出力する。このとき、判定結果出力部15は、一方の画面情報に他方の画面情報のパーツの位置を点線で出力するようにしても良い。
また、判定結果出力部15は、第1のパーツ情報記録DB21のいずれかの比較結果21gが「1」(不一致)である場合には、第1の画面情報および第2の画面情報を表示画面に出力するとともに、位置関係が不一致のパーツがある旨を表示画面に出力する。このとき、判定結果出力部15は、一方の画面情報に他方の画面情報の不一致のパーツの位置を強調して出力するようにしても良い。
また、判定結果出力部15は、第1のパーツ情報記録DB21のいずれかの比較結果21gが「2」(位置は一致するが文字は不一致)である場合には、第1の画面情報および第2の画面情報を表示画面に出力するとともに、位置関係は一致するが文字は不一致のパーツがある旨を表示画面に出力する。このとき、判定結果出力部15は、一方の画面情報に他方の画面情報の不一致のパーツの文字を強調して出力するようにしても良い。
[比較処理のフローチャート]
次に、実施例に係る比較処理のフローチャートを、図4Aおよび図4Bを参照して説明する。図4Aおよび図4Bは、実施例に係る比較処理のフローチャートの一例を示す図である。なお、ブラウザ11AをブラウザAと記載し、ブラウザ11BをブラウザBと記載するものとする。
まず、位置抽出部12は、ブラウザ11A(ブラウザA)に出力された画像(第1の画面情報)を取得する(ステップS11)。すると、位置抽出部12は、取得された画像を解析し、パーツを検出する(ステップS12)。例えば、位置抽出部12は、取得された画像から、画像に含まれるパーツの境界線を検出する。
そして、位置抽出部12は、検出したパーツから、当該パーツの形状および頂点座標を抽出し、第1のパーツ情報記録DB21に記録する(ステップS13)。例えば、位置抽出部12は、検出したパーツの形状を第1の画面情報から抽出し、抽出したパーツの形状を第1のパーツ情報記録DB21の形状21bに設定する。位置抽出部12は、検出したパーツの左上、左下、右上、右下の頂点座標を、取得された画像から抽出し、抽出した各頂点座標を第1のパーツ情報記録DB21の左上座標21c〜右下座標21fに設定する。
続いて、位置抽出部12は、ブラウザ11B(ブラウザB)に出力された画像(第2の画面情報)を取得する(ステップS14)。すると、位置抽出部12は、取得された画像を解析し、パーツを検出する(ステップS15)。例えば、位置抽出部12は、取得された画像から、画像に含まれるパーツの境界線を検出する。
そして、位置抽出部12は、検出したパーツから、当該パーツの形状および頂点座標を抽出し、第2のパーツ情報記録DB22に記録する(ステップS16)。例えば、位置抽出部12は、検出したパーツの形状を第2の画面情報から抽出し、抽出したパーツの形状を第2のパーツ情報記録DB22の形状22bに設定する。位置抽出部12は、検出したパーツの左上、左下、右上、右下の頂点座標を、取得された画像から抽出し、抽出した各頂点座標を第2のパーツ情報記録DB22の左上座標22c〜右下座標22fに設定する。
続いて、位置同一性判定部13は、第1のパーツ情報記録DB21より、先頭(または次)のレコードを選択し、選択したレコードのパーツの頂点座標を特定する(ステップS17)。そして、位置同一性判定部13は、特定した全ての頂点座標からそれぞれ所定距離以内の頂点座標を持つパーツが第2のパーツ情報記録DB22にあるか否かを判定する(ステップS18)。なお、所定距離とは、本来同じような位置に表示されるべき比較対象において、パーツの表示位置のずれを許容する上限の値を示すものであり、事前に設定してある値とする。
位置同一性判定部13は、特定した全ての頂点座標からそれぞれ所定距離以内の頂点座標を持つパーツが第2のパーツ情報記録DB22に存在しないと判定した場合には(ステップS19;No)、位置同一性判定部13は、第1のパーツ情報記録DB21の、選択したレコードのパーツの比較結果21gに不一致を示す「1」を記録する(ステップS20)。そして、位置同一性判定部13は、ステップS31に移行する。
一方、特定した全ての頂点座標からそれぞれ所定距離以内の頂点座標を持つパーツが第2のパーツ情報記録DB22に存在すると判定した場合には(ステップS19;Yes)、位置同一性判定部13は、パーツの形状が文字列であるか否かを判定する(ステップS21)。例えば、位置同一性判定部13は、第1のパーツ情報記録DB21の、選択したレコードのパーツの形状21bが文字列であるか否かを判定する。
パーツの形状が文字列でないと判定した場合には(ステップS21;No)、位置同一性判定部13は、位置関係が同一であることを記録すべく、ステップS23に移行する。一方、パーツの形状が文字列であると判定した場合には(ステップS21;Yes)、位置同一性判定部13は、文字同一性判定部14に、文字が一致するか否かを判定させる(ステップS22)。例えば、文字同一性判定部14は、選択したレコードのパーツの左上座標21c〜右下座標21fで囲まれる領域内をOCR認識し、文字を検出する。文字同一性判定部14は、比較対象のパーツの左上座標22c〜右下座標22fので囲まれる領域内をOCR認識し、文字を検出する。文字同一性判定部14は、それぞれ検出した文字を比較し、文字が同一であるか否かを判定する。なお、文字は、単一の文字のみならず、複数の文字からなる文字列であっても良い。
文字が一致すると判定した場合には(ステップS22;Yes)、文字同一性判定部14は、文字が同一である旨の判定結果を位置同一性判定部13に通知し、ステップS23に移行する。ステップS23において、位置同一性判定部13は、第1のパーツ情報記録DB21の、選択したレコードのパーツの比較結果21gに一致を示す「0」を記録する(ステップS23)。そして、位置同一性判定部13は、ステップS31に移行する。
一方、文字が一致しないと判定した場合には(ステップS22;No)、文字同一性判定部14は、文字が同一でない旨の判定結果を位置同一性判定部13に通知し、ステップS24に移行する。ステップS24において、位置同一性判定部13は、第1のパーツ情報記録DB21の、選択したレコードのパーツの比較結果21gに、位置は一致するが文字は不一致を示す「2」を記録する(ステップS24)。そして、位置同一性判定部13は、ステップS31に移行する。
ステップS31において、位置抽出部12は、次のパーツが第1のパーツ情報記録DB21に存在するか否かを判定する(ステップS31)。次のパーツが第1のパーツ情報記録DB21に存在すると判定した場合には(ステップS31;Yes)、位置抽出部12は、次のパーツのレコードを選択すべく、ステップS17に移行する。
一方、次のパーツが第1のパーツ情報記録DB21に存在しないと判定した場合には(ステップS31;No)、判定結果出力部15は、第1のパーツ情報記録DB21の比較結果21gを取得する(ステップS32)。そして、判定結果出力部15は、第1のパーツ情報記録DB21の比較結果21gが全て「0」(一致)であるか否かを判定する(ステップS33)。
比較結果21gが全て「0」であると判定した場合には(ステップS33;Yes)、判定結果出力部15は、一致している旨を表示画面に表示する(ステップS34)。例えば、判定結果出力部15は、ブラウザAに出力された画像およびブラウザBに出力された画像を表示画面に表示するとともに、一致している旨を表示画面に表示する。そして、判定結果出力部15は、判定処理を終了する。
一方、比較結果21gのいずれかが「0」でないと判定した場合には(ステップS33;No)、判定結果出力部15は、第1のパーツ情報記録DB21に「1」(不一致)の比較結果21gがあるか否かを判定する(ステップS35)。第1のパーツ情報記録DB21に「1」の比較結果21gがないと判定した場合には(ステップS35;No)、判定結果出力部15は、ステップS39に移行する。
一方、第1のパーツ情報記録DB21に「1」の比較結果21gがあると判定した場合には(ステップS35;Yes)、判定結果出力部15は、比較結果21gが「1」のパーツについて、ブラウザAの表示位置を強調表示する(ステップS36)。例えば、判定結果出力部15は、ブラウザAに出力された画像およびブラウザBに出力された画像を表示画面に表示するとともに、比較結果21gが「1」であるブラウザAのパーツの表示位置を、ブラウザBに出力された画像の表示画面上に強調表示する。
加えて、判定結果出力部15は、位置関係が不一致のパーツがある旨を表示画面に表示する(ステップS37)。そして、判定結果出力部15は、ステップS38に移行する。
ステップS38において、判定結果出力部15は、第1のパーツ情報記録DB21に「2」(位置は一致するが文字は不一致)の比較結果21gがあるか否かを判定する(ステップS38)。第1のパーツ情報記録DB21に「2」(位置は一致するが文字は不一致)の比較結果21gがないと判定した場合には(ステップS38;No)、判定結果出力部15は、判定処理を終了する。
一方、第1のパーツ情報記録DB21に「2」(位置は一致するが文字は不一致)の比較結果21gがあると判定した場合には(ステップS38;Yes)、判定結果出力部15は、比較結果21gが「2」のパーツについて、ブラウザAの文字を強調表示する(ステップS39)。例えば、判定結果出力部15は、ブラウザAに出力された画像およびブラウザBに出力された画像を表示画面に表示するとともに、比較結果21gが「2」であるブラウザAのパーツの文字を、ブラウザBに出力された画像の表示画面上に強調表示する。
加えて、判定結果出力部15は、位置関係は一致するが文字は不一致のパーツがある旨を表示画面に表示する(ステップS40)。そして、判定結果出力部15は、判定処理を終了する。
[位置同一性判定の具体例]
次に、実施例に係る位置同一性判定の具体例を、図5を参照して説明する。図5は、実施例に係る位置同一性判定の具体例を示す図である。
図5に示すように、4つのボタンが記述されたHTMLデータをブラウザAによって出力される画像が左図であり、同じHTMLデータをブラウザBによって出力される画像が右図であるとする。右図の破線は、ブラウザAによって出力されるボタンの位置である。すなわち、右図のブラウザBによって出力される画像において、実線のボタンbB1、ボタンbB2、ボタンbB3およびボタンbB4がブラウザBによって出力されるパーツ(ボタン)である。破線がブラウザAによって出力されるボタンbA1、bA2、bA3およびbA4に相当する位置である。つまり、ここでは、ブラウザAによって出力される画像と、ブラウザBによって出力される画像とは、パーツの出力位置の位置関係に差異がある。
このような状況の下、位置抽出部12は、ブラウザAによって出力された画像を取得し、取得した画像から各パーツを検出し、検出した各パーツの形状および頂点座標を抽出する。ここでは、位置抽出部12は、パーツとして、ボタンbA1、ボタンbA2、ボタンbA3、ボタンbA4を検出し、これらのボタンの形状および頂点座標を抽出する。そして、位置抽出部12は、抽出した各パーツの形状および頂点座標を第1のパーツ情報記録DB21に記録する。
また、位置抽出部12は、ブラウザBによって出力された画像を取得し、取得した画像から各パーツを検出し、検出した各パーツの形状および頂点座標を抽出する。ここでは、位置抽出部12は、パーツとして、ボタンbB1、ボタンbB2、ボタンbB3、ボタンbB4を検出し、これらのボタンの形状および頂点座標を抽出する。そして、位置抽出部12は、抽出した各パーツの形状および頂点座標を第2のパーツ情報記録DB22に記録する。
そして、位置同一性判定部13は、第1のパーツ情報記録DB21からパーツを順次選択し、選択したパーツの頂点座標を特定する。そして、位置同一性判定部13は、特定した全ての頂点座標からそれぞれ所定距離以内の頂点座標を持つパーツが第2のパーツ情報記録DB22にあるか否かを判定する。ここでは、所定距離をd0とする。位置同一性判定部13は、ボタンbA1を選択したとする。ボタンbA1の左上座標21cは(AX1,AY1)、左下座標21dは(AX2,AY2)、右上座標21eは(AX3,AY3)、右下座標21fは(AX4,AY4)であるとする。すると、位置同一性判定部13は、ボタンbA1の左上座標(AX1,AY1)、左下座標(AX2,AY2)、右上座標(AX3,AY3)、右下座標(AX4,AY4)からそれぞれd0以内の頂点座標を持つボタンが第2のパーツ情報記録DB22にあるか否かを判定する。第2のパーツ情報記録DB22には、ボタンbA1の左上座標(AX1,AY1)からd0以内の頂点座標(BX1,BY1)を持つボタンbB1があるとする。ボタンbA1の左下座標(AX2,AY2)からd0以内の頂点座標(BX2,BY2)を持つボタンbB1があるとする。ボタンbA1の右上座標(AX3,AY3)からd0以内の頂点座標(BX3,BY3)を持つボタンbB1があるとする。ボタンbA1の右下座標(AX4,AY4)からd0以内の頂点座標(BX4,BY4)を持つボタンbB1があるとする。したがって、位置同一性判定部13は、全ての頂点座標から所定距離d0内の頂点座標を持つボタンbB1があるので、2つのボタンbA1、bB1の位置関係が同一であると判断する。
そして、位置同一性判定部13は、選択したパーツに対応する比較結果21gに一致を示す「0」を記録する。
[判定結果出力の具体例]
次に、実施例に係る判定結果出力の具体例を、図6A〜図6Eを参照して説明する。図6A〜図6Eは、実施例に係る判定結果出力の具体例を示す図である。なお、図6A〜図6Eでは、4つのボタンが記述されたHTMLデータをブラウザAによって出力される画像が左図であり、同じHTMLデータをブラウザBによって出力される画像が右図であるとする。ブラウザAによって出力されるボタンは、bA1、bA2、bA3、bA4であり、ブラウザBによって出力されるボタンは、bB1、bB2、bB3、bB4であるとする。
図6Aに示すように、ブラウザAによって出力される画像内の各ボタンと、ブラウザBによって出力される画像内の各ボタンとの位置関係が一致している場合の判定結果出力の一例である。判定結果出力部15が、第1のパーツ情報記録DB21の比較結果21gが全て「0」(一致)であると判定した場合である。かかる場合に、判定結果出力部15は、「位置関係は一致!」と表示画面に表示する。
図6Bに示すように、位置関係が一致している場合の判定結果出力の別の例である。判定結果出力部15は、ブラウザBに出力された画像の表示画面上に、ブラウザAのボタンの表示位置を破線で表示する。そして、判定結果出力部15は、「位置関係は一致! 破線・・・・はブラウザAの表示位置」と表示画面に表示する。
図6Cに示すように、位置関係が不一致のパーツがある場合の判定結果出力の一例である。判定結果出力部15が、第1のパーツ情報記録DB21に「1」の比較結果21gがあると判定した場合である。ここでは、「1」の比較結果21gがあると判定されたパーツは、bA4ボタンであるとする。かかる場合に、判定結果出力部15は、比較結果21gが「1」であるブラウザAのbA4ボタンの表示位置を、ブラウザBに出力された画像の表示画面上に強調表示する。そして、判定結果出力部15は、「位置関係は不一致! 破線・・・・はブラウザAの表示位置 (黒塗りがブラウザA出力で一致しないもの)」と表示画面に表示する。
図6Dに示すように、位置関係は一致するが文字が不一致のパーツがある場合の判定結果出力の一例である。判定結果出力部15は、第1のパーツ情報記録DB21に「2」の比較結果21gがあると判定した場合である。ここでは、「2」の判定結果21gがあると判定されたパーツは、符号bA3のキャンセルボタンである。かかる場合に、判定結果出力部15は、比較結果21gが「2」であるブラウザAのbA3の文字列「キャンセ・」を、ブラウザBに出力された画像の表示画面上に強調表示する。そして、判定結果出力部15は、「位置関係は一致するが、文字に不一致あり (黒塗りがブラウザA出力で一致しないもの)」と表示画面に表示する。なお、判定結果出力部15は、ブラウザBに出力された画像の表示画面上に、ブラウザAのボタンの表示位置を破線で表示しても良い。
なお、位置関係が完全に一致している場合には、判定結果出力部15は、完全一致である旨を表示画面に表示するようにしても良い。図6Eに示すように、位置関係が完全に一致している場合の判定結果出力の一例である。判定結果出力部15は、ブラウザAによって出力された画像内の全てのパーツの位置および文字がブラウザBによって出力された画像内の全てのパーツと完全に一致した場合である。かかる場合に、判定結果出力部15は、「完全一致!」と表示画面に表示する。
[実施例の効果]
このようにして、上記実施例では、情報処理装置1は、ブラウザ11Aと、ブラウザ11Bとのそれぞれが共通するデータに基づいて生成した第1の画面情報と第2の画面情報とのそれぞれからパーツと該パーツの画面上の位置を抽出する。情報処理装置1は、第1の画面情報、第2の画面情報のそれぞれから抽出した比較対象の全てのパーツについて、画面上の位置のずれが所定範囲内か否かに応じて第1の画面情報と第2の画面情報との同一性の評価結果を出力する。かかる構成によれば、情報処理装置1は、画面上の位置にずれがあっても差異がないと判断することができる。すなわち、情報処理装置1は、画面上の位置が異なっても差異がないと判断してよい所定範囲内の差異を、差異があると判断しないようにすることができる。
また、上記実施例では、情報処理装置1は、比較対象の2つのパーツについて、画面上の位置のずれが所定範囲内であれば、2つのパーツの位置関係は同一であると評価する。情報処理装置1は、画面上の位置のずれが所定範囲内でなければ、2つのパーツの位置関係が同一でないと評価する。そして、情報処理装置1は、評価結果を出力する。かかる構成によれば、情報処理装置1は、2つのパーツにずれがあっても位置関係は差異がないと判断することができる。
また、上記実施例では、情報処理装置1は、さらに、パーツが文字列である場合には、比較対象の2つのパーツについて、文字認識を実行する。情報処理装置1は、文字認識結果が同一であれば、2つの表示オブジェクトの文字が同一であると評価する。情報処理装置1は、文字認識結果が同一でなければ、2つの表示オブジェクトの文字が同一でないと評価する。そして、情報処理装置1は、評価結果を出力する。かかる構成によれば、情報処理装置1は、さらに、パーツが文字列である場合であっても、2つのパーツの文字の同一性を判断することができる。なお、HTMLデータの比較を行えば、文字列の一致はあらかじめ検出できるため、HTMLデータ比較後に、画面比較を行う場合には、上記文字列比較を実施しなくとも良い。
また、上記実施例では、情報処理装置1は、比較対象の2つのパーツについて、画面上の位置が一致する場合と、画面上の位置のずれが所定範囲内である場合とのいずれの状態であるかを視認可能に出力する。かかる構成によれば、情報処理装置1は、表示位置が異なっている場合に、実運用上では差異なしと判断することや、実運用上では差異ありと判断することを運用者に知らせることができる。
[その他]
なお、実施例では、位置同一性判定部13は、ブラウザAで出力された画像の1つのパーツの全ての頂点座標からそれぞれ所定距離以内の頂点座標を持つパーツが第2のパーツ情報記録DB22にあるか否かを判定すると説明した。しかしながら、位置同一性判定部13は、これに限定されず、ブラウザAで出力された画像の1つのパーツの左上と右上の頂点座標からそれぞれ所定距離以内の頂点座標を持つパーツが第2のパーツ情報記録DB22にあるか否かを判定するようにしても良い。すなわち、ブラウザBのパーツの左上の頂点座標が、ブラウザAのパーツの左上の頂点座標から所定距離以内にあって、ブラウザBのパーツの右上の頂点座標が、ブラウザAのパーツの右上の頂点座標から所定距離以内にあれば、2つのパーツの位置関係が同一であると判断する。これにより、位置同一性判定部13は、画面上の位置にずれがあっても差異がないと、高速に判断することができる。
また、実施例では、パーツの形状は、矩形であるものとして説明した。しかしながら、パーツの形状は、矩形に限定されず、3角形であっても良いし、台形であっても良いし、5角形であっても良いし、6角形であっても良い。第1のパーツ情報記録DB21および第2のパーツ情報記録DB22には、パーツの形状を想定して、座標を設定する領域を用意しておけば良い。これにより、位置同一性判定部13は、HTMLデータに記述されるオブジェクト(パーツ)について、汎用的に同一性を判定することができる。
また、実施例では、パーツの形状には、文字列が含まれるが、文字列をパーツとして認識する方法は、いかなる従来技術の方法であっても良い。例えば、位置抽出部12は、隣接する文字列候補をグループ化(一定の距離内に存在する文字候補をまとめる)し、グループ化した文字候補の外接四角形(文字候補を含む長方形)の幅が文字高さの範囲内となる矩形となれば、それをパーツとしての文字列と認識する(「図面の認識と理解」昭晃堂、1989.11.6 大沢裕 山川修三参照)。そして、位置抽出部12は、矩形の頂点座標を文字列の位置として抽出すれば良い。
また、実施例では、文字同一性判定部14は、2つのパーツのそれぞれの頂点座標で囲まれる領域内をOCR認識し、文字を検出すると説明した。しかしながら、文字同一性判定部14は、これに限定されず、2つのパーツのそれぞれの頂点座標周辺をOCR認識し、文字を検出しても良い。
また、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、位置同一性判定部13と文字同一性判定部14とを1個の部として統合しても良い。また、判定結果出力部15を、位置同一性の判定結果出力部と、文字同一性の判定結果出力部とに分離しても良い。また、第1のパーツ情報記録DB21および第2のパーツ情報記録DB22を情報処理装置1の外部装置としてネットワーク経由で接続するようにしても良い。
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図1に示した情報処理装置1と同様の機能を実現する比較プログラムを実行するコンピュータの一例を説明する。図7は、比較プログラムを実行するコンピュータの一例を示す図である。
図7に示すように、コンピュータ200は、各種演算処理を実行するCPU203と、ユーザからのデータの入力を受け付ける入力装置215と、表示装置209を制御する表示制御部207とを有する。また、コンピュータ200は、記憶媒体からプログラムなどを読取るドライブ装置213と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部217とを有する。また、コンピュータ200は、各種情報を一時記憶するメモリ201と、HDD205を有する。そして、メモリ201、CPU203、HDD205、表示制御部207、ドライブ装置213、入力装置215、通信制御部217は、バス219で接続されている。
ドライブ装置213は、例えばリムーバブルディスク211用の装置である。HDD205は、比較プログラム205aおよび比較処理関連情報205bを記憶する。
CPU203は、比較プログラム205aを読み出して、メモリ201に展開し、プロセスとして実行する。かかるプロセスは、情報処理装置1の各機能部に対応する。比較処理関連情報205bは、第1のパーツ情報記録DB21および第2のパーツ情報記録DB22に対応する。そして、例えばリムーバブルディスク211が、比較プログラム205aなどの各情報を記憶する。
なお、比較プログラム205aについては、必ずしも最初からHDD205に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ200がこれらから比較プログラム205aを読み出して実行するようにしても良い。
1 情報処理装置
10 制御部
11A,11B ブラウザ
12 位置抽出部
13 位置同一性判定部
14 文字同一性判定部
15 判定結果出力部
20 記憶部
21 第1のパーツ情報記録DB
22 第2のパーツ情報記録DB
2 対象システム
3 ネットワーク

Claims (6)

  1. データに基づいて表示画面を生成する第1のプログラムと、第2のプログラムとのそれぞれが共通するデータに基づいて生成した第1の画面情報と第2の画面情報とのそれぞれから表示オブジェクトと該表示オブジェクトの画面上の位置を抽出し、
    前記第1の画面情報、前記第2の画面情報のそれぞれから抽出した比較対象の全ての表示オブジェクトについて、画面上の位置のずれが所定範囲内か否かに応じて前記第1の画面情報と前記第2の画面情報との同一性の評価結果を出力する
    処理をコンピュータに実行させることを特徴とする比較プログラム。
  2. 前記出力する処理は、比較対象の2つの表示オブジェクトについて、画面上の位置のずれが所定範囲内であれば、2つの表示オブジェクトの位置関係は同一であると評価し、画面上の位置のずれが所定範囲内でなければ、2つの表示オブジェクトの位置関係が同一でないと評価し、評価結果を出力する
    処理をコンピュータに実行させることを特徴とする請求項1に記載の比較プログラム。
  3. 前記出力する処理は、さらに、表示オブジェクトが文字列である場合には、比較対象の2つの表示オブジェクトについて、文字認識を実行し、文字認識結果が同一であれば、2つの表示オブジェクトの文字が同一であると評価し、文字認識結果が同一でなければ、2つの表示オブジェクトの文字が同一でないと評価し、評価結果を出力する
    処理をコンピュータに実行させることを特徴とする請求項2に記載の比較プログラム。
  4. 前記出力する処理は、比較対象の2つの表示オブジェクトについて、画面上の位置が一致する場合と、画面上の位置のずれが所定範囲内である場合とのいずれの状態であるかを視認可能に出力する
    処理をコンピュータに実行させることを特徴とする請求項1に記載の比較プログラム。
  5. データに基づいて表示画面を生成する第1のプログラムと、第2のプログラムとのそれぞれが共通するデータに基づいて生成した第1の画面情報と第2の画面情報とのそれぞれから表示オブジェクトと該表示オブジェクトの画面上の位置を抽出する抽出部と、
    前記第1の画面情報、前記第2の画面情報のそれぞれから抽出した比較対象の全ての表示オブジェクトについて、画面上の位置のずれが所定範囲内か否かに応じて前記第1の画面情報と前記第2の画面情報との同一性を評価する評価部と、
    前記評価部によって評価された評価結果を出力する出力部と、
    を有することを特徴とする情報処理装置。
  6. コンピュータが、
    データに基づいて表示画面を生成する第1のプログラムと、第2のプログラムとのそれぞれが共通するデータに基づいて生成した第1の画面情報と第2の画面情報とのそれぞれから表示オブジェクトと該表示オブジェクトの画面上の位置を抽出し、
    前記第1の画面情報、前記第2の画面情報のそれぞれから抽出した比較対象の全ての表示オブジェクトについて、画面上の位置のずれが所定範囲内か否かに応じて前記第1の画面情報と前記第2の画面情報との同一性の評価結果を出力する
    各処理を実行することを特徴とする比較方法。
JP2015106746A 2015-05-26 2015-05-26 比較プログラム、情報処理装置および比較方法 Pending JP2016218977A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015106746A JP2016218977A (ja) 2015-05-26 2015-05-26 比較プログラム、情報処理装置および比較方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015106746A JP2016218977A (ja) 2015-05-26 2015-05-26 比較プログラム、情報処理装置および比較方法

Publications (1)

Publication Number Publication Date
JP2016218977A true JP2016218977A (ja) 2016-12-22

Family

ID=57581365

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015106746A Pending JP2016218977A (ja) 2015-05-26 2015-05-26 比較プログラム、情報処理装置および比較方法

Country Status (1)

Country Link
JP (1) JP2016218977A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11287940B2 (en) 2017-05-30 2022-03-29 Omron Corporation HMI development support device, HMI development support method, and non-transitory computer-readable recording medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005190443A (ja) * 2003-12-26 2005-07-14 Hitachi Software Eng Co Ltd Webブラウザ表示画面検証方法及び検証装置
JP2011008622A (ja) * 2009-06-26 2011-01-13 Fujitsu Ltd 表示テスト装置、表示テストプログラムおよび表示テスト方法
JP2016045545A (ja) * 2014-08-20 2016-04-04 株式会社日立製作所 影響調査システム、影響調査方法、および影響調査プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005190443A (ja) * 2003-12-26 2005-07-14 Hitachi Software Eng Co Ltd Webブラウザ表示画面検証方法及び検証装置
JP2011008622A (ja) * 2009-06-26 2011-01-13 Fujitsu Ltd 表示テスト装置、表示テストプログラムおよび表示テスト方法
JP2016045545A (ja) * 2014-08-20 2016-04-04 株式会社日立製作所 影響調査システム、影響調査方法、および影響調査プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WEB CREATORS VOL.99, vol. 第99巻, JPN6019009572, 2010, JP, pages 129, ISSN: 0004129173 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11287940B2 (en) 2017-05-30 2022-03-29 Omron Corporation HMI development support device, HMI development support method, and non-transitory computer-readable recording medium

Similar Documents

Publication Publication Date Title
EP3100152B1 (en) User-authentication gestures
US10491756B2 (en) Information processing apparatus, information processing method, and non-transitory computer readable recording medium
CN108304243B (zh) 界面生成方法、装置、计算机设备和存储介质
CN103377119A (zh) 一种非标准控件自动化测试方法和装置
CN106462259A (zh) 牌照号码输入装置及其方法
JP7046006B2 (ja) 認証方法及びデバイス並びに認証用情報を生成する方法及びデバイス
KR101909485B1 (ko) 프로그램, 정보기억매체 및 인식장치
JP5949903B2 (ja) 生体認証装置、生体認証方法、および生体認証プログラム
JP2014071489A (ja) 採点結果取得方法、プログラム、及び装置
JP2016218977A (ja) 比較プログラム、情報処理装置および比較方法
US9736323B2 (en) Method of using address book of image forming apparatus on web browser and image forming apparatus for performing the same
JP6619891B2 (ja) 画面試験装置および画面試験プログラム
EP2916261A2 (en) Detecting device and detecting method
JP7465522B2 (ja) 破断面解析装置及び破断面解析方法
JP2018055256A (ja) 情報処理装置、情報処理方法及びプログラム
CN110880023A (zh) 一种检测证件图片的方法及装置
CN108062301A (zh) 文字翻译方法及其装置
JP6446945B2 (ja) 非互換検出装置、非互換検出方法、及びプログラム
US12072791B2 (en) Automated identification of input elements in a graphical user interface
JP7267854B2 (ja) 帳票認識装置、帳票認識方法、及び帳票認識システム
JP2008310531A (ja) 帳票識別方法及び帳票識別プログラム並びに該帳票識別方法を用いた光学文字読取システム
JP6805903B2 (ja) 表示差異検出プログラム、装置、及び方法
JP6201838B2 (ja) 情報処理装置及び情報処理プログラム
Chu et al. Automated GUI testing for android news applications
JP6965620B2 (ja) コンテンツ検証用コンピュータプログラム、コンテンツ検証装置及びコンテンツ検証方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190515

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20191008