ユーザ定義関数の作成と使用

関連:GUI テストおよびコンポーネント

このトピックでは,ユーザ定義関数の使用方法について説明します。

前提条件 - 関数ライブラリまたはテストを開く

  1. 関数をアクションまたは関数ライブラリに格納するかどうかを判断します。

    • 関数ライブラリに関数を挿入する場合,この関数は,関連付けられているテストにアクセス可能になります。

    • エディタで関数をアクションに直接挿入した場合,関数は,特定のアクション内からのみ呼び出すことができます。

  2. これには,関数ライブラリまたはアクションを新規作成する,既存のものを開く,開いている関数ライブラリまたはアクションのタブをクリックしてフォーカスを移動する,という方法があります。

先頭に戻る

関数の作成

関数は,手動で定義することも,関数定義ジェネレータを使って定義することもできます。関数定義ジェネレータは,関数の基本的な定義を自動的に作成します。

ヒント: 関数にコメントを追加するには,関数名のすぐ上に @description 行を追加し,関数の説明を文字列で入力します。入力した説明は,UFT One のオートコンプリート・ウィンドウでカスタム・ツールヒントとして表示されます。次に例を示します。

'@Description This function displays a Hello World message box.
Function Hello_World
	MsgBox "Hello world"
End Function

UFT One のオートコンプリート・メニューを開くと,ツールヒントが表示されます。

注:  

  • 関数をテスト・オブジェクトに登録するには,パブリック関数として定義し,テスト・オブジェクトが 1 番目の引数となるようにします。

  • 既存のテスト・オブジェクト・メソッドをオーバーライドするには,テスト・オブジェクト引数の後に,オーバーライドするメソッドと同じ数の引数を指定します。

先頭に戻る

テスト・オブジェクト・クラスへの関数の登録 - 任意

関数の登録では,テスト・オブジェクト・クラスに新しいメソッドとして登録することや,既存のメソッド名を使って登録し,指定したメソッドの機能を(一時的に)オーバーライドすることができます。

このステップは,手動で行う方法と,[関数定義ジェネレータ]ダイアログ・ボックスを使用する方法があります。

手動

RegisterUserFunc ステートメントをアクションまたは関数ライブラリに追加します。登録する際のテスト・オブジェクト操作の名前には,空白文字は使用できません。このステートメントでは,テスト・オブジェクト・クラスの標準操作として関数を使用する指定も可能です。

例:  

RegisterUserFunc "WebEdit", "MySet", "MySetFunc", True

このステートメントを実行すると(実行セッション中),ユーザ定義関数である MySetFunc によって MySet メソッド(操作)が WebEdit テスト・オブジェクトに追加され,標準操作(ステートメントの最後の引数で指定)として定義されます。

UFT エンジニアまたは各分野のエキスパートがキーワード・ビューの[項目]リストから WebEdit テスト・オブジェクトを選択すると,[操作]カラムで MySet 操作が自動的に選択されます。この操作は,WebEdit テスト・オブジェクトで使用できる登録済みまたは組み込みの操作と一緒に,[操作]リストに表示されます。

関数定義ジェネレータを使用

[関数定義ジェネレータ]ダイアログ・ボックスで関数定義を作成するときに,[テスト オブジェクトに登録する]オプションを選択している場合は,RegisterUserFunc ステートメントが定義のすぐ後に自動的に追加されます。

登録する関数が関数ライブラリで定義されている場合,関数ライブラリに RegisterUserFunc ステートメントを含めることをお勧めします。これにより,この関数ライブラリを使用するテストまたはコンポーネントがメソッドをすぐに使用できるようになります。

先頭に戻る

関数とテストまたはアプリケーション領域の関連付け

コードを関数ライブラリに挿入したら,関数ライブラリをテストまたはアプリケーション領域に関連付けることにより,テストとコンポーネントがユーザ定義関数にアクセス可能になります。

または,LoadFunctionLibrary ステートメントをテストまたはコンポーネントに追加し,実行セッション中に関数ライブラリをロードして,関数にアクセスすることもできます。

先頭に戻る

関数の呼び出し

テスト,コンポーネント,または関数ライブラリで,次のいずれかまたは両方を実行します。

  • ユーザ定義関数をグローバル関数として呼び出すステップを作成します。

  • 登録先のテスト・オブジェクト・メソッドを呼び出すことによってユーザ定義関数を実行します。

先頭に戻る

関数の定義への移動 - 任意

関数呼び出しから,関数の定義に直接移動することができます。

  1. エディタで,アクションまたは関数ライブラリで目的の関数が含まれているステップをクリックします。

  2. 次のいずれかを実行します。

    • [検索]>[移動]>[定義]を選択します。

    • ステップを右クリックして,コンテキスト・メニューの[定義に移動]を選択します。

      UFT One目的のドキュメントがアクティブになり(関数の定義が別の関数ライブラリにある場合),関数の定義の先頭にカーソルが移動します。

先頭に戻る

関数の登録解除 - 任意

実行セッションの最後まで関数を登録しておきたくない場合は,UnRegisterUserFunc ステートメントをテストまたは関数ライブラリに追加します。

再利用可能なアクションの中でメソッドを登録した場合には,アクションの終わりにそのメソッドの登録を解除することを(そして必要があれば次のアクションの初めに再登録することを)強くお勧めします。そうすることで,そのアクションを呼び出すテストがメソッドの登録による影響を受けないようにします。

先頭に戻る