VBScript の基本的な構文

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

アクション,スクリプト・コンポーネント,または関数ライブラリを開発するために使用するエディタは,VBScript エディタです。そのため,テスト・オブジェクト・ステートメントなどのテスト指向関数を入力するだけでなく,任意の有効な Microsoft VBScript ステートメントを手動で入力できます。

概要

VBScript は簡単に覚えられる強力なスクリプト言語です。VBScript を使用すれば,これまでにプログラミングの経験がなくても,オブジェクトを対象とした簡単な作業から複雑な作業まで実行できます。

VBScript ステートメントはエディタに手動で入力できます。また,エディタまたはキーワード・ビューでステップ・ジェネレータを使用して,多数の VBScript ステートメントを挿入することもできます。

このトピックでは,VBScript ステートメントを使用してアクション,スクリプト・コンポーネントまたは関数ライブラリを拡張するための基本的なガイドラインをいくつか示します。

VBScript の各ステートメントには個別の構文規則があります。これらの規則に従わないと,問題のあるステップを実行したときにエラーが生成されます。詳細については,一般的な構文規則とガイドラインおよびテキストの整形を参照してください。

加えて,エディタからキーワード・ビューに切り替えるときに,[エラー]表示枠のドキュメント内に構文エラーがあれば,OpenText Functional Testing によってそれらがリスト表示されます。構文エラーを修正してなくさない限り,キーワード・ビューに切り替えることはできません。

先頭に戻る

VBScript Reference

VBScript ステートメントの詳細については,VBScript に関する Microsoft の次のリファレンスを参照してください。

  • 「VBScript User's Guide」と「VBscript Language Reference」
  • 「Windows Scripting」

注: 参照する言語リファレンスには,VBScript と JScript の両方の情報やサンプルが含まれている場合がありますが,OpenText Functional Testing でサポートされているのは VBScript のみです。テストでは,VBScript リファレンスの JScript サンプルを使用しないでください。

先頭に戻る

コメント

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

コメントとは,アポストロフィ(')の後に書かれる,テスト・スクリプトの行または行の一部です。実行セッション中,OpenText Functional Testing はコメント処理を行いません。コメントを使用して,アクション,スクリプト・コンポーネント,または関数ライブラリのセクションを説明することで,読みやすさを向上させ,スクリプトの保守や更新を容易にできます。

次の例では,コメントを使ってその下のステートメントの目的を説明しています。

'文字列 "myname" を "username" エディット・ボックスに設定する
Browser("Advantage Shopping").Page("Advantage Shopping").WebEdit("username").Set "myname"

標準設定では,コメントは VBScript コード内で緑色で表示されます。コメントの表示は,[オプション]ダイアログ・ボックスの[テキスト エディタ]タブにある[フォントと色]表示枠([ツール]>[オプション]>[テキスト エディタ]タブ>[一般]ノード)でカスタマイズできます。詳細については,[フォントと色]表示枠を参照してください。

ヒント:  

  • テキストのブロックをコメントにする,またはコメントを解除するには,[編集]>[形式]>[コメント]を選択します。

  • コメント行を追加するには,VBScript の Rem ステートメントを使用する方法もあります。詳細については,「Microsoft VBScript Reference」を参照してください。

先頭に戻る

パラメータ指定

関連:GUI アクションおよびスクリプト GUI コンポーネント

OpenText Functional Testing を使って,テストの値をパラメータ化することにより,テストを拡張できます。「パラメータ」とは,外部のデータ・ソースまたはジェネレータから値が割り当てられる変数です。

キーワード・ビューでパラメータを作成すると,対応する VBScript 行がエディタに作成されます。

たとえば,メソッド引数の値をデータ表示枠パラメータとして定義した場合,次の構文を使用してデータ表示枠から値が取得されます。

Object_Hierarchy.Method DataTable (parameterID, sheetID)

項目

説明

Object_Hierarchy

テスト・オブジェクトの階層定義。ピリオドで区切られた 1 つ以上のオブジェクトの並びから成ります。

Method

パラメータ化されたオブジェクトを対象に OpenText Functional Testing によって実行されるメソッドの名前。

DataTable

データ・テーブルを表す予約済みオブジェクト。

parameterID

値の取得先となるデータ・テーブル内のカラムの名前。

sheetID

値が格納されているシートの名前。パラメータがグローバル・パラメータである場合は,dtGlobalSheet が sheetID となります。

例: Advantage Online Shopping サイトのテストを作成し,配送先住所として Italy を選択したとします。エディタで,次のステートメントがテストのアクションに挿入されます。

Browser("Advantage Shopping").Page("Advantage Shopping").WebList("countryListbox").Select "Italy"

ここで,住所の値をパラメータ化し,[データ]表示枠内に「Address」カラムを作成したとします。前のステートメントが次のように変更されます。

Browser("Advantage Shopping").Page("Advantage Shopping").WebList("countryListbox").Select DataTable("Address", dtGlobalSheet) 

この例では,Select がメソッド名,DataTable がデータ・テーブルを示すオブジェクト,Address がデータ表示枠パラメータ(カラム名),dtGlobalSheet がデータ表示枠のグローバル・シートです。

パラメータ値の使用方法と定義方法の詳細については,オブジェクト値のパラメータ化を参照してください。

先頭に戻る

括弧

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

VBScript でプログラミングをするとき,ステートメント内での括弧「()」の使用・不使用に関する規則に従うことが重要です。値を返すメソッドを呼び出し,返された値を使用する場合には,メソッドの引数を括弧で囲む必要があります。

たとえば,値を変数に返す場合,メソッドを If ステートメントの中で使用する場合,あるいは,Call キーワードを使用してアクションまたは関数を呼び出す場合などにメソッド引数を括弧で囲みます。アクションで作業しているときに,チェックポイントの戻り値を取得したい場合にも,チェックポイント名を括弧で囲む必要があります。

ヒント: ステップを実行しているときに Expected end of statement エラー・メッセージを受け取った場合には,ステップのメソッドの引数を括弧で囲む必要があるかもしれません。

Example: 次に,メソッドの引数に括弧を使用する場合と使用しない場合の例をいくつか示します。

括弧が必要:

  • メソッドが変数に値を返す場合:

    Set webelementobj = Browser("Advantage Shopping").Page("Advantage Shopping").WebTable("PRODUCT NAME").ChildItem(2, 2, "WebElement", 0)
    webelementobj.Click
  • 呼び出しが使用されている場合:

    Call RunAction("BookFlight", oneIteration)

    または

    Call MyFunction("Hello World")
    ...
    ... 
  • メソッドが,If ステートメントで使用されている場合:

    If Browser("index").Page("index").Link("All kinds of").WaitProperty("attribute/readyState", "complete", 4)
    Then
        Browser("index").Page("index").Link("All kinds of").Click
    End If 
  • メソッドが,チェックポイントの値を返す場合:

    a = Browser("MyBrowser").Page("MyPage").Check(CheckPoint("MyProperty"))

括弧が不要:

メソッドが値を返さない場合:

Browser("Advantage Shopping").Page("Advantage Shopping").WebTable("PRODUCT NAME").Click 2,2

先頭に戻る

計算

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

数値演算子を使って,簡単な計算を実行するステートメントを作成できます。たとえば,Web サイトで 2 つのテキスト・ボックスに表示された値を掛け算するには,乗法演算子を使用します。VBScript では,次の数値演算子が使用できます。

演算子

説明

+

加法

減法

負(負の数値)

*

乗法

/

除法

^

指数

次の例では,乗法演算子を使用して 3 つのスピーカの合計価格を計算しています。

'GetROProperty メソッドを使用してスピーカの価格を取得する
Price = Browser("Advantage Shopping").Page("Advantage Shopping").WebElement("$44.99").GetROProperty("innertext")
'価格に 3 を掛ける
Total price = Price * 3
'メッセージ・ボックスに合計金額を挿入する
msgbox("合計金額は "& total price" です)

先頭に戻る

変数

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

アクション,スクリプト・コンポーネント,または関数ライブラリの中でテスト・オブジェクトや単純な値を格納するための変数を指定することができます。テスト・オブジェクトを変数に格納する場合,ほかのステートメントの中でオブジェクト階層構造全体を指定することの代わりに変数を使用できます。変数をこのように使用すれば,ステートメントが読みやすくなり,保守もしやすくなります。

オブジェクトを格納する変数を指定するには,Set ステートメントを次の構文で使用します。

Set ObjectVar = ObjectHierarchy

次の例の Set ステートメントでは,変数 UserEditBoxusername エディット・ボックスの Browser.Page.WebEdit オブジェクト階層構造全体を格納するように指定しています。その後,UserEditBox 変数を対象に Set メソッドを使用して,username エディット・ボックスに tutorial という値を入力しています。

Set UserEditBox = Browser("Advantage Shopping").Page("Advantage Shopping").WebEdit("username")
UserEditBox.Set "tutorial"

注: 単純な値(文字列や数字など)を格納する変数の指定には Set ステートメントを使用しないでください。次の例は,単純な値のための変数を定義する方法を示します。

MyVar = Browser("Advantage Shopping").Page("Advantage Shopping").WebEdit("username").GetTOProperty("type")

Dim ステートメントを使用して,文字列,整数,配列など,ほかの型の変数を宣言できます。このステートメントは必須ではありませんが,アクション,スクリプト・コンポーネント,または関数ライブラリの構造を強化するために使用できます。

例: 次の例は,Dim ステートメントを使用して変数を宣言しています。

アクションまたはスクリプト・コンポーネントの場合TrackingNumber 変数を使用):

Dim TrackingNumber
TrackingNumber = Browser("Advantage Shopping").Page("Advantage Shopping").WebElement("trackingNumberLabel").GetTOProperty("innertext")

関数ライブラリの場合actual_value 変数を使用):

Dim actual_value
	' 実際のプロパティ値を取得する
	actual_value = obj.GetROProperty(PropertyName)

先頭に戻る

その他の参照項目: