プログラム的記述

関連: GUI アクション、スクリプト GUI コンポーネント、関数ライブラリ

UFT One は、アプリケーション内のオブジェクトを学習すると、適切なテスト・オブジェクトをオブジェクト・リポジトリに追加します。オブジェクトがオブジェクト・リポジトリに追加されたら、エディタでステートメントを追加することで、そのオブジェクトに対して追加の操作を実行できます。ステートメントを追加するには、通常、各オブジェクトの名前(大文字小文字は区別されない)をそのオブジェクトの階層にオブジェクト記述として入力した後で、適切な操作を追加します。

オブジェクト・リポジトリ内の各オブジェクトは一意の名前を持っているので、指定する必要があるのはこの名前だけです。実行セッションの実行中、UFT One はオブジェクト・リポジトリの中で名前と親オブジェクトに基づいてオブジェクトを検索し、格納されているテスト・オブジェクトの記述を使って、アプリケーション内のオブジェクトを識別します。

ただし、UFT One に対して、オブジェクト・リポジトリまたはオブジェクト名を参照せずに、オブジェクトに対する操作を実行するように指示することもできます。UFT One に、操作の実行対象とするオブジェクトを識別するために使用できるプロパティと値のリストを提供するか、(Insight テスト・オブジェクトの)記述プロパティとしてコントロールの画像を含むファイルを提供します。

このようなプログラミング記述は、次のようなさまざまなシナリオで非常に役立ちます。

オブジェクトがオブジェクト・リポジトリ内に格納されていない オブジェクト・リポジトリに格納されていないオブジェクトを、テストの実行中に認識しなければならないケースがあります。このような場合にはプログラミング記述を使用することにより、オブジェクト名ではなくオブジェクトのプロパティで実行時にオブジェクトを検出します。
複数のオブジェクトが同じプロパティを共有する 通常、UFT One がオブジェクトを識別する際には、オブジェクトの記述プロパティを使ってアプリケーション内でオブジェクトを検索します。一部のアプリケーションでは、アプリケーション・オブジェクトには一意の記述プロパティが設定されています。ところが、多くのオブジェクトで同じ記述プロパティが設定されているアプリケーションもあります。このような場合、UFT One によるアプリケーションでのオブジェクト検索は、格段に難しくなります。この場合、オブジェクト・リポジトリに格納されているオブジェクトの記述プロパティを使用するのではなく、プログラミング記述を使ってオブジェクトのプロパティを置き換えることが可能です。
実行セッション中にオブジェクトを動的に作成する 一部のアプリケーションでは、ユーザ入力に応じてオブジェクトが動的に作成されます。このようなアプリケーションでは、UFT One がオブジェクトを学習する時点ではオブジェクトは存在していないので、このようなオブジェクトをオブジェクト・リポジトリに追加することは困難であり、不可能な場合もあります。したがって、実行時のオブジェクトの識別方法にプログラミング記述を使用することにより、UFT One はアプリケーション内のオブジェクトを検出し、識別することが可能になります。
オブジェクトがアプリケーション・バージョン間で異なる 特に Web アプリケーションの操作では、オブジェクトのプロパティは、アプリケーションの表示に使用するブラウザによって異なります。その結果、アプリケーション用にオブジェクトをオブジェクト・リポジトリに追加したとしても、ブラウザのタイプによってオブジェクトを表示する方法が異なるため、UFT One がオブジェクトを識別する際に問題が発生する可能性があります。静的な記述プロパティではなくプログラミング記述を使用することにより、テスト・オブジェクトはさまざまな状況やブラウザ・バージョンで高い柔軟性を発揮し、UFT One はオブジェクトの環境にかかわらずオブジェクトを検出できるようになります。

例:  

たとえば、入力した人名情報に基づいて、雇用主のリストを表示し、リストから選択した雇用主に履歴書を送れるようにする Web サイトのテストをするものとしましょう。テストでは、リストに表示されたすべての雇用主を選択したいのに、テストを設計するときには、ページにいくつのチェック・ボックスが表示されるかわからず、もちろん各チェック・ボックスの正確なオブジェクト記述も知ることができません。こうした状況で、プログラム的記述を使うことで Set "ON" メソッドを、「HTML TAG = inputTYPE = check box」という記述に適合するすべてのオブジェクトを対象に実行することができます。

プログラム的記述には 2 つのタイプがあります。

  • 静的:VBScript ステートメントの中に、オブジェクトを記述するプロパティと値のセットを直接指定します。詳細については、「静的なプログラム的記述」を参照してください。

  • 動的:プロパティと値のコレクションを記述オブジェクトに追加してから、ステートメントにその記述オブジェクトの名前を入力します。詳細については、「動的なプログラム的記述」を参照してください。

オブジェクト記述に対する要求が基本的なものであれば、静的記述を使ってステートメントにプログラム的記述を直接入力するほうが簡単でしょう。ただし、ほとんどの場合は動的記述を使ったほうが機能、効率、および柔軟性が向上します。

実行結果では、実行セッション中にプログラム的記述または ChildObjects メソッドを使ってテスト・オブジェクトが動的に作成されたことを示す角括弧がテスト・オブジェクト名に付けられます。