ヘッダーをスキップ
Oracle® Functional Testing OpenScriptユーザーズ・ガイド
バージョン9.31
B62630-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

5 Web機能テスト・モジュールの使用

この章では、OpenScript Web機能テスト・モジュールの設定および使用手順について説明します。このテスト・モジュールは、Webブラウザのドキュメント・オブジェクト・モデル(DOM)を通じてオブジェクトにアクセスし、Webベース・アプリケーションをテストします。

5.1 Web機能テスト・モジュールについて

OpenScript Web機能テスト・モジュールは、Webドキュメント・オブジェクト・モデル(DOM)を使用するWebベース・アプリケーションの機能テストをサポートするアプリケーション・モジュールです。OpenScriptでは、技術部門だけではなく非技術部門のテスターも簡単に使用できる柔軟性の高いスクリプティング・インタフェースを提供しています。コード・ビューおよびGUIビューの両方のスクリプティング・インタフェースでスクリプトを作成できます。

機能テスト・モジュールは、ドキュメント・オブジェクト・モデル(DOM)の記録および再生機能を備えた、OpenScriptプラットフォームの拡張モジュールです。DOMレコーダは、Webページのオブジェクト、アクションおよびナビゲーションを自動的に取得し、ツリー・ビュー・ノードとして(コード・ビューの基礎となるコードとともに)スクリプトに記録します。また、追加のGUIスクリプト修正オプションも提供されています。Web機能テスト・スクリプトはHTTPスクリプトとは異なります。Webアプリケーションのテストには両方が使用されますが、HTTPスクリプトは基礎となるHTTPネットワーク・プロトコルを自動化するのに対し、Web機能テスト・スクリプトはブラウザUIを自動化します。

Web機能テスト・モジュールはOracle OpenScriptプラットフォームの拡張モジュールであり、Web機能テストの記録および再生機能でプラットフォームを拡張します。Web機能テスト・モジュールは、結果ビュー、詳細ビュー、プロパティ・ビュー、コンソール/問題の各ビュー、詳細設定、ステップ・グループ、スクリプト・マネージャ、ワークスペース・マネージャなどのOpenScriptプラットフォームと完全に統合されています。

Web機能テスト・レコーダでは、コマンドがツリー・ビューにわかりやすいコマンドで表示されます。デフォルトでは、スクリプト・コマンドが、実行されたWebページごとにステップ・グループに分類されます。各ステップ・グループには、ページで実行されて記録されたアクションに対応する1つ以上のスクリプト・コマンドが含まれています。ステップ・グループのデフォルト名は、Webページのタイトル(Titleタグで指定されています)です。

OpenScriptによって、Web機能テスト・スクリプトの再生結果が結果ビューに表示されます。結果ビューには各スクリプト・コマンドの結果が表示されます(経過時間や失敗のサマリーを含む)。結果レポートは同じ情報をHTMLフォーマットの結果レポートにコンパイルします。結果をOpenScript GUIから標準フォーマット(CSV / HTML)でエクスポートすることもできます。また、コマンドラインを通じた自動再生によっても結果は生成されます。

Web機能テスト・モジュールAPIには、追加のプログラミング機能を提供する"Web"クラスが含まれています。

5.1.1 Web機能テスト・モジュールの主な機能

Web機能テスト・モジュールには、次の機能があります。

  • ドキュメント・オブジェクト・モデル・オブジェクトおよびアクションを記録し、再生を自動化します。オブジェクトとアクションは、Webブラウザ(IEまたはFirefox)で生成できます。

  • 機能テスト・スクリプトを再生して機能が適切かどうかを検証します。再生は、OpenScriptユーザー・インタフェースでインタラクティブに実行され、Oracle Test Managerでもサポートされます。

  • 統合された完全なスクリプト・コード・ビューが提供されており、Web機能テスト・モジュールのスクリプトを生成できます。Web機能テスト・モジュールには追加のAPIが含まれており、Web機能テスト・プロトコルのコード・スクリプティングがサポートされています。

  • ユーザーは、機能テスト・スクリプトへのユーザー入力をパラメータ化し、その入力データを外部データファイル(データバンク)から取り込むことができます。

  • ユーザーは、オブジェクトおよびアクションを検証するためのテスト・ケースを挿入できます。

  • 詳細設定インタフェースの機能テスト・カテゴリに含まれる機能テスト・スクリプトに固有の追加オプション/設定項目が提供されています。

  • 機能テスト・スクリプトの再生結果を結果ビューおよびコンソール・ビューでレポートします。

5.2 Web機能テストの記録

Web機能テスト・モジュールでは、ドキュメント・オブジェクト・モデル・オブジェクトおよびアクションを自動再生できるようにWebブラウザに記録します。レコーダでは、ブラウザでGUIアプリケーションを自動化する機能テストおよび回帰テストのスクリプトが作成されます。

OpenScriptにより、標準のWeb DOMオブジェクト(リンク、イメージ、フォーム、フォーム要素など)およびイベント(クリック、マウスダウン、フォーカスなど)が、再生用に記録されます。Web DOMオブジェクトは、「オブジェクトの識別」の下にあるWeb機能テストの記録詳細設定で構成されている1つ以上の属性で識別されます。オブジェクト識別属性は、ツリー・ビューまたはコード・ビューで、新規スクリプトまたは記録済コマンドの詳細設定のグローバル設定を使用して後から変更できます。すべてのWeb DOMオブジェクト、イベントおよび属性がサポートされます。記録は、Internet ExplorerまたはFirefoxで設定できます。ブラウザ・タイプは詳細設定で設定できます。

Web機能テスト・モジュールには記録ツールバー・ボタンがあり、この機能を使用してWeb DOMレコーダの起動およびスクリプト・ビューへのWebページ・アクションの取得を実行できます。記録ツールバーには、記録の開始および停止のツールバー・ボタンがあります。OpenScriptレコーダでは、記録中にブラウザとOpenScriptを切り替えることなく使用できるフローティング・ツールバーも開きます。

5.2.1 Web機能テストの記録詳細設定の設定

Web機能テスト・スクリプトを記録する前に、Web記録の詳細を設定します。

  1. OpenScriptを起動します。

  2. 「ビュー」メニューから「OpenScript 詳細設定」を選択します。

  3. 「OpenScript」ノード配下の「記録」カテゴリを開きます。

  4. 「Web機能テスト」を選択します。

  5. タブをクリックして、詳細を設定します。記録詳細設定の説明は、2.5.7項「Web機能テストの詳細設定」を参照してください。

  6. 完了後、「OK」をクリックします。

5.2.2 オブジェクト識別子の追加/編集

Web機能モジュールでは、オブジェクト識別を使用して、Webオブジェクトの識別に使用する属性を指定します。Web機能テスト・モジュールには、共通のWebオブジェクトに対する事前定義のパス属性が含まれます。オブジェクトパスはXPathの書式で指定されます。たとえば、Webオブジェクトの場合、オブジェクト識別パスは次のようなJavaコードのコマンドで指定されます。

/web:window[@index='0']
   /web:document[@index='0']
   /web:form[@index='0']
   /web:input_text[@id='ticker' or @name='ticker' or @index='0']

Web機能テスト・モジュールの記録詳細設定でデフォルトのオブジェクト属性を設定できます。また、ツリー・ビューやコード・ビューで、記録済スクリプト内のオブジェクト属性を編集できます。

事前定義済のオブジェクト識別の他にも、オブジェクト・ライブラリをスクリプトに追加して、ライブラリ・ファイルにパスを記録できます。オブジェクト・ライブラリ・ファイルは、その他のスクリプトによって共有および再利用されます。オブジェクト・ライブラリ・ファイルによって、より便利なオブジェクトの「省略名」が提供されるため、プログラミングが容易になります。詳細は、5.5項「オブジェクト・ライブラリの編集」および5.4.4項「スクリプトへのオブジェクト・ライブラリの追加」を参照してください。

Web機能テスト・モジュールには、レコーダがブラウザ・オブジェクトを識別する方法を指定するオブジェクト識別子が含まれます。記録の詳細設定で、オブジェクト識別子を追加することも、既存のオブジェクト識別子を編集することもできます。

オブジェクト識別子を追加または編集するには、次のようにします。

  1. 「ビュー」メニューから「OpenScript 詳細設定」を選択します。

  2. 「記録」ノードを開き、「Web 機能テスト」を選択します。

  3. 「オブジェクト識別」タブをクリックします。

  4. 「追加」をクリックするか、既存のオブジェクト識別子を選択して「編集」をクリックします。

    「オブジェクト要素」ダイアログ・ボックスでは、Web機能テスト・レコーダのオブジェクト識別子を定義できます。オブジェクト識別子により、OpenScript Web機能テスト・レコーダ・モジュールがWebページ上のドキュメント・オブジェクト・モデル内のWebオブジェクトを識別する方法が指定されます。

    アクティブ プロファイル: スクリプトを記録する際にアクティブ・プロファイルとして使用するオブジェクト識別プロファイルを指定します。プロファイルで、Web機能テストを記録するときに使用する一連のオブジェクト識別子が定義されます。新しいカスタム・プロファイルの作成には、「プロファイルの追加」オプションを使用します。プロファイルを作成したら、「名称」カラムでプロファイル名を選択し、「オブジェクトの追加」を使用してカスタム・プロファイルにカスタム・オブジェクトと属性を定義します。

    名称: 定義済のWebオブジェクト識別子の名前を表示します。

    属性: 定義済のWebオブジェクト識別子に対して指定されているパターンを表示します。

    プロファイルの追加: 新しいWebオブジェクト識別子プロファイルを指定するダイアログ・ボックスが開きます。

    オブジェクトの追加: 新規Webオブジェクト識別子を指定するためのダイアログ・ボックスが開きます。

    編集: 選択したWebオブジェクト識別子またはプロファイルを編集するためのダイアログ・ボックスが開きます。

    削除: 選択したWebオブジェクト識別子またはプロファイルを削除します。デフォルトのプロファイルは削除できません。

    エクスポート: 現在選択されているWebオブジェクト識別子プロファイルをXMLファイルにエクスポートするダイアログ・ボックスが開きます。「名称」カラムでプロファイル名を選択すると、エクスポート・オプションが有効になります。

    インポート: 現在選択されているWebオブジェクト識別子プロファイルをXMLファイルにインポートするダイアログ・ボックスが開きます。「名称」カラムでプロファイル名を選択すると、インポート・オプションが有効になります。

    元に戻す: デフォルトのWebオブジェクト識別プロファイルをデフォルト・プロファイルに戻します。デフォルト・プロファイルに対する変更はすべて削除されます。「名称」カラムでデフォルト・プロファイル名を選択すると、元に戻すオプションが有効になります。

    各オブジェクト要素について、名前(通常はWebオブジェクト属性)、オペレータ、値および値タイプを指定します。オブジェクト要素を追加すると、オブジェクト識別子の各要素間で論理ORを使用して、OpenScriptによりオブジェクト識別子が作成されます。論理ORとANDの間を変更するには、「編集」をクリックします。

  5. 新規オブジェクト識別子を追加する場合は、「オブジェクトの追加」をクリックし、オブジェクト識別子のパス・セグメントを指定します。

    「パス・セグメント」ダイアログ・ボックスでは、Web機能テスト・レコーダのオブジェクト識別子のセグメントを定義できます。オブジェクト識別子により、OpenScript Web機能テスト・レコーダ・モジュールがWebページ上のドキュメント・オブジェクト・モデル内のWebオブジェクトを識別する方法が指定されます。

    属性: 選択した場合、オブジェクト識別子の名前、オペレータ、値および値タイプを指定します。

    • 名称: オブジェクトの識別に使用するWebオブジェクト属性の名前を指定します。

    • オペレータ: オブジェクト値の識別に使用する論理オペレータを指定します。

    • : オブジェクトの識別に使用するWebオブジェクト属性の値を指定します。

    • タイプ: オブジェクトの識別に使用する値タイプを指定します。値タイプは、文字列、数値または変数参照にできます。「タイプ」を、指定した値に一致するように設定します。

      • 文字列: Webオブジェクトを識別するため、「値」フィールド内の値がテキスト文字列としてマッチングされます。

      • 数値: Webオブジェクトを識別するため、「値」フィールド内の値が数値としてマッチングされます。

      • 参照: Webオブジェクトを識別するため、「値」フィールド内の値が変数名としてマッチングされます。

    グループ: 選択すると、Webオブジェクト識別子を、名前、オペレータおよび値の論理グループを表す文字列として指定できます。

  6. 既存のセグメントを編集する場合は、「編集」をクリックし、オブジェクト識別子のパス属性を指定します。

    「パス属性」ダイアログ・ボックスでは、オブジェクト識別子の要素を編集できます。

    名称: オブジェクトの識別に使用するWebオブジェクト属性の名前を指定します。

    オペレータ: オブジェクト値の識別に使用する論理オペレータを指定します。

    : オブジェクトの識別に使用するWebオブジェクト属性の値を指定します。

    タイプ: オブジェクトの識別に使用する値タイプを指定します。値タイプは、文字列、数値または変数参照にできます。「タイプ」を、指定した値に一致するように設定します。

    • 文字列: Webオブジェクトを識別するため、「値」フィールド内の値がテキスト文字列としてマッチングされます。

    • 数値: Webオブジェクトを識別するため、「値」フィールド内の値が数値としてマッチングされます。

    • 参照: Webオブジェクトを識別するため、「値」フィールド内の値が変数名としてマッチングされます。

    および/または: オブジェクト要素間の論理ORまたはANDを指定します。編集しているオブジェクト要素がオブジェクト識別子グループ内の最後のオブジェクト要素である場合、このオプションは表示されません。

  7. 既存のパスを編集する場合は、「編集」をクリックし、オブジェクト識別子のパス属性を指定します。

    「パス属性グループ」ダイアログ・ボックスでは、オブジェクト識別子グループを文字列値として編集できます。

    グループ: オブジェクト識別子グループのテキスト文字列。オブジェクト識別子グループの構文は、@name operator value/typeの形式に従います。参照による値は、二重の中カッコ({{}})に囲まれます。文字列値は一重引用符に囲まれます。数値は囲まれません。論理ORまたはANDはオブジェクト要素間で使用されます。複数のオブジェクト要素の論理グループにはカッコが使用されます。オブジェクト識別子では、複数の文字に対してワイルドカード文字の*(アスタリスク)を、1つの文字に対して?(疑問符)を使用できます。たとえば、@text="Login*"のようになります。オブジェクト識別子グループの構文例を次に示します。

    @index={{index}} or @title='title' or @number=5
    
    @text={{text}} or @href={{href}} or @index={{index}}
    
    (@id={{id}} or @name={{name}} or @index={{index}}) and multiple mod {{multiple}}
    
  8. セグメントや属性の追加または編集が終わったら「OK」をクリックします。記録詳細設定にオブジェクト識別子が追加されます。

  9. オブジェクト識別子を追加または編集する際にブラウザが開いていた場合は、いったん閉じて再起動してください。

5.2.2.1 Web DOM要素で使用可能な属性

次の表に、Webドキュメント・オブジェクト・モデルのオブジェクトの使用可能な属性をリストします。

要素 属性
すべてのWeb DOM要素に共通する属性 tag、id、index、title、style、class、html、_adftrueval、rn、un、ot
web:window index、title
web:document index、url
web:a disabled、text、href
web:button type、name、value、disabled、text
web:input_button type、name、value、disabled、text
web:input_file type、name、value、index、disabled、size
web:input_hidden type、name、value、index、disabled
web:input_image type、name、disabled、alt、align、border、height、hspace、src、lowsrc
web:input_submit type、name、value、disabled、text
web:input_text type、name、value、defaultValue、disabled、maxlength、readOnly、size
web:input_check type、name、value、disabled、checked、defaultChecked、readOnly、size
web:input_radio type、name、value、disabled、checked、defaultChecked、readOnly、size
web:img alt、height、longdesc、name、src、width
web:option value、text、optionIndex(select内のindex)、defaultSelected、selected
web:select name、disabled、value、selectedIndex
web:textarea name、disabled、value、defaultValue、readonly、cols、rows

5.2.3 Web機能テスト・スクリプトの記録

Web機能テスト・スクリプトを記録するには、次のようにします。

  1. OpenScriptを起動します。

  2. Web機能テスト記録の詳細設定を設定します。

  3. 「ファイル」メニューから「新規」を選択します。

  4. 機能テスト・グループを開きます。

  5. 「Web」を選択します。

  6. 「次へ」をクリックします。

  7. リポジトリとワークスペースを選択します。

  8. スクリプト名を入力します。

  9. 「終了」をクリックします。新規スクリプト・ツリーがスクリプト・ビューに作成されます。

  10. 「スクリプト」メニューから「記録」を選択します。記録を開始すると、ブラウザが自動的に開きます。

  11. 記録を開始するWebページをブラウザにロードします。

  12. ページ・オブジェクト、アクションおよびナビゲーションを記録するWebサイトにアクセスします。ページ・オブジェクト、アクションおよびナビゲーションは、「記録セクション指定」設定で指定したスクリプト・ツリーのノード(デフォルトは「Run」ノード)に追加されます。

  13. ページのナビゲーションが終了したら、ブラウザを閉じてください。

  14. 「スクリプト」メニューから「停止」を選択するか、OpenScriptツールバーの「停止」ボタンをクリックします。

  15. スクリプトの「Run」ノードを開いて、スクリプト・ツリーのページ・オブジェクト、アクションおよびナビゲーションのノードを表示します。

    特定のテスト要件実現のために、メニュー・オプションまたはコード・ビューを使用してスクリプトをカスタマイズすることができます。


    注意:

    記録中またはスクリプトの再生中に、スクリプト・エディタ・ビューまたはスクリプト・プロジェクトを閉じないでください。閉じると、OpenScriptアプリケーションで予期しない動作が発生する場合があります。

5.3 スクリプトの再生

OpenScriptは、イベントと属性で識別されるオブジェクトから構成される、記録済のWebアクションおよびコマンドを再生します(例: click link(text="Home"))。再生に使用されるアクションは、記録されているアクションまたはJavaコード・ビューで手動で指定したアクションです。再生は、Internet ExplorerまたはFirefoxで設定できます。自動再生は、OpenScriptのコマンドライン・インタフェースを使用した、Oracle Test Managerまたはサード・パーティ・ツールによってサポートされます。Web機能テスト・スクリプトは、Oracle Load Testingでは再生されません。

Web機能テスト・モジュールには再生ツールバー・ボタンと反復ツールバー・ボタンがあり、ユーザーはこれらを使用してスクリプトの再生を開始することができます。再生は、スクリプトを通じて一度のみ行うか、データバンク・ファイルのデータを使用して何度も反復することが可能です。Web機能スクリプトの再生結果は、「結果」ビューと「コンソール」ビューで確認できます。

5.3.1 Web機能テストの再生詳細設定の設定

Web機能テストの再生詳細設定を設定するには、次のようにします。

  1. OpenScriptを起動します。

  2. 「ビュー」メニューから「OpenScript 詳細設定」を選択します。

  3. 「OpenScript」ノード配下の「再生」カテゴリを開きます。

  4. 「Web機能テスト」を選択します。

  5. グループを開いて、詳細を設定します。再生詳細設定の説明は、2.4.9項「Web機能テストの詳細設定」を参照してください。

  6. 完了後、「OK」をクリックします。

5.3.2 Web機能スクリプトの再生

Web機能スクリプトを再生するには、次のようにします。

  1. OpenScriptを起動します。

  2. 再生するWeb機能スクリプトを開きます。

  3. 「スクリプト」メニューの「再生」を選択するか、ツールバーのボタンをクリックします。

    コンソール・ビューでスクリプト再生の進捗状況を確認できます。結果ビューでスクリプト再生の結果を確認できます。

5.3.3 Web機能スクリプトの反復再生

Web機能スクリプトを反復再生するには、次のようにします。

  1. OpenScriptを起動します。

  2. 再生するWeb機能スクリプトを開きます。

  3. 「スクリプト」メニューから「反復」を選択するか、ツールバー・ボタンをクリックします。

  4. 「データバンクの使用」を選択します。

  5. スクリプトに複数のデータベースが設定されている場合には、設定を指定するデータバンク・ファイルを選択します。

  6. データバンク・ファイルの設定を指定します。

  7. 再生を停止する反復数のオプションを選択し、任意の再生の反復回数を指定します。反復設定の詳細は、4.2.4項「スクリプトの反復再生」を参照してください。

  8. 「OK」をクリックします。

    コンソール・ビューでスクリプト再生の進捗状況を確認できます。結果ビューでスクリプト再生の結果を確認できます。

5.4 スクリプトの変更

スクリプトを作成あるいは記録したら、テスト上の必要に応じてスクリプトに変更を加え、カスタマイズすることができます。

5.4.1 パス・エディタ・ツールバー

テストの追加に使用するいくつかのダイアログ・ボックスでは、オブジェクト・パスの編集に共通のツールバーを使用します。オブジェクト識別パスの追加と編集については、5.2.2項「オブジェクト識別子の追加/編集」を参照してください。ツールバーのオプションは次のとおりです。

パス/ウィンドウ: テストするオブジェクトへのパスを指定します。オブジェクト・パスのツールバーで使用できるオプションは、次のとおりです。

  • ツリー/テキスト表示切替: ツリー・ビューとテキスト・ビューの間でパスを切り替えます。ツリー・ビューでは、ツールバーを使用してオブジェクト・パスのセグメントを追加、編集、削除でき、「上へ」と「下へ」の矢印を使用してオブジェクト・パスのセグメントを並べ替えることもできます。テキスト・ビューでは、テキスト・ボックスで直接オブジェクト・パスを編集できます。

  • 追加: オブジェクト・パスに新しいパス・セグメントを追加するダイアログ・ボックスが開きます。このツールバー・ボタンを使用できるのは、パスがツリー・ビューのときのみです。

  • 編集: オブジェクト・パスで現在選択されているパス・セグメントの属性を編集するダイアログ・ボックスが開きます。このツールバー・ボタンを使用できるのは、パスがツリー・ビューのときのみです。

  • 削除: 現在選択されているパス・セグメントをオブジェクト・パスから削除します。このツールバー・ボタンを使用できるのは、パスがツリー・ビューのときのみです。

  • 上へ: 現在選択されているパス・セグメントをツリーで1レベル上に移動します。このツールバー・ボタンを使用できるのは、パスがツリー・ビューであり、選択されているパス・セグメントが最上位のセグメントではない場合のみです。

  • 下へ: 現在選択されているパス・セグメントをツリーで1レベル下に移動します。このツールバー・ボタンを使用できるのは、パスがツリー・ビューであり、選択されているパス・セグメントが最下位のセグメントではない場合のみです。

  • ブラウザ中のオブジェクトをキャプチャ: オブジェクトをキャプチャするダイアログ・ボックスが開き、キャプチャ・モードが開始されます。キャプチャするオブジェクトに移動し、キャプチャ・ダイアログ・ボックス内のオプションを使用してオブジェクト・パスをキャプチャします。

  • オブジェクト ライブラリからオブジェクト パスを参照: 現在選択されているオブジェクト・パスのツリー・ビューとテキスト・ビューを両方表示するダイアログ・ボックスが開きます。

  • オブジェクト ライブラリから選択: 保存済ライブラリからオブジェクトを選択するためのダイアログ・ボックスが開きます。

  • オブジェクト ライブラリに保存: 現在のオブジェクトをライブラリに保存するためのダイアログ・ボックスが開きます。

5.4.2 スクリプトへのブラウザ・ナビゲーションの追加

スクリプトにブラウザ・ナビゲーションを追加するには、次のようにします。

  1. Web機能テスト・スクリプトを記録します。

  2. ナビゲーションを追加するスクリプト・ノードを選択します。

  3. 「スクリプト」メニューを選択した後、「追加」サブメニューから「その他」を選択します。

  4. 「Webアクション」ノードを開きます。

  5. 「ブラウザ」ノードを開き、「ナビゲート」を選択します。

  6. 「OK」をクリックします。

  7. オブジェクトに対するオブジェクト識別パスを入力します。「キャプチャ」または「選択」メニュー・オプションを使用して、オブジェクト・パスを取得または選択できます。パス編集ツールバーの詳細は、5.4.1項「パス・エディタ・ツールバー」を参照してください。

  8. URLを入力します。

  9. 「OK」をクリックします。ナビゲート・ノードがスクリプト・ツリーに追加されます。

    Javaコード・ビューでは、web.window(objectId).navigateメソッドがスクリプト・コードに追加されます。

    web.window(1, "/web:window[@index='0']").navigate("http://testserver2/fmstocks");
    

    ブラウザのWebアクションには、ブラウザ・ナビゲーションのその他のオプション(戻る、進む、閉じる、リフレッシュ、ページ待機など)が含まれます。その他のブラウザ・アクションには、対応するJavaコード・メソッドがあります。

    web.window(1, "/web:window[@index='0']").waitForPage("http://testserver2/fmstocks/", "Stocks", true, null)
    web.window("/web:window[@index='0']").close();
    web.window("/web:window[@index='0']").back();
    web.window("/web:window[@index='0']").forward();
    web.window("/web:window[@index='0']").refresh();
    web.window("/web:window[@index='0']").capturePage();
    web.window("/web:window[@index='0']").solve("MyVariable", "(.+?)", true, 1);
    web.window("/web:window[@index='0']").storeResponseTime("MyRespTime");
    web.window("/web:window[@index='0']").waitFor(10);
    web.window("/web:window[@index='0']").storeAttribute("MyAttribVar", "MyAttribute");
    

5.4.3 ブラウザ・オブジェクトのWebアクションの追加

Web機能テスト・モジュールにはブラウザ・オブジェクト用のアクションが含まれており、これをスクリプトに追加できます。

ブラウザ・オブジェクトのWebアクションをスクリプトに追加するには、次のようにします。

  1. Web機能テスト・スクリプトを記録します。

  2. アクションを追加するスクリプト・ノードを選択します。

  3. 「スクリプト」メニューを選択した後、「追加」サブメニューから「その他」を選択します。

  4. 「Webアクション」ノードを開きます。

  5. アクション・ノードを開いてアクションを選択します。

  6. 「OK」をクリックします。

  7. オブジェクトに対するオブジェクト識別パスを入力します。「キャプチャ」または「選択」メニュー・オプションを使用して、オブジェクト・パスを取得または選択できます。パス編集ツールバーの詳細は、5.4.1項「パス・エディタ・ツールバー」を参照してください。

  8. 「OK」をクリックします。アクション・ノードがスクリプト・ツリーに追加されます。

    Javaコード・ビューでは、web.object(objectId).action()メソッドが次のようにスクリプト・コードに追加されます。

    web.button("/web:window[@index='0']
       /web:document[@index='0']
       /web:form[@index='0' 
         or @id='loginform' 
         or @name='loginform']
       /web:input_submit[@name='LoginButton' 
         or @value='Login' 
         or @index='0']").click()
    

    「Webアクション」ノードには、ボタン、チェックボックス、ダイアログ、イメージ、リンク、テーブルなどのオブジェクトのアクションが含まれています。その他のオブジェクト・アクションには、対応するJavaコード・メソッドがあります。

    web.link("/web:window[@index='0']
       /web:document[@index='0']
       /web:a[@text='Open a new account.' 
         or @href='http://testserver2/fmstocks/_NewAccount.asp' 
         or @index='0']").click()
    

    または

    web.select("/web:window[@index='0']
       /web:document[@index='0']
       /web:form[@index='0']
       /web:select[(@id='namespace' 
         or @name='namespace' 
         or @index='0') 
         and multiple mod 'False']").selectOptionByText("[select product]");
    

    または

    web.clearSessionCookies();
    web.clearAllPersistentCookies();
    web.clearPersistentCookies("domain");
    web.clearCache("domain");
    

5.4.4 スクリプトへのオブジェクト・ライブラリの追加

スクリプトにオブジェクト・ライブラリを追加するには、次のようにします。

  1. Web機能テスト・スクリプト・プロジェクトを開くか、作成します。

  2. 「スクリプト」メニューを選択した後、「スクリプト プロパティ」を選択します。

  3. 「スクリプト アセット」カテゴリを選択して、「オブジェクト ライブラリ」を選択します。

  4. 「追加」をクリックします。

  5. ライブラリ・ファイルと別名を指定します。

    • オブジェクト・ライブラリ・ファイルをすでに作成してある場合は、リポジトリでファイルを選択します。


      注意:

      Oracle Load Testingアプリケーションで実行予定のスクリプトはすべて、関連するアセットとともに、Oracle Load Testing Controllerによるアクセスが可能なリポジトリ/ワークスペース内に保存する必要があります。OpenScriptでリポジトリを新規作成する場合は、新規のリポジトリをOracle Load Testingで追加する必要もあります。

    • ライブラリ・ファイルを作成していない場合は、ファイル名を入力して「OK」をクリックします。新規ファイルが作成されます。Web機能テスト・スクリプトの記録の際、ブラウザのアクションがオブジェクト・ライブラリ・ファイルに自動的に追加されます。

  6. 「OK」をクリックします。オブジェクト・ライブラリ・ファイルが、「オブジェクト ライブラリ」ツリーの下にスクリプト・テスト・アセットとして追加されます。スクリプト・テスト・アセットは、リポジトリのスクリプト・ディレクトリにあるassets.xmlファイルで参照されます。

  7. 「OK」をクリックします。

  8. オブジェクト・ライブラリを使用するため、Web機能テスト・スクリプトを記録します。

    記録の際、ブラウザ・オブジェクトのオブジェクト識別パスが、オブジェクト・ライブラリ・ファイルに自動的に追加されます。オブジェクト・ライブラリ・ファイルは、オブジェクト・ライブラリ・エディタを使用して開き、編集できます。「ファイル」メニューから「オブジェクト ライブラリを開く」を選択し、オブジェクト・ライブラリの.propertiesファイルを選択して「開く」をクリックします。ワークベンチに「オブジェクト ライブラリ」エディタ・ビューが開き、選択したオブジェクト・ライブラリに含まれるオブジェクトと詳細が表示されます。「オブジェクト」リストに対するオブジェクトの追加および削除ができます。オブジェクト文字列で、または「詳細」セクションのツリー階層で、オブジェクト属性を編集します。ツリー階層では属性の優先順位を上または下に移動できます。

  9. 終了時にオブジェクト・ライブラリとスクリプトを保存します。

5.4.5 サーバー・レスポンス・テストの追加

サーバー・レスポンス・テストを使用して、指定の時間範囲内にWebページがクライアントに返されない場合に、エラーのレポートまたはスクリプト再生の中止(あるいはその両方)を行うことができます。

サーバー・レスポンス・テストをスクリプトに追加するには、次のようにします。

  1. Web機能テスト・スクリプトを記録します。

  2. 「Run」ノードを開きます。

  3. サーバー・レスポンス・テストを追加するスクリプト・ノードを選択します。

  4. 「スクリプト」メニューを選択した後、「追加」サブメニューから「その他」を選択します。

  5. 「Web テスト」グループを開きます。

  6. 「サーバー レスポンス テスト」を選択して「OK」をクリックします。

  7. ウィンドウに対するオブジェクト識別パスを入力します。「キャプチャ」または「選択」メニュー・オプションを使用して、オブジェクト・パスを取得または選択できます。パス編集ツールバーの詳細は、5.4.1項「パス・エディタ・ツールバー」を参照してください。

  8. テストの名前を入力します。

  9. 時間の最小値と最大値を入力します。

  10. 「検証のみ、失敗なし」オプションを設定します。

  11. 「OK」をクリックして、サーバー・レスポンス・ノードをスクリプト・ツリーに追加します。

    Javaコード・ビューでは、サーバー・レスポンス・テストは、web.window(objectId).verifyResponseTime()またはweb.window(objectId).assertResponseTime()メソッドで実行されるコードから構成されます。

    web.window("/web:window[@index='0']").verifyResponseTime("MyserverResp", 10.0, 20.0);
    

    または

    web.window("/web:window[@index='0']").assertResponseTime("MyserverResp2", 10.0, 50.0);
    
    
    

    前述のコード例で、verifyは"失敗時に停止しない"ことを意味し、assertは"失敗時に停止する"ことを意味します。

5.4.6 スクリプトへのテキスト・マッチング・テストの追加

テキスト・マッチング・テストをスクリプトに追加するには、次のようにします。

  1. Web機能テスト・スクリプト・プロジェクトを開くか、作成します。

  2. テキスト・マッチング・テストを追加するスクリプト・ノードを選択します。

  3. 「スクリプト」メニューを選択した後、「追加」サブメニューから「その他」を選択します。

  4. 「Web テスト」ノードを開きます。

  5. 「テキスト マッチング テスト」を選択します。

  6. 「OK」をクリックします。

  7. 「参照先」の場所を選択します。

    すべてのブラウザ: 選択すると、テキスト・マッチング・テストでは、開いているすべてのブラウザで一致するテキストを検索します。

    指定ブラウザ: 選択すると、テキスト・マッチング・テストでは、「パス」で指定されているブラウザIDを使用して一致するテキストを検索します。

    指定ドキュメント: 選択すると、テキスト・マッチング・テストでは、「パス」内のオブジェクトIDで指定されているドキュメント内で一致するテキストを検索します。

  8. 「指定ブラウザ」または「指定ドキュメント」を選択した場合は、ブラウザ、ドキュメントまたはフレームのオブジェクト識別パスを「パス」に入力します。「キャプチャ」または「選択」ボタンを使用して、オブジェクト・パスを取得または選択できます。パス編集ツールバーの詳細は、5.4.1項「パス・エディタ・ツールバー」を参照してください。

  9. テストの名前を入力します。

  10. マッチングするテキスト文字列または正規表現を入力するか、「変数の置換」アイコンをクリックして、ソースで検索するデータバンクまたはスクリプト変数を選択します。


    注意:

    番号記号(#)および二重中カッコ({{および}})を含む文字シーケンスを、テキスト・マッチング・テストでリテラル文字列として使用する場合(OpenScriptデータバンクやスクリプト変数を指定する文字列でない場合)、直前に番号記号(#)を付けてエスケープする必要があります。たとえば、番号記号は二重(##)にして使用し、二重中カッコの直前には番号記号を付ける(#{{および#}})必要があります。

  11. 一致するテキストを検索するソースの場所を選択します。

    HTML 表示コンテンツ: ブラウザでレンダリングされたページのテキストを検索します。

    HTML ソース: ページのHTMLソースを検索します。

  12. 「合格条件」設定を選択します。

    選択したテキストが存在します: 選択したソースに「照合するテキスト」の文字列が見つかった場合は合格とします。

    選択したテキストが存在しません: 選択したソースに「照合するテキスト」の文字列が見つからない場合は合格とします。

  13. 「一致」タイプを選択します。

    完全: 「照合するテキスト」の文字列と完全にマッチングします。

    正規表現: 「照合するテキスト」で指定された正規表現を使用してマッチングします。

    ワイルドカード: 「照合するテキスト」で指定されたワイルドカード文字を使用してマッチングします。

  14. 「検証のみ、失敗なし」オプションを設定します。

  15. 「OK」をクリックします。「テキスト マッチング テスト」ノードがスクリプト・ツリーに追加されます。

    「検証のみ、失敗なし」オプションを選択していない場合、Javaコード・ビューでは、web.assertTextまたはweb.document(specifiedDoc).assertTextメソッドがスクリプト・コードに追加されます。

    web.assertText("MyTextMatchTest", "Home", TextPresence.PassIfPresent, MatchOption.Exact)
    
    web.document("Main").assertText("MyTextMatchTest2", "Home", TextPresence.PassIfPresent, MatchOption.RegEx);
    

    「検証のみ、失敗なし」オプションを選択している場合、Javaコード・ビューでは、web.verifyTextまたはweb.document(specifiedDoc).verifyTextメソッドがスクリプト・コードに追加されます。

    web.verifyText("MyTextMatchTest", "Home", TextPresence.PassIfPresent, MatchOption.Exact)
    
    web.document("Main").verifyText("MyTextMatchTest2", "Home", TextPresence.PassIfPresent, MatchOption.RegEx);
    

5.4.7 オブジェクト・テストの追加

Web機能テスト・モジュールにはブラウザ・オブジェクト用のオブジェクト・テスト・ケースが含まれており、これをスクリプトに追加できます。

オブジェクト・テストをスクリプトに追加するには、次のようにします。

  1. Web機能テスト・スクリプトを記録します。

  2. オブジェクト・テストを追加するスクリプト・ノードを選択します。

  3. 「スクリプト」メニューを選択した後、「追加」サブメニューから「その他」を選択します。

  4. 「Web テスト」ノードを開き、「オブジェクト テスト」を選択します。

  5. 「OK」をクリックします。

  6. 必要な場合には、「オブジェクト タイプ」を選択します。

  7. オブジェクトに対するオブジェクト識別パスを入力します。「キャプチャ」または「選択」メニュー・オプションを使用して、オブジェクト・パスを取得または選択できます。パス編集ツールバーの詳細は、5.4.1項「パス・エディタ・ツールバー」を参照してください。

  8. テスト名を入力します。

  9. 「検証のみ (失敗なし)」オプションを選択、または選択解除します。

  10. 属性/値ペアを選択し、テストの詳細を指定します。

    属性: 選択されたオブジェクトの属性を表示します。属性を選択してテストの詳細を指定します。

    • 属性: 属性の名前を表示します。選択すると、属性がオブジェクト・テストに含まれます。選択を解除すると、属性はオブジェクト・テストに含まれません。

    • : 選択されている「表示」オプションに応じて、属性の記録された値またはテスト条件が表示されます。

    • すべて有効: テスト条件に含めるすべてのプロパティを有効にします。

    • すべて無効: テスト条件に含めないすべてのプロパティを無効にします。

    • 行を追加: 新規行を表に追加します。

    • 表示: プロパティ・リストに表示する値を選択します。

      • テスト: 選択すると、各属性に定義されたテスト条件が「値」リストに表示されます。

      • 記録された値: 選択すると、各属性の記録された値が「値」リストに表示されます。

    テスト詳細: 選択した属性に対するテスト条件を指定します。

    • 記録された値: 属性の記録された値を表示します。

    • 有効: 選択すると、属性がオブジェクト・テストに含まれます。選択を解除すると、属性はオブジェクト・テストに含まれません。

    • タイプ: 属性のテスト条件として使用するデータ・タイプを指定します。「オペレータ」リストで使用可能なオプションは、テスト用に選択した値のタイプ(String、Boolean、Date、Numeric)によって異なります。

    • オペレータ: 再生テスト条件に使用するオペレータを指定します。オペレータのリストは、選択した値のタイプによって異なります。

      String値には次のオプションを使用できます。

      • 完全: スクリプトの再生時、テキストまたは属性値がテキスト文字列の現在の値と完全に一致する場合、テストはパスします。

      • ワイルドカード: スクリプトの再生時、テキストまたは属性値がLikeオペレータ・パターンの現在の値と一致する場合、テストはパスします。

      • 正規表現: スクリプトの再生時、テキストまたは属性値が正規表現パターンの現在の値と一致する場合、テストはパスします。

      NumericおよびDate値には次のオプションを使用できます。

      • [関係オペレータ]: 関係オペレータをリストします。スクリプトの再生時に使用する比較のタイプを選択します。"範囲"オペレータを選択した場合、オブジェクト・テストでは、範囲を指定するフィールドが追加されます。下限から上限の範囲を指定します。

      Boolean値には次のオプションを使用できます。

      • 次と等しい: スクリプトの再生時、テキストまたは属性値が、「値」フィールドに指定されたTrueまたはFalse値と一致する場合、テストはパスします。

    • : 属性のテスト条件に使用する値を指定します。

    • [変数の置換]: 属性のテスト条件に使用する値として置換するデータバンク変数を選択するためのウィンドウを開きます。

  11. テストでの必要に応じて、各属性/値ペアのテストの詳細を指定します。

  12. 「OK」をクリックします。オブジェクト・テスト・ノードがスクリプト・ツリーに追加されます。

    Javaコード・ビューでは、web.element(objectId).verifyAttributesメソッドがスクリプト・コードに追加されます。

    web.element(15, "/web:window[@index='0']
       /web:document[@index='0']
       /web:form[@index='0' 
         or @id='loginform' 
         or @name='loginform']
       /web:input_password[@name='password' or @index='0']").verifyAttributes(
         "MyObjectTest", web.attributes(
         web.attribute("index", "0", TestOperator.StringExact),
         web.attribute("tag", "INPUT", TestOperator.StringExact), 
         web.attribute("name", "password", TestOperator.StringExact), 
         web.attribute("value", "ta", TestOperator.StringExact), 
         web.attribute("type", "password", TestOperator.StringExact), 
         web.attribute("checked", "False", TestOperator.StringExact), 
         web.attribute("disabled", "False", TestOperator.StringExact)));
    

5.4.8 テーブル・テストの追加

Web機能テスト・モジュールにはHTML表用の表のテスト・ケースが含まれており、これをスクリプトに追加できます。

表テストをスクリプトに追加するには:

  1. Web機能テスト・スクリプトを記録します。

  2. 表テストを追加するスクリプト・ノードを選択します。

  3. 「スクリプト」メニューを選択した後、「追加」サブメニューから「その他」を選択します。

  4. 「Web テスト」ノードを開き、「テーブル テスト」を選択します。

  5. 「OK」をクリックします。

  6. 必要な場合には、「オブジェクト タイプ」を選択します。

  7. オブジェクトに対するオブジェクト識別パスを入力します。「キャプチャ」または「選択」メニュー・オプションを使用して、オブジェクト・パスを取得または選択できます。パス編集ツールバーの詳細は、5.4.1項「パス・エディタ・ツールバー」を参照してください。

  8. テスト名を入力します。

  9. 「検証のみ (失敗なし)」オプションを選択、または選択解除します。

  10. 行および列のセルを選択し、テストの詳細を指定します。

    テスト詳細: 各値に対して実行するテストを指定します。行および列のリストで値を選択し、その特定の値に対する詳細を設定します。

    • : 選択した表値の行番号を表示します。

    • : 選択した表値の列番号を表示します。

    • 有効: 選択すると、比較テストに表値が含まれます。

    • 記録された値: 選択した属性の記録済の値を表示します。

    • タイプ: 選択した値のデータ・タイプ(String、Numeric、DateまたはBoolean)を指定します。

    • オペレータ: 値の比較方法を指定します。「オペレータ」オプションは、選択した値タイプによって変わります。関係オペレータの場合、"範囲"オペレータを選択すると、数値または日付の範囲を指定するためのフィールドが追加されます。下限から上限の範囲を指定します。

    • : テストする値を指定します。

    • 変数の置換: テストする値として使用する変数を選択するためのダイアログ・ボックスが開きます。

  11. テストでの必要に応じて、各表セルのテストの詳細を指定します。

  12. 「OK」をクリックします。表テスト・ノードがスクリプト・ツリーに追加されます。

    「検証のみ、失敗なし」設定に応じて、Javaコード・ビューでは、web.table(objectId).assertCellsまたはweb.table(objectId).verifyCellsメソッドがスクリプト・コードに追加されます。

    web.table(24, "/web:window[@index='0']
       /web:document[@index='0']
       /web:table[@index='6']").verifyCells("MyTableTest", web.cells(
         web.cell(1, 1, "Ticker ", TestOperator.StringExact),
         web.cell(1, 2, "Company ", TestOperator.StringExact),
         web.cell(2, 1, "ORCL ", TestOperator.StringExact),
         web.cell(2, 2, "Oracle Corporation ", TestOperator.StringExact)))
    

    または

    web.table(24, "/web:window[@index='0']
       /web:document[@index='0']
       /web:table[@index='6']").assertCells("MyTableTest", web.cells(
         web.cell(1, 1, "Ticker ", TestOperator.StringExact),
         web.cell(1, 2, "Company ", TestOperator.StringExact),
         web.cell(2, 1, "ORCL ", TestOperator.StringExact),
         web.cell(2, 2, "Oracle Corporation ", TestOperator.StringExact)))
    

5.4.8.1 テーブルのイメージのテスト

テーブル・テストを使用すると、Webページ・テーブルに1つ以上のイメージが存在するかどうかをチェックするテストを作成できます。

テーブル・テストを使用してスクリプトにイメージ存在確認のテストを追加するには:

  1. 表に1つ以上のイメージがあるWebページ・テーブルを持つWeb機能テスト・スクリプトを記録します。

  2. イメージを含むWebページ・テーブルが表示されたら、「スクリプト」メニューを選択した後、「追加」サブメニューから「その他」を選択します。

  3. 「Web テスト」ノードを開き、「テーブル テスト」を選択します。

  4. 「OK」をクリックします。

  5. 「ブラウザ中のオブジェクトをキャプチャ」ツールバー・ボタンをクリックします。パス編集ツールバーの詳細は、5.4.1項「パス・エディタ・ツールバー」を参照してください。

  6. Webページ・テーブルのイメージを選択し、[F10]キーを押してオブジェクト・パスをキャプチャします。

  7. 「OK」をクリックします。「テーブル テスト」ダイアログ・ボックスが開き、「オブジェクト タイプ」としてweb.tableが選択されます。

  8. テスト名を入力します。

  9. 「検証のみ (失敗なし)」オプションを選択、または選択解除します。

  10. テーブルのセルを選択し、テストの詳細を指定します。テーブル・テストでは、イメージの存在をテストするために、SRC=http://path/imageNameというテキストが使用されます。

  11. テストでの必要に応じて、各表セルのテストの詳細を指定します。イメージの場合、値にイメージ・ファイルのパスと名前を指定します。Webページのソースによっては、テーブルの他のテーブル・セル値も追加できます。

  12. 「OK」をクリックします。表テスト・ノードがスクリプト・ツリーに追加されます。

    「検証のみ、失敗なし」設定に応じて、Javaコード・ビューでは、web.table(objectId).assertCellsまたはweb.table(objectId).verifyCellsメソッドがスクリプト・コードに追加されます。

    web.table(7,"/web:window[@index='0' or @title='MyImageTable']
     /web:document[@index='0']
     /web:table[@firstTableCell='http://my.com/img1.gif' or @index='28']")
     .verifyCells("ImageTableTest",
       web.cells(web.cell(1, 1,"http://my.com/img2.gif", TestOperator.StringExact),
        web.cell(2, 1, "http://my.com/img3.gif", TestOperator.StringExact),
        web.cell(3, 1, "http://my.com/img4.gif", TestOperator.StringExact),
        web.cell(4 ,1, "http://my.com/img5.gif", TestOperator.StringExact)));
    

    または

    web.table(7,"/web:window[@index='0' or @title='MyImageTable']
     /web:document[@index='0']
     /web:table[@firstTableCell='http://my.com/img1.gif' or @index='28']")
     .assertCells("ImageTableTest",
       web.cells(web.cell(1, 1,"http://my.com/img2.gif", TestOperator.StringExact),
        web.cell(2, 1, "http://my.com/img3.gif", TestOperator.StringExact),
        web.cell(3, 1, "http://my.com/img4.gif", TestOperator.StringExact),
        web.cell(4 ,1, "http://my.com/img5.gif", TestOperator.StringExact)));
    
  13. 記録が終了したら、「停止」ツールバー・ボタンをクリックします。

5.4.9 ページ・タイトル・テストの追加

ページ・タイトル・テストを使用して、Webページが所定のタイトルのページをクライアントに返さない場合に、ページ・タイトル・エラーのレポートまたはスクリプト再生の中止(あるいはその両方)を行うことができます。ページ・タイトル・テストでは、記録されたページ・タイトルが、スクリプトの再生時に受信されるタイトルと比較されます。

タイトル・テストをスクリプトに追加するには、次のようにします。

  1. Web機能テスト・スクリプトを記録します。

  2. 「Run」ノードを開きます。

  3. ページ・タイトル・テストを追加するスクリプト・ノードを選択します。「WaitForPage」ノードを選択すると、オブジェクト識別パスIDが自動的にテストに追加されます。

  4. 「スクリプト」メニューを選択した後、「追加」サブメニューから「その他」を選択します。

  5. 「Web テスト」グループを開き、「タイトル テスト」を選択します。

  6. 「OK」をクリックします。

  7. 「追加先」オプションを選択します。

    • 指定ページ: 選択すると、スクリプトの特定の、または現在選択されているページにページ・タイトル・テストが追加されます。

    • スクリプト中のすべてのページ: 選択すると、再生時に比較するタイトルとして記録されているページを指定するスクリプトの、各ページにページ・タイトル・テストが追加されます。

  8. オブジェクトに対するオブジェクト識別パスを入力します。「キャプチャ」または「選択」メニュー・オプションを使用して、オブジェクト・パスを取得または選択できます。パス編集ツールバーの詳細は、5.4.1項「パス・エディタ・ツールバー」を参照してください。

  9. テストの名前を入力します。

  10. ページ・タイトルを入力します。「WaitForPage」ノードを選択した場合、ページ・タイトルが自動的にテストに追加されます。

  11. 「検証のみ、失敗なし」オプションを設定します。

  12. 「OK」をクリックしてページ・タイトル・テスト・ノードをスクリプト・ツリーに追加します。

    Javaコード・ビューでは、ページ・タイトル・テストは、web.window(objectId).verifyTitle()またはweb.window(objectId).assertTitle()メソッドで実行されるコードから構成されます。

    web.window("/web:window[@index='0' or @title='Stocks']") 
      .verifyTitle("MyTitleTest", "Home");
    

    または

    web.window("/web:window[@index='0' or @title='Stocks']") 
      .assertTitle("MyTitleTest2", "Home");
    
    
    

    前述のコード例で、verifyは"失敗時に停止しない"ことを意味し、assertは"失敗時に停止する"ことを意味します。

5.4.10 HTMLテストの追加

HTMLテストを使用して、Webページが所定のHTMLのページをクライアントに返さない場合に、HTMLエラーのレポートまたはスクリプト再生の中止(あるいはその両方)を行うことができます。HTMLテストでは、記録されたHTMLが、スクリプトの再生時に受信されるHTMLと比較されます。

HTMLテストをスクリプトに追加するには、次のようにします。

  1. Web機能テスト・スクリプトを記録します。

  2. 「Run」ノードを開きます。

  3. HTMLテストを追加するスクリプト・ノードを選択します。「WaitForPage」ノードを選択すると、オブジェクト識別パスIDが自動的にテストに追加されます。

  4. 「スクリプト」メニューを選択した後、「追加」サブメニューから「その他」を選択します。

  5. 「Web テスト」グループを開き、「HTML テスト」を選択します。

  6. 「OK」をクリックします。

  7. 「追加先」オプションを選択します。

    • 特定のドキュメント: 選択すると、スクリプトの特定の、または現在選択されているHTMLドキュメントにHTMLテストが追加されます。

    • スクリプトのすべてのドキュメント: 選択すると、スクリプトの各HTMLドキュメントにHTMLテストが追加されます。

  8. オブジェクトに対するオブジェクト識別パスを入力します。「キャプチャ」または「選択」メニュー・オプションを使用して、オブジェクト・パスを取得または選択できます。パス編集ツールバーの詳細は、5.4.1項「パス・エディタ・ツールバー」を参照してください。

  9. テストの名前を入力します。

  10. 「検証のみ、失敗なし」オプションを設定します。

  11. 「OK」をクリックしてHTMLテスト・ノードをスクリプト・ツリーに追加します。

    Javaコード・ビューでは、HTMLテストは、web.document(objectId).verifyHTML()またはweb.document(objectId).assertHTML()メソッドで実行されるコードから構成されます。

    web.document("/web:window[@index='0' or @title='Stocks']
      /web:document[@index='0']") 
       .verifyHTML("MyHTMLTest","e6306c5cf8f6697d9ba7bb2110888a50");
    

    または

    web.document("/web:window[@index='0' or @title='Stocks']
      /web:document[@index='0']") 
       .assertHTML("MyHTMLTest2","e6306c5cf8f6697d9ba7bb2110888a50");
    
    
    

    前述のコード例で、verifyは"失敗時に停止しない"ことを意味し、assertは"失敗時に停止する"ことを意味します。

HTMLテストが再生時に失敗した場合、「結果」ビューでHTMLテスト結果を選択し、「詳細」ビューの「比較」タブで差異を表示できます。

5.4.11 XMLテストの追加

XMLテストを使用して、XMLファイルが所定のXMLのファイルをクライアントに返さない場合に、XMLエラーのレポートまたはスクリプトの中止(あるいはその両方)を行うことができます。XMLテストでは、記録されたXMLが、スクリプトの再生時に受信されるXMLと比較されます。

XMLテストをスクリプトに追加するには、次のようにします。

  1. Web機能テスト・スクリプトを記録します。

  2. XMLファイルのURLに移動します。

  3. 「Run」ノードを開きます。

  4. XMLテストを追加するスクリプト・ノードを選択します。「WaitForPage」ノードを選択すると、スクリーンショットの「XML」、「XML ツリー」および「DOM ツリー」のタブを使用して、「詳細」ビューにあるファイルが表示されます。「XML」タブでは、XMLファイルのコンテンツが表示されます。「XML ツリー」タブでは、各ノードの属性および要素をとともに、ツリー・フォーマットでXMLファイルのコンテンツが表示されます。「DOM ツリー」タブでは、XMLのHTML表現が表示されます。

  5. 「スクリプト」メニューを選択した後、「追加」サブメニューから「その他」を選択します。

  6. 「Web テスト」グループを開き、「XML テスト」を選択します。

  7. 「OK」をクリックします。

  8. テストの名前を入力します。

  9. 「検証のみ、失敗なし」オプションを設定します。

  10. 必要な場合には、「オブジェクト タイプ」(web.XMLDocument)を選択します。

  11. ウィンドウ・パスを入力します。「キャプチャ」または「選択」メニュー・オプションを使用して、オブジェクト・パスを取得または選択できます。パス編集ツールバーの詳細は、5.4.1項「パス・エディタ・ツールバー」を参照してください。

  12. XMLツリーでテストするXMLノードを選択し、チェック・ボックスを選択または選択解除することによって、ノードのテストを有効または無効にします。XMLツリーには次のナビゲーション・ツールバー・オプションがあります。

    • フィルタ無効アイテム: 「XMLテスト」ダイアログ・ボックスで、選択されていないアイテムをビューから消去します。

    • 次の有効ノード: 選択ポインタを、XMLツリー内の次の有効ノードに移動します。

    • 前の有効ノード: 選択ポインタを、XMLツリー内の前の有効ノードに移動します。

  13. テストするXMLノードを選択し、選択した各XMLノードの「テスト」属性を選択します。

    テスト: 選択されたXMLノードの属性を表示します。属性を選択してテストの詳細を指定します。

    • 属性: 属性の名前を表示します。選択すると、属性がXMLテストに含まれます。選択を解除すると、属性はXMLテストに含まれません。

    • 期待値: 選択されている「表示」オプションに応じて、属性の記録された値またはテスト条件が表示されます。

    • すべて有効化: すべてを有効にするXMLのタイプや属性を選択するためのメニューを開きます。

    • すべて無効化: すべてを無効にするXMLのタイプや属性を選択するためのメニューを開きます。

    • 表示: 「テスト詳細」セクションに表示する値を選択します。

      • テスト: 選択すると、各属性に定義されたテスト条件が「値」リストに表示されます。

      • 記録された値: 選択すると、各属性の記録された値が「値」リストに表示されます。

  14. 必要な場合には、「テスト詳細」セクションを開き、選択したXMLノードの詳細を編集します。

    テスト詳細: ツリー内のXMLノードを選択するためのテスト詳細を指定します。

    • 記録された値: 選択したXMLノードの記録された値を表示します。

    • 属性: 選択したXMLノードの属性名を表示します。

    • タイプ: 選択したXMLノードのデータ値タイプを指定します。

    • オペレータ: 選択したXMLノードに使用するテスト・オペレータを指定します。

    • 期待値: 選択したXMLノードの記録された値と比較する値を指定します。

  15. 「OK」をクリックしてXMLテスト・ノードをスクリプト・ツリーに追加します。

    Javaコード・ビューでは、XMLテストは、web.xmlDocument(objectId).verifyXML()またはweb.xmlDocument(objectId).assertXML()メソッドで実行されるコードから構成されます。

    web.xmlDocument(5, "/web:window[@index='0' or 
      @title='http://myServer/myFile.xml']
      "/web:document[@index='0']")
      .verifyXML("XMLTest", web.nodeTests());
    

    または

    web.xmlDocument(5, "path").verifyXML("testXML",
      web.nodeTests(web.node("/root").attrCountTest("0", TestOperator.IntEqual),
       web.node("/root").childCountTest("2", TestOperator.IntEqual), 
       web.node("/root/testNode[2]").attrTest("id", "testNode2",
         TestOperator.StringExact), 
       web.node("/root/testNode[2]").attrCountTest("1", TestOperator.IntEqual), 
       web.node("/root/testNode[2]").childCountTest("2", TestOperator.IntEqual), 
       web.node("/root/testNode[2]/testSubNode[1]").attrTest("id","testSubNode1", 
         TestOperator.StringExact),
       web.node("/root/testNode[2]/testSubNode[1]").attrCountTest("1", 
         TestOperator.IntEqual), 
       web.node("/root/testNode[2]/testSubNode[1]");.childCountTest("0", 
         TestOperator.IntEqual)));
    

    または

    web.xmlDocument(5, "/web:window[@index='0' or 
      @title='http://myServer/myFile.xml']
      "/web:document[@index='0']")
      .assertXML("XMLTest", web.nodeTests());
    

    または

    web.xmlDocument(5, "path").assertXML("testXML",
      web.nodeTests(web.node("/root").attrCountTest("0", TestOperator.IntEqual),
       web.node("/root").childCountTest("2", TestOperator.IntEqual), 
       web.node("/root/testNode[2]").attrTest("id", "testNode2",
         TestOperator.StringExact), 
       web.node("/root/testNode[2]").attrCountTest("1", TestOperator.IntEqual), 
       web.node("/root/testNode[2]").childCountTest("2", TestOperator.IntEqual), 
       web.node("/root/testNode[2]/testSubNode[1]").attrTest("id","testSubNode1", 
         TestOperator.StringExact),
       web.node("/root/testNode[2]/testSubNode[1]").attrCountTest("1", 
         TestOperator.IntEqual), 
       web.node("/root/testNode[2]/testSubNode[1]");.childCountTest("0", 
         TestOperator.IntEqual)));
    

    前述のコード例で、verifyは"失敗時に停止しない"ことを意味し、assertは"失敗時に停止する"ことを意味します。

XMLテストが再生時に失敗した場合、「結果」ビューでXMLテスト結果を選択し、「詳細」ビューの「比較」タブで差異を表示できます。

5.4.12 Wait For Pageの追加

Wait For Pageブラウザ・オプションを使用して、サーバーからページが返されるまで待機してからスクリプト再生が続行されるようにできます。

Wait For Pageコマンドをスクリプトに追加するには、次のようにします。

  1. Web機能テスト・スクリプトを記録します。

  2. 「Run」ノードを開きます。

  3. Wait For Pageノードを追加するスクリプト・ノードを選択します。

  4. 「スクリプト」メニューを選択した後、「追加」サブメニューから「その他」を選択します。

  5. 「Webアクション」グループを開きます。

  6. 「ブラウザ」グループを開きます。

  7. 「ページの待機」を選択し、「OK」をクリックします。

  8. ドキュメントIDをXPath形式で入力します。

  9. Wait for any pageオプションを選択、または選択解除します。

  10. Wait for any pageオプションを選択解除した場合は、「URL」および「一致」オプションを指定します。

  11. 「タイムアウト」値を設定します。

  12. 「OK」をクリックして、サーバー・レスポンス・ノードをスクリプト・ツリーに追加します。

    Javaコード・ビューでは、web.window(objectId).waitForPage()メソッドがスクリプト・コードに追加されます。

    web.window(6, "/web:window[@index='0']").waitForPage("http://testserver2/fmstocks/home.asp", null, null)
    

5.4.13 オブジェクト・パスの調査

Webオブジェクト・パスを調べるには、次のようにします。

  1. Web機能テスト・スクリプトを記録します。

  2. 「スクリプト」メニューを選択してから、「パス探査」を選択します。OpenScriptのキャプチャ・モードが開きます。このダイアログ・ボックスでは、Webページ上のオブジェクトのオブジェクト・パスを取得できます。

    パス: マウス・カーソルでハイライト表示されたオブジェクトのオブジェクト識別パスが表示されます。

    [F10]を押してオブジェクト・パスを取得した後、プルダウン・メニューでは次のオプションが使用できます。

    • オブジェクトの取得: オブジェクトを取得するダイアログ・ボックスが開き、キャプチャ・モードが開始されます。キャプチャするオブジェクトに移動し、キャプチャ・ダイアログ・ボックス内のオプションを使用してオブジェクト・パスをキャプチャします。

    • オブジェクト・パスの表示: 現在選択されているオブジェクト・パスを表示するダイアログ・ボックスを開きます。

    • オブジェクト ライブラリに保存: オブジェクト・パスを保存するためのオブジェクト・ライブラリを指定するダイアログ・ボックスが開きます。

    位置:画面全体のx, y座標が表示されます。画面全体の左上の座標は{0,0}です。この位置座標は、画面位置がオブジェクト上のマウス・アクションの実行を求められる、Flashなどのオブジェクト・タイプが含まれる機能テストで使用されます。座標位置は、機能テスト・メソッドのft.mouseClick()ft.mouseDown()およびft.mouseUp()で使用されます。

    オフセット:現在ハイライト表示されているオブジェクトに関連するx, y座標が表示されます。ハイライト表示されているオブジェクトの左上の座標は{0,0}です。このオフセット座標は、画面位置がオブジェクト上のマウス・クリックの実行を求められる、Flashなどのオブジェクト・タイプが含まれるWeb機能テストで使用されます。座標位置は、Web機能テスト・メソッドのweb.element().mouseClick()で使用されます。

  3. Webオブジェクトに移動し、マウス・カーソルをオブジェクト上に置きます。

  4. [F10]を押してパスを取得します。

  5. マウス・カーソルでパスをハイライト表示し、[Ctrl]キーを押しながら[C]キーを押して、パスをクリップボードにコピーします。

  6. 完了後、「OK」をクリックします。

5.4.14 「オブジェクト詳細」ビューの使用

「オブジェクト詳細」ビューには、ビューに接続されたブラウザで選択したオブジェクトの属性および値を表示するためのオプションがあります。「オブジェクト詳細」ビューは、機能テストで使用できます。

オブジェクト詳細を表示するには:

  1. 「機能テスト」スクリプトを作成します。

  2. 「表示」メニューを選択し、「オブジェクト詳細」を選択します。OpenScriptWeによって、ドキュメント・オブジェクト・モデルでオブジェクトを取得および表示するための「オブジェクト詳細」ビューが開きます。このダイアログ・ボックスでは、ブラウザに接続し、Webページ上のオブジェクトのオブジェクト・パスを取得できます。

    「オブジェクト詳細」ビューでは次のツールバー・ボタンを使用できます。

    • ツリーを更新する: 「オブジェクト詳細」ツリー・ペインをリフレッシュします。

    • ブラウザ中のオブジェクトを選択して検査するノードを検索する: ブラウザでWebページ・オブジェクトを選択するためのキャプチャ・モードを開始します。ブラウザでオブジェクトをハイライトし、[F10]を押して選択してオブジェクト詳細ビューに属性を表示します。

    • ブラウザに接続/ブラウザから切断: 「オブジェクト詳細」ビューとブラウザとの接続または切断を行います。オブジェクトをキャプチャするには、オブジェクト詳細ビューをブラウザに接続する必要があります。

  3. ブラウザに接続ツールバー・ボタンをクリックします。新しいブラウザが開きます。

  4. 表示するオブジェクトを含むページに移動します。ツリー・ビューでは、ブラウザのページのDOMツリーをロードします。

    「オブジェクト詳細」ビューでは次のオプションを使用できます。

    • モジュール: OpenScriptモジュールのタイプを選択します。ツリー・ビュー内のオブジェクトを特定のモジュール・タイプに変更します。たとえば、Webモジュールでは、HTML DOMツリーを表示します。ADFモジュールでは、ADFオブジェクト・ツリーを表示します。

    • 検索: オブジェクト詳細で特定のテキストを検索するための検索機能を提供します。検索するテキストを入力し、「次」または「前」をクリックして、ツリー内の属性および値を検索します。

    • 部分一致: 選択すると、「次」または「前」検索では、「検索」に指定したテキスト文字列との部分一致が行われます。選択解除すると、「次」または「前」検索では、「検索」の文字列との全体一致が行われます。

    • 次: 「検索」の文字列と一致する次のオブジェクトのツリーまで下方向に検索します。

    • 前: 「検索」の文字列と一致する前のオブジェクトのツリーまで上方向に検索します。

    • ツリーペイン: Webアプリケーションのドキュメント・オブジェクト・モデル(DOM)ツリー、ADFページのADFUIComponentsツリー、およびFormsアプリケーションのForms要素ツリーを表示します。「検索」/「次」/「前」オプションを使用して、ツリー内のオブジェクトを検索するか、「ブラウザ内のオブジェクトを選択して、検査するノードを検索します」ツールバー・ボタンを使用して、接続されたブラウザでオブジェクトを選択することでオブジェクトを検索できます。右クリックのショートカット・メニューには、ツリーで選択したオブジェクトを操作するための次のオプションが含まれています。

      • オブジェクト・パスの表示: オブジェクトのフルパスを表示するダイアログ・ボックスを開きます。

      • オブジェクト テストの追加: ツリーで選択したオブジェクトのオブジェクト・テストを定義するための「オブジェクト テスト」ダイアログを開きます。

      • テーブル テストの追加: ツリーで選択したテーブル・オブジェクトのテーブル・テストを定義するための「テーブル テスト」ダイアログ・ボックスを開きます。このオプションは、テーブル・オブジェクトに対してのみ使用できます。

      • オブジェクト ライブラリに保存: オブジェクト・ライブラリにオブジェクト・パスを保存するための「オブジェクト ライブラリに保存」ダイアログ・ボックスを開きます。

    • 属性: ツリーで選択したオブジェクトの属性名を表示します。

    • : ツリーで選択したオブジェクト属性の値を表示します。

  5. 「検索」/「次」/「前」オプションを使用して、ツリー内のオブジェクトを検索するか、「ブラウザ中のオブジェクトを選択して検査するノードを検索する」ツールバー・ボタンを使用して、接続されたブラウザでオブジェクトを選択することでオブジェクトを検索します。

    「ブラウザ中のオブジェクトを選択して検査するノードを検索する」ツールバー・ボタンを使用する場合、ブラウザで表示するオブジェクトをハイライト表示して、[F10]を押します。ツリー・ビューが開き、オブジェクトを選択します。

  6. ツリー・ビューのショートカット・メニューを使用して、オブジェクト・パスの表示、テストの追加、またはオブジェクト・ライブラリへのオブジェクト・パスの保存を行います。

  7. 終了する場合は、ブラウザから切断ツールバー・ボタンを選択します。

5.4.14.1 オブジェクト・パスの表示

オブジェクトのパスを表示するには:

  1. 「オブジェクト詳細」ビューを開き、ツリー内のオブジェクトを選択します。

  2. オブジェクトを右クリックし、オブジェクト詳細の表示を選択します。オブジェクト詳細の表示ダイアログ・ボックスには次のオプションがあります。

    • パス: オブジェクトのパスが表示されます。ツールバー・ボタンをクリックして、ツリー・ビューとXPathビューを切り替えます。

5.4.14.2 オブジェクト・テストの追加

オブジェクト・テストを追加するには:

  1. 「オブジェクト詳細」ビューを開き、ツリー内のオブジェクトを選択します。

  2. オブジェクトを右クリックし、「オブジェクト テストの追加」を選択します。ツリーで選択したオブジェクトのオブジェクト・テストを定義するための「オブジェクト テスト」ダイアログ・ボックスが開きます。オブジェクト・テストの定義の詳細は、5.4.7項「オブジェクト・テストの追加」を参照してください。

5.4.14.3 テーブル・テストの追加

テーブル・テストを追加するには:

  1. 「オブジェクト詳細」ビューを開き、ツリー内のテーブル・オブジェクトを選択します。

  2. オブジェクトを右クリックし、「テーブル テストの追加」を選択します。ツリーで選択したテーブル・オブジェクトのテーブル・テストを定義するための「テーブル テスト」ダイアログ・ボックスが開きます。このオプションは、テーブル・オブジェクトに対してのみ使用できます。テーブル・テストの定義の詳細は、5.4.8項「テーブル・テストの追加」を参照してください。

5.4.14.4 オブジェクト・ライブラリへのオブジェクト・パスの保存

オブジェクト・ライブラリにオブジェクト・パスを保存するには:

  1. 「オブジェクト詳細」ビューを開き、ツリー内のオブジェクトを選択します。

  2. オブジェクトを右クリックし、「オブジェクト ライブラリに保存」を選択します。オブジェクト・ライブラリにオブジェクト・パスを保存するための「オブジェクト ライブラリに保存」ダイアログ・ボックスが開きます。「オブジェクト ライブラリに保存」ダイアログ・ボックスには、次のオプションがあります。

    • オブジェクト ライブラリ: 選択したパスを保存できる保存済オブジェクト・ライブラリがリストされます。

    • 新規: 新規オブジェクト・ライブラリ・ファイルを指定するためのダイアログが開きます。

    • 名前: オブジェクト・パスの名前を指定します。

    • 詳細: オブジェクト・パスの説明を指定します。

  3. パスを保存するライブラリを選択するか、新しいライブラリを作成します。

  4. 名前および説明を入力します。

  5. 「OK」をクリックします。

5.4.15 スクリプト・プロパティの設定

スクリプト・プロパティを設定するには、次のようにします。

  1. Web機能テスト・スクリプトを記録します。

  2. 「スクリプト」メニューを選択した後、「スクリプト プロパティ」を選択します。

  3. プロパティのカテゴリを選択します。

  4. カテゴリに対するプロパティを指定します。

  5. 完了後、「OK」をクリックします。

5.4.16 データバンク変数の置換

スクリプト内の問合せ文字列パラメータとデータバンク変数を置換するには、次のようにします。

  1. テキスト文字列パラメータを含むWeb機能テスト・スクリプトを記録します。

  2. 「Run」ノードを開きます。

  3. テキスト・パラメータを含むノードを開きます。

  4. テキスト・パラメータ・ノードを右クリックし、ショートカット・メニューから「プロパティ」を選択します。

  5. スクリプトに1つ以上のデータバンクを設定している場合、[変数の置換]アイコンをクリックし、使用するデータバンク・ファイルから、テキスト・パラメータと置き換えるデータバンク・フィールドを選択し、「終了」をクリックします。

  6. スクリプトにまだデータバンクを設定していない場合、「新規データバンクの追加」を選択して「次へ」をクリックします。

    1. 「参照」ボタンをクリックして、使用するデータバンク・ファイルを選択します。

    2. テキスト・パラメータと置換される列(フィールド名)を選択して、「終了」をクリックします。

    ツリー・ビューでは、データバンク変数が、記録された値のかわりに{{db.databankFileName.field,recordedValue}}として表示されます。

    Javaコード・ビューでは、データバンク変数が、web.text(objectId).setTextメソッドの{{db.databankFileName.field,recordedValue}}として表示されます。

    web.text(1, "/web:window[@index='0']
       /web:document[@index='0']
       /web:form[@index='0']
       /web:input_text[@id='ticker' 
         or @name='ticker' 
         or @index='0']").setText("{{db.fmstocks_data.ticker,orcl}}")
    

5.4.17 Web機能テスト・モジュールAPIの使用

Web機能モジュールには、Web DOM機能テストに固有のスクリプトAPI (Application Program Interface)が含まれています。Web機能テスト・モジュール・レコーダにより、ツリー・ビューに対応するJavaコードが作成され、Javaコード・ビューにわかりやすい機能名を使用したWeb機能テストのコマンドが表示されます。Javaコード・ビューのコマンドはツリー・ビューに対応しているため、どちらのビューでもスクリプトを修正できます。

Web機能テストAPIを使用して、記録済のスクリプトを追加のテスト機能で拡張できます。Web機能テスト・モジュール固有のコマンドはwebクラスに属しています。その他の機能テスト・メソッドはftクラスで入手可能です。また、その他の有効なクラス(サービス)の他のコマンドや汎用Javaコマンドも、スクリプトで利用できます。

Webテスト・モジュールAPIの例には、次のようなものがあります。

  • 制御文の追加

  • 思考時間の追加

  • ブラウザの起動と終了

  • URLへの移動

  • Webオブジェクトに対するアクションの実行(クリック、ダブルクリックなど)

  • テキスト・フィールドの設定

  • ページの読込みの待機

Web機能テスト・モジュールのツリー・ビューを使用して、多数のAPIメソッドを追加できます。Javaコード・ビューを使用してさらにメソッドを追加することができます。使用できるプロシージャおよびサンプル・コード一覧のインテリジェンス・ウィンドウを開くには、[Ctrl]キーを押しながら[Space]キーを押します。その他のプログラミング情報の詳細は、OpenScriptヘルプのAPIリファレンスを参照してください。

5.5 オブジェクト・ライブラリの編集

オブジェクト・ライブラリを編集するには:

  1. 「Web 機能テスト」スクリプト・プロジェクトを作成します。

  2. スクリプトにオブジェクト・ライブラリを追加し、テスト用のWebアプリケーションを記録します。

  3. 「ファイル」メニューで「オブジェクト ライブラリを開く」を選択します。

  4. libraryName.propertiesファイルを選択し、「開く」をクリックします。

  5. 必要に応じて、「オブジェクト ライブラリ」タブをクリックします。

  6. 「オブジェクト」リストでオブジェクトを選択します。「オブジェクト」リスト・セクションには次のツールバー・ボタンがあります。

    アルファベット順でソート: オブジェクトXPathをアルファベット順でソートします。

    追加: 新規オブジェクトをリストに追加します。新規オブジェクトを追加した後、「詳細」セクションで名前とオブジェクト識別パスを指定します。

    削除: オブジェクト・リストからオブジェクトを削除します。確認メッセージが表示されます。

    パス探査: オブジェクト取得モードを開始し、取得するオブジェクト・パスを選択するためのブラウザを開きます。

  7. 「詳細」セクションでオブジェクト属性を編集します。

    「オブジェクト」リストに対するオブジェクトの追加および削除ができます。オブジェクト文字列で、または「詳細」セクションのツリー階層で、オブジェクト属性を編集します。ツリー階層では属性の優先順位を上または下に移動できます。

    詳細: オブジェクト・リストで選択したオブジェクトの名前、オブジェクト識別パスのセグメントおよび属性を指定します。

    • 名前: オブジェクトの名前を指定します。名前は、各オブジェクトに必要です。名前は、オブジェクト・ライブラリでオブジェクト・パスを参照するスクリプト・コードで使用されます。たとえば、web_window_0という名前のオブジェクト・ライブラリにあるオブジェクトは、次に定義するようなパスを持ちます。

      /web:window[@index='0' or @title='Home']"
      

      スクリプト・コードでは、スクリプト変数フォーマット{{obj.libraryName.objectName}}を使用して、オブジェクト・ライブラリのオブジェクト・パスを参照します。たとえば、オブジェクト・ライブラリのオブジェクト・パスを参照するスクリプト・ナビゲーション・コマンドは、次のようになります。

      web.window(44, "{{obj.MyObjLib.web_window_0}}")
        .navigate("http://myServer/home");
      
    • 詳細: オブジェクトに関する説明を指定します。説明はオプションです。

    • パス: スクリプトの再生時にWeb機能テスト・モジュールでWebページ上のオブジェクトの識別に使用される、オブジェクトの完全識別パスのセグメントおよび属性を指定します。次のツールバー・ボタンは、オブジェクト・パスの操作に使用できます。

      • ツリー/テキスト表示切替: ツリー・ビュー・モードとテキスト・モードの間でパス・エディタを切り替えます。ツリー・ビュー・モードでは、オブジェクト・パスはツリー階層で表されます。ツールバー・ボタンを使用してツリー階層に対してパス属性を追加、編集または削除するか、属性の優先順位を変更します。パス・セグメントの隣にある矢印をクリックして、特定のツリー・セグメントを開いたり閉じたりします。完全に閉じた場合、パス・ツリーは次のように表示されます。

        web:window
        web:document
        web:form
        web:input_submit
        

        完全に開いた場合、パス・ツリーは次のように表示されます。

        web:window
          @index='0'            or
          @title='Stocks'
        web:document
          @index='0'
        web:form
          @id='loginform'       or
          @name='loginform'     or
          @index='0'
        web:input_submit
          @name='LoginButton'   or
          @value='Login'        or
        @index='0'
        

        ツリーでパスのセグメントまたは属性を選択し、「編集」ツールバー・ボタンをクリックするか、パス・セグメントをダブルクリックして「編集」ダイアログ・ボックスを開きます。

        テキスト・モードでは、オブジェクト・パスは次のようなXPathテキスト文字列として表されます。

        /segment[@attr1='value' and|or @attr2='value' and|or @attrN='value'] /nextsegment[...]/segmentN[...]
        

        次の例のXPathは、Webフォームの入力のサブミットボタンへのフルパスを示します。

        /web:window[@index='0' or @title='Stocks']/web:document
        [@index='0']/web:form[@id='loginform' or @name='loginform' or 
        @index='0']/web:input_submit[@name='LoginButton' or @value='Login'
        or @index='0']
        

        オブジェクトXPathテキストを編集ボックスで直接編集できます。編集ボックスには、オブジェクト・パスの編集時の選択に使用できるオプションをリストするオートコンプリート機能が含まれます。/(フォワード・スラッシュ)文字を入力すると、選択に使用できるパス・セグメントのリストが開きます。@文字を入力すると、選択に使用できるパス属性のリストが開きます。入力するテキストを追加すると、使用可能な選択のリストが、入力したテキストに一致するもののみに絞り込まれます。

      • 追加: オブジェクト識別ツリーにパス・セグメントまたはパス属性を追加するためのダイアログ・ボックスが開きます。

      • 編集: ツリーで選択したオブジェクトのパス・セグメントまたはパス属性の値を変更するためのダイアログ・ボックスが開きます。

      • 削除: ツリーで選択したオブジェクトのパス・セグメントまたはパス属性を削除します。

      • 上へ: 選択したオブジェクトのパス・セグメントまたはパス属性をツリー階層内で上へ移動します。このボタンは、ツリー階層内でオブジェクトのパス・セグメントまたはパス属性が上に移動可能な場合にのみアクティブになります。

      • 下へ: 選択したオブジェクトのパス・セグメントまたはパス属性をツリー階層内で下へ移動します。このボタンは、ツリー階層内でオブジェクトのパス・セグメントまたはパス属性が下に移動可能な場合にのみアクティブになります。

      • フル パス表示: オブジェクトのフル・パスを表示するためのダイアログ・ボックスが開きます。

    • 記録時にオブジェクト識別に異なるパスを使用する: 選択すると、スクリプトの記録時に使用するオブジェクト・パスを指定するためのセカンダリ・パス編集ボックスが開きます。指定したオブジェクト・パスは、スクリプトの記録時のみに使用され、特定のパス・セグメントおよびパス属性に対して正規表現、ワイルドカードおよび完全の一致を含めることができます。

    • 記録パス: Web機能テスト・モジュール・レコーダでWebページ上のオブジェクトの識別に使用される、オブジェクトの完全識別パスおよび属性を指定します。「記録パス」ツールバー・ボタンは、「フル パス表示」を除いて、「パス」ツールバー・ボタンと同じです。指定したオブジェクト・パスは、スクリプトの記録時のみに使用され、特定のパス・セグメントおよびパス属性に対して正規表現、ワイルドカードおよび完全の一致を含めることができます。「記録パス」のパス・セグメントおよびパス属性に使用する「一致」タイプを指定します。

    • 一致: 記録時のオブジェクト識別パスのセグメントおよび属性を使用するための一致タイプを指定します。正規表現およびワイルドカードの一致は、レコード・オブジェクト識別パスにのみ使用できます。

      • 完全: 選択すると、オブジェクト識別は、指定したフルパスと完全に一致します。

      • 正規表現: 選択すると、正規表現一致を使用して、オブジェクト識別が一致します。正規表現一致を使用する正規表現を含めるように、パス・セグメントおよびパス属性を編集します。

      • ワイルドカード: 選択すると、ワイルドカード一致を使用して、オブジェクト識別が一致します。単一文字の一致には?(疑問符)、複数文字の一致には*(アスタリスク)を使用します。ワイルドカード一致を使用するワイルドカードを含めるように、パス・セグメントおよびパス属性を編集します。

    libraryName.properties」タブをクリックして、オブジェクト・ライブラリ・ファイル・ソース内のオブジェクト/オブジェクト属性テキスト文字列を表示または編集できます。オブジェクト/オブジェクト属性テキスト文字列の基本的な形式は次のようになります。

    objectName=path
    

    objectNameは任意のユーザー定義名にできます。この名前は、ライブラリ内のオブジェクトの「詳細」セクションで指定した「名前」に該当します。objectNameは、一致オプションを指定する名前、および特定のオブジェクトの記録されたパス文字列を含めることもできます。

    pathは、XPathでフォーマットされた文字列です。pathは、一致オプション、および特定のオブジェクトの記録されたパス文字列を含めることもできます。

  8. ファイル」メニューで「保存」を選択するか、「保存」ツールバー・ボタンをクリックして、オブジェクト・ライブラリ・ファイルに対する変更を保存します。