SilkTest 技術情報(FAQ)


Javaでビットマップオブジェクトの単純比較を行う

Silk4Jでは、CaptureBitmapメソッドを使用して指定したXPATHのビットマップファイルを取得することは可能ですが、取得したビットマップ同士を比較する機能は提供していません。
このライブラリに含まれるメソッドはそれらを補完するものです。

  • ※Silk Test 14.0からイメージ検証機能が追加されました。

提供関数

  • boolean com.mf.bitmap.Utilities.compareBitmaps(String sSourceBitmap, String sCompare, boolean bOutputDiff)
  • boolean com.mf.bitmap.Utilities.wait4Bitmap(TestObject window, String sBitmap, long nTimeout)
  • boolean com.mf.bitmap.Utilities.verifyBitmap(TestObject window, String sBitmap)

bitmapUtils.zipを解凍し、bitmapUtils.jarをEclipseの該当プロジェクトの外部参照ライブラリに加えてください。


compareBitmaps

  • 指定した2つのビットマップファイルを比較します。
    • 引数の説明
      sSourceBitmap:ソース元ビットマップファイル
      sCompare:比較先のビットマップファイル
      bOutputDiff:trueをセットすると, sCompareと同じディレクトリ内に相違点をハイライトしたビットマップを作成します
    • 使用例
      boolean bMatch = com.mf.bitmap.Utilities.compareBitmaps("C:\\Source.bmp","C:\\Compare.bmp",true);
      

wait4Bitmap

  • 指定したビットマップファイルと同じイメージが、指定したオブジェクトに表示されるか待機します。
    • 引数の説明
      window:テスト対象のウインドウ
      sBitmap:ソース元のビットマップファイル
      nTimeout:タイムアウトさせるミリ秒を指定
    • 使用例
      boolean bMatch = boolean bMatch = com.mf.bitmap.Utilities.wait4Bitmap(desktop.find("FormsWindow[@caption='My App']"), "C:\\Source.bmp", 15000);
      

verifyBitmap

  • ディスクに保存されたビットマップファイルと同じイメージが、指定したオブジェクトとマッチするかチェックして"0"もしくは"1"を返します。
    • 引数の説明
      window:テスト対象のウインドウ
      sBitmap:ソース元のビットマップファイル
    • 使用例
      boolean bMatch = com.mf.bitmap.Utilities.verifyBitmap(desktop.find("FormsWindow[@caption='My App']"), "C:\\Source.bmp");
      

免責事項

ここで紹介したスクリプトは説明のためのサンプルであり、製品の一部ではございません。スクリプトが実際に動作するか、御社業務に適合するかなどに関しまして、一切の保証はございません。 スクリプト、説明、その他すべてについて、無謬性は保障されません。

ここで紹介するスクリプトの一部、もしくは全部について、弊社に断りなく、御社スクリプトの内部に組み込み、そのままご利用頂いても構いません。

本スクリプトの一部もしくは全部を二次的著作物に対して引用する場合、著作権法の精神に基づき、適切な扱いを行ってください。