このセクションでは、GetOption および SetOption メソッドで操作できるオプションについて説明します。
スクリプトでエージェント オプションを設定または取得するには、GetOption または SetOption メソッドを使用します。たとえば、Agent.SetOption(Options. と入力すると、オートコンプリートと構文ヒント テクノロジを使用して、エージェント オプションがアクティブなエディター ウィンドウに自動的に表示されます。たとえば、以下のオプションがアクティブなエディター ウィンドウに表示されます。
'VB .NET code Agent.SetOption(Options.ApplicationReadyTimeout, 100000)
// C# code Agent.SetOption(Options.ApplicationReadyTimeout, 100000);
'VB .NET code Agent.SetOption("OPT_APPREADY_TIMEOUT", 100000)
// C# code Agent.SetOption("OPT_APPREADY_TIMEOUT", 100000);
.NET オプション名 | エージェント オプション名 | 定数の型 | 説明 |
---|---|---|---|
ApplicationReadyTimeout | OPT_APPREADY_TIMEOUT | 数値 | 新しく起動したアプリケーションが準備完了状態になるまで待機する時間をミリ秒で指定します。指定したタイムアウト時間内にアプリケーションの準備が整わない場合は、Silk4NET によって例外がスローされます。 |
BitmapMatchCount | OPT_BITMAP_MATCH_COUNT | 整数 | ビットマップが安定していると判断するために、連続して同じビットマップでなければならないスナップショットの数を指定します。スナップショットは、OPT_BITMAP_MATCH_TIMEOUT で指定された秒数まで取得され、各スナップショット間で OPT_BITMAP_MATCH_INTERVAL で指定された時間間隔で一時停止します。 デフォルトで、これは 0 です。 |
BitmapMatchInterval | OPT_BITMAP_MATCH_INTERVAL | 実数 | ビットマップ画像が安定していることを保証するために使用するスナップショット間の時間間隔を指定します。スナップショットは、OPT_BITMAP_MATCH_TIMEOUT で指定された時間まで取得されます。 デフォルトで、これは 0.1 です。 |
BitmapMatchTimeout | OPT_BITMAP_MATCH_TIMEOUT | 実数 | ビットマップ画像が安定するまでの合計許容時間を指定します。 この期間に Silk4NET は画像の複数のスナップショットを取得し、スナップショット間で OPT_BITMAP_MATCH_TIMEOUT で指定された秒数だけ待機します。OPT_BITMAP_MATCH_COUNT で指定されたビットマップ数と一致する前に、OPT_BITMAP_MATCH_TIMEOUT から返される値に到達すると、Silk4NET でスナップショットの取得が停止し、例外 E_BITMAP_NOT_STABLE が発生します。 デフォルトで、これは 5 です。 |
BitmapPixelTolerance | OPT_BITMAP_PIXEL_TOLERANCE | 整数 | 2 つのビットマップが一致しているとみなされる許容差異 (ピクセル単位) を指定します。差異ピクセル数がこのオプションで指定された値より小さい場合、ビットマップは同一であるとみなされます。最大許容値は 32767 ピクセルです。 デフォルトで、これは 0 です。 |
ButttonsToCloseWindows | OPT_CLOSE_WINDOW_BUTTONS | 文字列のリスト | CloseSynchron メソッドでウィンドウを閉じるために使用するボタンを指定します。 |
ButttonsToConfirmDialogs | OPT_CLOSE_CONFIRM_BUTTONS | 文字列のリスト | CloseSynchron メソッドでウィンドウを閉じる際に表示された確認ダイアログ ボックスを閉じるために使用するボタンを指定します。 |
CloseUnresponsiveApplications | OPT_KILL_HANGING_APPS | ブール値 | 無応答のアプリケーションを閉じるかどうかを指定します。 タイムアウトなどの理由で、エージェントとアプリケーション間の通信に失敗した場合に、アプリケーションが無応答になります。 複数のインスタンスを実行できないアプリケーションをテストする場合は、このオプションを TRUE に設定します。デフォルトで、これは FALSE です。 |
CloseWindowTimeout | OPT_CLOSE_WINDOW_TIMEOUT | 数値 | ウィンドウ閉じるための次の方式を試行する前に待機する時間をミリ秒で指定します。 最終的に失敗と判断する前に、4 種類の方式が Agent によって実行されます。つまり、閉じるのに失敗するまでにかかる合計時間は、指定した値の 4 倍の時間になります。 |
Compatibility | OPT_COMPATIBILITY | 文字列 |
Silk4NET の最新バージョンで特定の機能の動作が変更されている場合は、これらの機能について、指定した Silk4NET バージョンの動作を使用することができます。 デフォルトでは、このオプションは設定されていません。 |
EnsureObjectIsActive | OPT_ENSURE_ACTIVE_OBJDEF | ブール値 | ターゲット オブジェクトがアクティブであることを保証します。 デフォルトで、これは FALSE です。 |
EnableAccessibility | OPT_ENABLE_ACCESSIBILITY | ブール値 |
Win32 アプリケーションをテストしているときに、Silk4NET がオブジェクトを認識できない場合、ユーザー補助を有効にするには TRUE に設定します。ユーザー補助は、オブジェクトの認識機能をクラス レベルで強化するためのものです。 ユーザー補助を無効にするには FALSE に設定します。 デフォルトで、これは FALSE です。 |
HighlightObjectDuringPlayback | OPT_REPLAY_HIGHLIGHT | ブール値 | 現在のオブジェクトが再生中にハイライトされるかどうかを指定します。 デフォルトで、これは FALSE です。つまり、デフォルトではオブジェクトはハイライトされません。 |
KeyboardEventDelay | OPT_KEYBOARD_INPUT_DELAY | 数値 | 再生時のキー入力間の遅延をミリ秒で指定します。 テストするアプリケーションに応じて、選択する最適な値が異なることに注意してください。 たとえば、Web アプリケーションをテストする場合、1 ミリ秒に設定すると、ブラウザが極端に遅くなります。 ただし、この値を 0 (ゼロ) に設定すると、基本的なアプリケーション テストに失敗する可能性があります。 |
KeysToCloseDialogs | OPT_CLOSE_DIALOG_KEYS | 文字列のリスト | CloseSynchron メソッドでウィンドウを閉じる際に表示されたダイアログ ボックスを閉じるキー シーケンスを指定します。 例:<ESC>、<Alt+F4>。 |
LocatorAttributesCaseSensitive | OPT_LOCATOR_ATTRIBUTES_CASE_SENSITIVE | ブール値 |
はい に設定すると、ロケーター属性名の大文字と小文字が区別されるようになり、いいえ に設定すると、ロケーター名の大文字と小文字が区別されなくなります。モバイル Web アプリケーションのロケーター属性の名前は、常に大文字と小文字の区別はされません。つまり、モバイル Web アプリケーションの記録や再生時に、このオプションは無視されます。 |
MenuItemsToCloseWindows | OPT_CLOSE_WINDOW_MENUS | 文字列のリスト | CloseSynchron メソッドでウィンドウを閉じるために使用するメニュー項目を指定します。 例:「ファイル/*終了」、「ファイル/*中止」。 |
MouseEventDelay | OPT_MOUSE_INPUT_DELAY | 数値 | 各マウス イベントの前に使用される遅延をミリ秒で指定します。 |
ObjectResolveRetryTimeout | OPT_WAIT_RESOLVE_OBJDEF | 数値 | 再生中にオブジェクトの解決を待機する時間をミリ秒で指定します。 オブジェクトが解決されるとすぐに、Silk4NET はこのオブジェクトを認識することができます。 |
PlaybackMode | OPT_REPLAY_MODE | 数値 | コントロールの再生方法を定義します。 「低レベル」を使用すると、マウスとキーボードを使用して各コントロールが再生されます。 「高レベル」を使用すると、API を使用して各コントロールが再生されます。 コントロールごとにデフォルトの再生モードが割り当てられています。 デフォルトの再生モードが選択されると、各コントロールごとのデフォルトの再生モードが使用されます。 デフォルト モードを使用すると、最も信頼できる結果が得られます。 「低レベル」または「高レベル」の再生を選択すると、すべてのコントロールの再生モードが選択した再生モードで上書きされます。 有効な値は、0、1、2 です。0 はデフォルト、1 は高レベル、2 は低レベルです。デフォルトで、これは 0 です。 |
PostReplayDelay | OPT_POST_REPLAY_DELAY | 数値 | 関数の呼び出しまたはプロパティの設定後に待機する時間をミリ秒で指定します。 |
RemoveFocusOnCaptureText | OPT_REMOVE_FOCUS_ON_CAPTURE_TEXT | ブール値 | |
SyncTimeout | OPT_SYNC_TIMEOUT | 数値 | オブジェクトが準備完了状態になる最大時間をミリ秒で指定します。 |
TransparentClasses | OPT_TRANSPARENT_CLASSES | 文字列のリスト | 記録や再生中に無視したいクラスの名前を指定します。 |
OPT_WPF_CHECK_DISPATCHER_FOR_IDLE | ブール値 | WPF アプリケーションによっては、コントロールの実装方法が影響して、Silk Test 同期が機能しない場合があります。これにより、WPF アプリケーションがアイドルであることを Silk4NET が認識できなくなります。このオプションを FALSE に設定すると、WPF 同期が無効になり、WPF アプリケーションを制御するスレッドである WPF ディスパッチャーを Silk4NET が確認しないようになります。このオプションを FALSE に設定すると、一部の WPF アプリケーションで発生する同期問題を解決できます。デフォルトで、これは TRUE です。 | |
WPFCustomClasses | OPT_WPF_CUSTOM_CLASSES | 文字列のリスト | 記録や再生の対象にしたい WPF クラスの名前を指定します。たとえば、MyGrid というカスタム クラスが WPF Grid クラスから継承された場合、MyGrid カスタム クラスのオブジェクトは記録や再生に使用できません。Grid クラスはレイアウト目的のためにのみ存在し、機能テストとは無関係であるため、Grid オブジェクトは記録や再生に使用できません。この結果、Grid オブジェクトはデフォルトでは公開されません。機能テストに無関係なクラスに基づいたカスタム クラスを使用するには、カスタム クラス (この場合は MyGrid) を OPT_WPF_CUSTOM_CLASSES オプションに追加します。これによって、記録、再生、検索、プロパティの検証など、すべてのサポートされる操作を指定したクラスに対して実行できるようになります。 |
WPFPrefillItems | OPT_WPF_PREFILL_ITEMS | ブール値 | 記録および再生中に 、WPFItemsControl や WPFComboBox のような WPFListBox 内の項目を事前に入力するかどうかを定義します。WPF 自体が特定のコントロールの項目を遅延読み込みするため、項目がビューにスクロールされない場合、それらの項目は Silk4NET では使用できません。ビューにスクロールされないとアクセスできない項目にアクセスするには、事前入力をオンにします。これはデフォルトの設定です。ただし、一部のアプリケーションでは Silk4NET によってバックグランドで項目が事前入力されると問題が発生し、そのためアプリケーションがクラッシュすることがあります。この場合、事前入力をオフにします。 |
XBrowserFindHiddenInputFields | OPT_XBROWSER_FIND_HIDDEN_INPUT_FIELDS | ブール値 |
非表示入力フィールドを表示するかどうかを指定します(HTML フィールドのタグに type="hidden" を指定した HTML フィールドです。デフォルト値は、TRUE です。 |
XBrowserSynchronizationMode | OPT_XBROWSER_SYNC_MODE | 文字列 | サポートする同期モード (HTML または AJAX) を設定します。 HTML モードを使用すると、すべての HTML ドキュメントが対話的な状態になることが保証されます。 このモードでは、単純な Web ページをテストすることができます。 Java Script が含まれるより複雑なシナリオが使用される場合は、WaitForObject、WaitForProperty、WaitForDisappearance、または WaitForChildDisappearance などの同期関数を使用して手動でスクリプトを記述することが必要になる可能性があります。 AJAX モードを使用すると、同期関数を手動で記述する必要はなくなります。 デフォルト値は、AJAX に設定されています。 |
XBrowserSynchronizationTimeout | OPT_XBROWSER_SYNC_TIMEOUT | 数値 | オブジェクトが準備完了状態になる最大時間をミリ秒で指定します。 |
XBrowserSynchronizationURLExcludes | OPT_XBROWSER_SYNC_EXCLUDE_URLS | 文字列 | ページ同期中に除外するサービスまたは Web ページの URL を指定します。 AJAX フレームワークやブラウザによっては、サーバーから非同期にデータを取得するために、特殊な HTTP 要求を継続して出し続けるものがあります。これらの要求により、指定した同期タイムアウトの期限が切れるまで同期がハングすることがあります。この状態を回避するには、HTML 同期モードを使用するか、問題が発生する要求の URL を 同期除外リスト 設定で指定します。 http://test.com/timeService のように URL 全体を入力したり、timeService のように URL の一部を入力します。 次のようにカンマで項目を区切ります。
'VB .NET code Agent.SetOption(OPT_XBROWSER_SYNC_EXCLUDE_URLS, { "fpdownload.macromedia.com", "fpdownload.adobe.com", "download.microsoft.com" }) // C# code Agent.SetOption(OPT_XBROWSER_SYNC_EXCLUDE_URLS, { "fpdownload.macromedia.com", "fpdownload.adobe.com", "download.microsoft.com" }); |