テスト,コンポーネント,関数ライブラリ,またはユーザ・コード・ファイルのデバッグ
関連: API テスト,GUI アクション,スクリプトGUI・コンポーネント,関数ライブラリ,ユーザ・コード・ファイル,ビジネス・プロセス・テスト
このタスクでは,実行セッションを制御およびデバッグする方法をいくつか説明します。これにより,ドキュメントで発生した問題を特定および処理することができます。
このタスクの実行方法については,関数のデバッグ - 実習(GUI テストの場合)またはAPI ユーザ・コード・ファイルのデバッグ - 実習(API テストの場合)を参照してください。
前提条件
デバッグを開始する前に,次の前提条件を満たしていることを確認してください。
Microsoft Script Debugger |
デバッグ・モードでテストまたはコンポーネントを実行するには,Microsoft Script Debugger がインストールされている必要があります。 インストールされていない場合は,UFT One 追加インストール要件ユーティリティを使用してインストールします。
|
API テスト・デバッガの有効化 |
API テストをデバッグするには,デバッガを有効にする必要があります。 [ツール]>[オプション]>[API テスト]タブ>[一般]ノードを選択し,[デバッグ モードでテストを実行]を選択します。 |
デバッグ・セッションの実行速度を遅くする
実行セッションでは通常,UFT One はステップを高速で実行します。デバッグするときは,テスト実行の速度を遅くすれば,より効果的にデバッグできます。
テスト実行の速度を遅くするには,次の手順を実行します。
- [オプション]ダイアログ・ボックスの[テスト実行]表示枠を参照します([ツール]>[オプション]>[GUI テスト]タブ>[テスト実行]ノード)。
- [ステップ実行ごとの遅延時間]をミリ秒単位の値で変更して,UFT One が各ステップ間で待機する時間を設定します。
特定の GUI ステップに対するステップ・イン,ステップ・アウト,またはステップ・オーバー
GUI テストをデバッグするときは,次のメソッドを使用して,ステップの実行方法を決定します。
ステップ・イン |
アクティブなドキュメントの現在のステップだけが実行されます。 ツールバーで,[ステップ イン]ボタンを押します。 GUI テストのデバッグでは,現在のステップが別のアクションまたは関数を呼び出す場合,ドキュメント表示枠には呼び出されたアクションまたは関数が表示されます。呼び出されたアクションまたは関数の最初の行で,テストまたは関数ライブラリは停止します。 |
ステップ・アウト |
関数またはユーザ・コード・ファイルの終了まで実行が継続され,呼び出し元のテスト,コンポーネント,または関数ライブラリに戻り,次の行(存在する場合)で実行セッションを一時停止します。 ツールバーで,[ステップ アウト]ボタンを押します。 |
ステップ・オーバー |
現在のステップがユーザ定義関数を呼び出すと,呼び出された関数全体が実行されますが,呼び出された関数のスクリプトはドキュメント表示枠に表示されません。次に,実行セッションは呼び出し元のドキュメントに戻り,次の行(存在する場合)で一時停止します。 ツールバーで,[ステップ オーバー]ボタンを押します。 現在のステップが別のアクションを呼び出す場合,呼び出されたアクションはドキュメント表示枠に表示され,このアクションの最初の行で実行セッションは一時停止します([ステップ イン]と同様)。 |
特定の GUI ステップまたはアクションでの開始または一時停止
-
UFT One の実行を停止するステップをドキュメント内で選択し,[実行]>[ステップまで実行]を選択します。
-
開始ステップを選択し,[実行]>[ステップからデバッグ]を選択します。
注: 特定のアクションで実行を停止するコマンドもあります。キャンバス内でアクションを右クリックし,[アクションまで実行],[ステップからデバッグ],[アクションから実行]を選択します。
GUI テストでのブレークポイントの使用
詳細については,ブレークポイントの使用を参照してください。
注:
-
「実行」オートメーション・メソッドを使用してテストを実行する場合,テスト内にブレークポイントが保存されていても,テストは停止しません。
-
「実行」オートメーション・メソッドを使用して,ブレークポイントがあるテストを実行する場合,ブレークポイントは表示されますが,テストの実行中は無視されます。
-
ALM テスト・ラボ・モジュールから非表示モード(UFT One リモート・エージェントで設定)でテストを実行している場合,UFT One はブレークポイントでテストを停止しません。
-
非表示モード以外のモードで ALM テスト計画モジュールからテストを実行する場合,UFT One リモート・エージェントで[テスト セットをデバッグ モードで実行する]オプションを選択すれば,テストはブレークポイントで停止します。
リモート・エージェントの設定の詳細については,[リモート エージェントの設定]ダイアログ・ボックスを参照してください。
GUI テスト の変数と式の値の確認
実行セッション中に,次のオプションを使用すると,コード式,変数,およびオブジェクトのプロパティの現在の値が表示されます。
[ウォッチ]表示枠には,[ウォッチ]表示枠にすでに追加され,選択された変数と式の値が表示されます。
注: テスト・オブジェクトの非表示のプロパティとメソッドは,[ウォッチ]表示枠に表示されません。
[ウォッチ]タブには,エディタまたは関数ライブラリから式を追加できます(キーワード・ビューからは追加できません)。
式を追加するには,次のいずれかを実行します。
式の名前の入力 | [新しいウォッチ式の追加]ボタンをクリックし,[新しいウォッチを追加]ダイアログ・ボックスに式の名前を入力します。 |
選択した式の強調表示 | GUIアクション,スクリプト GUI コンポーネント,関数ライブラリのみ: 選択した式を強調表示して,[実行]>[ウォッチに追加]を選択します。式を右クリックして,コンテキスト・メニューの[ウォッチに追加]を選択します。 |
[ウォッチ]表示枠に記述プロパティを追加するには,GetROProperty を呼び出す式が必要です。
これにより,オブジェクトのプロパティの実行時の値を確認できます。たとえば,次の式を追加すると,Calculator アプリケーションで現在表示されている値を確認できます。
Window("Calculator").WinEdit("Edit").GetROPRoperty("text")
詳細については,[ウォッチ]表示枠を参照してください。
UFT One の[クイック ウォッチ]では,選択したオブジェクトの現在の値をテストまたはコンポーネントで並べて表示したり,式の値を評価したり,[ウォッチ]表示枠に項目を追加することができます。
オブジェクト,変数,または式を含むテストまたはコンポーネントの行で,次のいずれかを実行します。
右クリックして[クイック ウォッチ]を選択する
[実行]>[クイック ウォッチ]を選択する
クイック・ウォッチで,次のいずれかを実行します。
[式]フィールドで,オブジェクトの名前,変数,または式を入力して,[評価]をクリックします。UFT One には,テストまたはコンポーネントの現在のコンテキストでの値が表示されます。
オブジェクトの名前,変数,または式を入力し,[ウォッチに追加]をクリックします。UFT One では,入力内容が[ウォッチ]表示枠のリストに追加されます。
[ローカル変数]表示枠には,(現在のステップまでの)テストまたはコンポーネントのすべての変数,およびテストまたはコンポーネントの実行の現在のコンテキストでの変数の値が表示されます。
詳細については,[ローカル変数]表示枠を参照してください。
テスト,関数ライブラリ,ユーザ・コード・ファイル内のステップをそのまま続けて実行すると,自動的に[ウォッチ]表示枠と[ローカル変数]表示枠が更新され,変数や式の現在値が表示されます。
UFT One さらに,([コンソール]表示枠で)デバッグ・セッションで変更を行うと,[ウォッチ]表示枠と[ローカル変数]表示枠の内容が再度評価されます。
GUI テスト プロパティ,変数,式の変更
[ウォッチ]表示枠または[ローカル変数]表示枠で,変数やプロパティの値を手動で変更します。
たとえば,[オブジェクト]プロパティをサポートするテスト・オブジェクトの場合,[ウォッチ]表示枠に表示される実行環境オブジェクトのプロパティ値を編集します。これにより,実行セッションを開始する前に,テスト中のアプリケーションのプロパティ値を変更することができます。
次のいずれかを実行します。
[コンソール]表示枠 | オブジェクト,変数,または式の値を変更するコマンドを入力します。 |
[ウォッチ]表示枠または[ローカル変数]表示枠 | オブジェクト,変数,または式の[値]カラム内の値を手動で変更します。 |
[ウォッチ]表示枠またはクイック・ウォッチ | 次のタイプの式のいずれかを追加します。
|
[ウォッチ]表示枠に追加した式は,ドキュメントとともに保存され,ドキュメントの変更に応じて更新されます。
注意: UFT One は,[ウォッチ]表示枠の式を実行して,評価します。
したがって,評価がテストまたは GUI テスト・オブジェクトの状態に影響を与える可能性のあるメソッドまたは式を追加しないでください。追加すると,テスト,コンポーネント,関数ライブラリ,ユーザ・コード・ファイルで予期しない動作が発生する可能性があります。
GUI テスト・コード・コマンドの手動実行
[コンソール]表示枠で,実行するコマンドを入力します。
現在の GUI テスト・コール・スタックの表示
実行セッションで現在実行中のコール・スタックを表示するには,[表示]>[デバッグ]>[コール スタック]を選択します。
また,表示枠内でスタック名をダブルクリックすると,コール・スタックの開始行に直接移動できます。
実行中の GUI テスト スレッドの表示
[表示]>[デバッグ]>[スレッド]を選択します。
表示されたスレッド・リストで,スレッド名をダブルクリックすると,スレッドの先頭に直接移動できます。
ロードされた GUI テスト モジュールの表示
[表示]>[デバッグ]>[ロードされたモジュール]を選択します。UFT One に,現在ロードされているモジュールのリストが表示されます(テスト内のどこで一時停止したかによって表示内容が異なります)。
API テスト・ステップの無効化
API テストでステップを無効化して,テストを実行およびデバッグするときにそのステップをスキップできます。
テストで,無効化するステップを右クリックし,[ステップの無効化]を選択します。これにより,ステップは無効になり,テストを実行してデバッグするときにスキップされます。
ステップを再度有効化する場合には,ステップを右クリックして[ステップの有効化]を選択します。
ステップが無効になっているときの動作
イベント・ハンドラ | ステップにアタッチされたイベント・ハンドラもスキップされます。 |
他のステップのデータ・ソースとして使用される値を持つステップ | スキップされたステップに,他のステップでデータ・ソースとして使用される入力値がある場合,代わりに標準設定値が使用されます。 |
チェックポイント値にリンクされたステップ | スキップされたステップがチェックポイント値にリンクされている場合,値が欠落しているため,テストの実行は失敗します。 |