ビットマップ比較ツールのインタフェースの実装

関連:GUI テストおよびコンポーネント

このタスクでは、カスタム比較ツール COM オブジェクトで次のことを実行するために、ビットマップ比較ツールのインタフェースを実装する方法を説明します。

  • ビットマップを受け取って比較する

  • 比較結果を OpenText Functional Testing に提供する

  • [ビットマップ チェックポイントのプロパティ]ダイアログ・ボックスの詳細設定への情報提供

注: このタスクは、より高いレベルのタスクの一部として実行されます。詳細については、カスタム比較ツールの開発を参照してください。

前提条件 - タイプ・ライブラリの参照

開発する COM オブジェクトでは、OpenText Functional Testing に用意されているタイプ・ライブラリ(<Installdir>\dat\BitmapCPCustomization\BitmapComparer.tlb)を参照します。

先頭に戻る

CompareBitmaps メソッドの実装

OpenText Functional TestingIVerifyBitmap インタフェースの CompareBitmaps メソッドを呼び出し、期待されるビットマップと実際のビットマップをカスタム比較ツールに渡します。

メソッド構文:

HRESULT CompareBitmaps     ([in] IPictureDisp* pExpected, 
                                [in] IPictureDisp* pActual, 
                                [in] BSTR bstrConfiguration, 
                                [out] BSTR* pbstrLog, 
                                [out] IPictureDisp** ppDiff, 
                                [out, retval] VARIANT_BOOL* pbMatch);

次を実行する CompareBitmaps メソッドを実装します。

  • テスト要件に基づいて定義した所定のアルゴリズムに応じて、2 つのビットマップを受け取り、比較する。

  • OpenText Functional Testing ユーザ([ビットマップ チェックポイントのプロパティ]ダイアログ・ボックスの詳細設定で)が提供する設定情報が含まれているテキスト文字列を受け取り、それを比較で使用する。たとえば、文字列に公差仕様、画像のサイズまたは位置の許容偏差、比較に影響を与えるその他の情報が含まれていることがあります。

  • 文字列には任意の形式を選択できます(XML、カンマ区切り、または INI ファイル形式)。カスタム比較ツールに提供するドキュメントには、必ず形式を記述してください。[ビットマップ チェックポイントのプロパティ]ダイアログ・ボックスの詳細設定で OpenText Functional Testing ユーザが入力する設定入力は、この形式に準拠する必要があります。

    先頭に戻る

CompareBitmaps メソッドの実装

ビットマップ・チェックポイントの結果は実行結果に表示されます。

CompareBitmaps メソッドを IVerifyBitmap インタフェースを実装してビットマップを比較する場合には、次の情報も返す必要があります。

  • ビットマップが一致して、チェックポイントが成功するか。

  • OpenText Functional Testing で実行結果に表示されるテキスト文字列。

    この文字列の目的は、比較に関する情報を OpenText Functional Testing ユーザに提供することですが、独自の比較ツールを開発してテストするときは、この文字列をデバッグにも利用できます。

  • 実際のビットマップと期待されるビットマップの違いを視覚的に示すビットマップ。

    このビットマップの目的は、ビットマップが失敗した理由を OpenText Functional Testing ユーザが理解するのを支援するためです。カスタム比較ツールは、選択した視覚化アプローチでこのビットマップを作成できます。たとえば、標準の OpenText Functional Testing 比較ツールでは、2 つの画像で異なっているすべてのピクセルに黒ピクセルが含まれた白黒ビットマップを作成します。

先頭に戻る

IBitmapCompareConfiguration の実装

OpenText Functional Testing ユーザが[ビットマップ チェックポイントのプロパティ]ダイアログ・ボックスの詳細設定でカスタム比較ツールを選択すると、[入力]テキストボックスと、オプションでカスタム比較ツールに用意されたドキュメントへのリンクが表示されます。詳細については、ビットマップ比較の微調整を参照してください。

これらのオプションをサポートするには、IBitmapCompareConfiguration インタフェースを実装して必要な情報をダイアログ・ボックスに提供します。

  • 標準の設定文字列をカスタム比較ツールに返す GetDefaultConfigurationString メソッドを実装します。

    メソッド構文:

    HRESULT GetDefaultConfigurationString ([out, retval] BSTR* pbstrConfiguration);
    

    この文字列が、[ビットマップ チェックポイントのプロパティ]ダイアログ・ボックスの[入力]ボックスに表示されます。

    この文字列の形式は、比較ツールが入力として期待している設定文字列の形式と同じにする必要があります。

  • カスタム比較ツールに関するドキュメントのパスを返す GetHelpFilename メソッドを実装します。OpenText Functional Testing ユーザは、[ビットマップ チェックポイントのプロパティ]ダイアログ・ボックスの詳細設定からドキュメントにアクセスできるようになります。

    メソッド構文:

    HRESULT GetHelpFilename ([out, retval] BSTR* pbstrFilename);
    

    このドキュメントには、任意の形式を選択できます。OpenText Functional Testing はユーザのコンピュータで、提供されたファイル形式と関連付けられたプログラムを使ってこのドキュメントを開きます。そのため、このドキュメントは、OpenText Functional Testing ユーザが必要なプログラムを持っていると期待される形式で提供してください。

    このドキュメントはOpenText Functional Testing ユーザに次の情報を提供します。

    • カスタム比較ツールが実行する比較のタイプ(ユーザはそれを使ってビットマップ・チェックポイントを実行する場合を判断できます)。

    • 設定文字列に要求される形式と、それに含むことができる値。

    • 実行結果に表示される比較結果情報の説明(テキスト文字列と差異ビットマップ)。

    先頭に戻る