関数のデバッグ - 実習

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

この実習では、GUI テストで提供されている UFT One のデバッグ機能を使用して、アクションまたは関数を作成およびデバッグします。

実習で作成するテストや関数ライブラリでは、テストや関数ライブラリのほかの部分で使用される変数が定義されています。アクションまたは関数にブレークポイントを追加することで、テストまたは関数ライブラリの実行中に変数の値がどのように変化するかを確認できます。また、ブレークポイントで一時停止している間に、いずれかの変数の値を変更することによって、テストまたは関数ライブラリでその新しい値がどのように処理されるかを調べることもできます。

注意: この実習に関連するタスクについては、「テスト、コンポーネント、関数ライブラリ、またはユーザ・コード・ファイルのデバッグ」を参照してください。

新しいアクションまたは関数を作成する

  1. 関数ライブラリを作成または開きます。

  2. 新しい関数を作成し、SetVariables という名前を付けます。

    アクションまたは関数ライブラリのエディタを使用して、次に示す VBScript コードを入力します。

    Function SetVariables
    
    Dim a
    a="hello"
    b="me"
    MsgBox a
    
    EndFunction

先頭に戻る

関数ライブラリをテストに関連付ける

  1. 関数ライブラリにフォーカスを移動します。

  2. 関数ライブラリ・ドキュメントのタブを右クリックし、[ライブラリ '<関数ライブラリ名>' を '<テスト名>' に関連付ける]を選択します。関数ライブラリは、テストまたはアプリケーション領域に関連付けられます。

先頭に戻る

テスト内の関数の呼び出しを追加する

エディタで次の内容を入力し、関数に呼び出しを追加します。

SetVariables 

先頭に戻る

ブレークポイントを追加する

b="me"MsgBox a のテキストを含む行の左マージンをクリックします。

先頭に戻る

テストまたはコンポーネントの実行を開始する

テストを実行します。テストは、最初のブレークポイントが設定されているステップ(スクリプトの行)を実行する前に、そのブレークポイントで停止します。

先頭に戻る

[デバッグ]表示枠で変数の値を確認する

  1. [表示]>[デバッグ]>[ウォッチ]を選択すると[ウォッチ]表示枠が開きます。

  2. テスト・アクションのエディタまたは関数ライブラリで、変数 a を強調表示して[実行]>[ウォッチに追加]を選択します。

    [ウォッチ]表示枠に変数 a が追加されます。実行が停止したのは、変数 a の値が初期化された後なので、[]カラムには、a の現在の値である「hello」が表示されます。[タイプ]カラムには、aString 変数であることが示されます。

  3. テスト・アクションのエディタまたは関数ライブラリで、変数 b を強調表示して[実行]>[ウォッチに追加]を選択します。

    [ウォッチのデバッグ]表示枠に変数 b が追加されます。[]カラムには、<この変数は宣言されていません。 'b'> と表示されます([タイプ]カラムには、「不正な式」と表示されます)。これは、b を宣言する前にテストまたはコンポーネントが停止したためです。

  4. [表示]>[デバッグ]>[ローカル変数]を選択すると[ローカル変数]表示枠が開きます。

    テストを実行している場合、この時点で初期化されている変数は a しかないので、変数 a(値は「hello」)のみが表示されます。

    テストとコンポーネントは変数 b が宣言される前に停止しているので、変数 b は表示されません。

先頭に戻る

次のブレークポイントで変数の値を確認する

実行]ボタンをクリックして、テストの実行を続行します。

テストは次のブレークポイントで停止します。[ウォッチ]タブと[ローカル変数]タブの変数 ab の値が更新されています。

先頭に戻る

[コンソール]表示枠を使って変数の値を変更する

  1. [表示]>[デバッグ]>[コンソール]を選択します。

  2. 表示枠の下部にコマンド・プロンプトが開くので、次のように入力します。if b="me" then a="b is me" else a="b is you" end ifキーボードの Enter キーを押します。

  3. ローカル変数]表示枠をクリックして、入力したコマンドに従って変数 a の値が更新されたことを確認します。値が表示されます。"b is me"

  4. 実行]ボタンをクリックして、テストの実行を続行します。

    メッセージ・ボックスが開き、「b is you」と表示されます(変更後の a の値)。[デバッグ コンソール]表示枠では、ab の両方の値が正しく変更されたことがわかります。

  5. OK]をクリックし、メッセージ・ボックスを閉じます。

先頭に戻る

コマンド履歴からコマンドを再実行する

  1. 最初のブレークポイントを削除して、テストまたはコンポーネントを再び実行します。

    テストがブレークポイントで停止したら(メッセージ・ボックスが表示される前)、[コンソール]表示枠で「b="not me"」コマンドを実行して、変数 b の値を変更します。

  2. [コンソール]表示枠で、if b="me" then a="b is me" else a="b is you" というコマンド行を強調表示します。右クリックして[コピー]を選択します。

  3. コマンド・プロンプトで、右クリックして[貼り付け]を選択します。

  4. Enter キーを押してコマンドを実行し、[実行]ボタンをクリックしてテストまたはコンポーネントを最後まで実行します。

    メッセージ・ボックスが開き、"b is you" と表示されます。[OK]をクリックし、メッセージ・ボックスを閉じます。

先頭に戻る