Web オブジェクト識別子の使用 - 実習

この実習では,テスト・オブジェクト記述内の XPath および CSS 識別子を使用して,HTML テーブル内の正しいボタンを見つけるようにします。

前提条件

  1. UFT One を開き,新しいテストを作成します。

  2. Button テスト・オブジェクト・クラスのスマート認識を無効にします。これには,[ツール]>[オブジェクトの認識]を選択し,[オブジェクトの認識]ダイアログ・ボックスの[Web]環境を選択して,[テスト オブジェクト クラス]リストから Button テスト・オブジェクト・クラスを選択します。

  3. 自動 XPath を無効にします。これには,[Web]>[詳細設定]ノード([ツール]>[オプション]>[GUI テスト]タブ>[Web]>[詳細設定]ノード)で[自動 XPath 識別子を使用して学習および実行する]チェックボックスをクリアします。

先頭に戻る

サンプル Web アプリケーションの作成

  1. 次の構文の内容をテキスト・ドキュメントにコピーし,そのドキュメントを .html 拡張子で保存します。ドキュメントは HTML ページとして保存されます。

    <html>
    <head>
        <title>Sample Web Page</title>
        <style type="text/css">
            body
            {
                background: green; 
                color: blue; 
            }
            .SelectedRow
            {
                color: #00F; 
                background: #ebcbeb; 
                width: 450px; 
            }
            .RegularRow
            {
                color: #444; 
                background: #cbebeb; 
                width: 450px; 
            }
            .BPTRow
            {
                color: #D9660E; 
                background: #cbebeb; 
                width: 450px; 
            }
        </style>
    </head>
    <body>
        <br />
        <br />
        <table id="maintab">
            <tr class="BPTRow" id="BPT">
                <td>
                    Business Process Testing
                </td>
                <td>
                    <input type="button" value="Buy" />
                </td>
            </tr>
            <tr class="RegularRow" id="QC">
                <td>
                    Application Lifecycle Management
                </td>
                <td>
                    <input type="button" value="Buy" />
                </td>
            </tr>
            <tr class="SelectedRow" id="UFT">
                <td>
                    Unified Functional Testing
                </td>
                <td>
                    <input type="button" value="Buy" />
                </td>
            </tr>
        </table>
    </body>
    </html>
    
  2. 新たに作成した HTML ページの外観と内容を任意のブラウザで確認します。次の画像と一致することを確認します。

先頭に戻る

Web アプリケーション内のボタン・オブジェクトの学習

  1. UFT Oneで,オブジェクト・リポジトリ・マネージャを開き,[オブジェクト]>[ナビゲートして学習]を選択します。UFT One が非表示になり,カーソルが指差しマークに変わります。

  2. UFT One がオブジェクトを正しく学習したことを確認するには,オブジェクト・リポジトリで,各 Button オブジェクトを選択し,[表示]>[アプリケーション内で強調表示]を選択します。UFT One によって HTML ページ内の各 Button オブジェクトが強調表示されます。

  3. より明確になるように Button オブジェクトの名前を変更します。

    • Buy]を[Buy_BPT]に変更します。

    • Buy_2]を[Buy_ALM]に変更します。

    • Buy_3]を[Buy_UFT]に変更します。

先頭に戻る

ボタン・オブジェクトからの順序識別子の削除

すべてのボタン・オブジェクトは同じプロパティ値を持つため,UFT One はオブジェクトの学習時に,アプリケーション内の各オブジェクトの場所に基づいて各テスト・オブジェクトに順序識別子を割り当てています。これにより,アプリケーション内のボタンの並べ替えの順序が変わった場合,UFT One でオブジェクトが正しく識別されない可能性があります。

  1. [オブジェクト リポジトリ]ウィンドウで,最初の Button オブジェクトを選択して,そのオブジェクト・プロパティを[オブジェクト リポジトリ]ウィンドウの右側に表示します。

  2. 順序識別子]セクションで,[参照]ボタンを選択します。[順序識別子]ダイアログ・ボックスが開きます。

  3. 識別子のタイプ]ドロップダウン・リストで,[なし]を選択してダイアログ・ボックスを閉じます。テスト・オブジェクトの記述プロパティから順序識別子が削除されます。

  4. それぞれのボタンについて,上記の手順を繰り返します。

  5. 各テスト・オブジェクトを選択し,[表示]>[アプリケーション内で強調表示]を選択して,テスト・オブジェクト記述が一意でないことを確認します。UFT One では,オブジェクトを識別できません。

先頭に戻る

オブジェクトの親コンテナに基づく CSS 識別子の追加

  1. Buy_BPT]ボタンを選択します。[オブジェクト リポジトリ]ウィンドウの右側にテスト・オブジェクトの詳細が表示されます。

  2. オブジェクトの記述]セクションで[追加]ボタンをクリックして,css プロパティをテスト・オブジェクト記述に追加します。

  3. 次の構文をコピーして,[値]エディット・ボックスに貼り付けます。

    tr.BPTRow input

先頭に戻る

オブジェクトの親コンテナに基づく XPath 識別子の追加

  1. Buy_UFT]ボタンを選択します。[オブジェクト リポジトリ]ウィンドウの右側にテスト・オブジェクトの詳細が表示されます。

  2. オブジェクトの記述]セクションで[追加]ボタンをクリックして,xpath プロパティをテスト・オブジェクト記述に追加します。

  3. 次の構文をコピーして,[値]エディット・ボックスに貼り付けます。

    
    //TR[@id='UFT']/*/INPUT
    

先頭に戻る

オブジェクトの兄弟要素に基づく XPath 識別子の追加

  1. Buy_ALM]ボタンを選択します。[オブジェクト リポジトリ]ウィンドウの右側にテスト・オブジェクトの詳細が表示されます。

  2. オブジェクトの記述]セクションで[追加]ボタンをクリックして,xpath プロパティをテスト・オブジェクト記述に追加します。

  3. 次の構文をコピーして,[]エディット・ボックスに貼り付けます。

    //td[contains(text(),'ALM')]/../*/INPUT
    

先頭に戻る

結果

各オブジェクトを選択し,[表示]>[アプリケーション内で強調表示]を選択します。これで,UFT One は追加した Web オブジェクト識別子に基づいて各ボタンを識別できるようになります。

先頭に戻る