エージェント オプション

このセクションでは、getOption および setOption メソッドで操作できるオプションについて説明します。

注: デフォルトでは、メニューから Silk4J > オプションの編集 を選択してグローバル オプションを設定できます。

スクリプトでエージェント オプションを設定または取得するには、getOption または setOption メソッドを使用します。たとえば、Desktop.setOption(Commonoptions. と入力すると、オートコンプリートと構文ヒント テクノロジを使用して、エージェント オプションがアクティブなエディター ウィンドウに自動的に表示されます。たとえば、以下のオプションがアクティブなエディター ウィンドウに表示されます。

コード ウィンドウの構文

スクリプトでオプションを挿入する場合は、次のように記述します。
desktop.setOption(Commonoptions.ApplicationReadyTimeout, 100000);
あるいは、スクリプトでエージェント オプション名を使用することもできます。たとえば、以下のように入力できます。
desktop.setOption("OPT_APPREADY_TIMEOUT", 100000);
.NET オプション名 エージェント オプション名 定数の型 説明
ApplicationReadyTimeout OPT_APPREADY_TIMEOUT 数値 新しく起動したアプリケーションが準備完了状態になるまで待機する時間をミリ秒で指定します。指定したタイムアウト時間内にアプリケーションの準備が整わない場合は、Silk4J によって例外がスローされます。
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 実数 ビットマップ画像が安定するまでの合計許容時間を指定します。

この期間に Silk4J は画像の複数のスナップショットを取得し、スナップショット間で OPT_BITMAP_MATCH_TIMEOUT で指定された秒数だけ待機します。OPT_BITMAP_MATCH_COUNT で指定されたビットマップ数と一致する前に、OPT_BITMAP_MATCH_TIMEOUT から返される値に到達すると、Silk4J でスナップショットの取得が停止し、例外 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 文字列

Silk4J の最新バージョンで特定の機能の動作が変更されている場合は、これらの機能について、指定した Silk4J バージョンの動作を使用することができます。

文字列の例:
  • 12
  • 11.1
  • 13.0.1

デフォルトでは、このオプションは設定されていません。

EnsureObjectIsActive OPT_ENSURE_ACTIVE_OBJDEF ブール値 ターゲット オブジェクトがアクティブであることを保証します。 デフォルトで、これは FALSE です。
EnableAccessibility OPT_ENABLE_ACCESSIBILITY ブール値

Win32 アプリケーションをテストしているときに、Silk4J がオブジェクトを認識できない場合、ユーザー補助を有効にするには TRUE に設定します。ユーザー補助は、オブジェクトの認識機能をクラス レベルで強化するためのものです。

ユーザー補助を無効にするには FALSE に設定します。

デフォルトで、これは FALSE です。

注: Mozilla FirefoxGoogle Chrome の場合、ユーザー補助は常に有効で、無効にすることはできません。
EnableMobileWebviewFallbackSupport OPT_ENABLE_MOBILE_WEBVIEW_FALLBACK_SUPPORT ブール値

デフォルトのブラウザー サポートではテストできないハイブリッド モバイル アプリケーションに対して、モバイル ネイティブ フォールバックのサポートを有効化します。

デフォルトで、これは FALSE です。

EnableUiAutomationSupport OPT_ENABLE_UI_AUTOMATION_SUPPORT 数値

通常の Win32 コントロールの認識の代わりに Microsoft UI オートメーション サポートを有効化する場合は TRUE を設定します。Win32 アプリケーションをテストしているときに、Silk4J がオブジェクトを認識できない場合、このオプションは有用です。AUTODETECT を指定すると、JavaFX などの既存のテクノロジ対して Microsoft UI オートメーションが自動的に有効になります。

デフォルトで、これは FALSE です。

HangAppTimeOut OPT_HANG_APP_TIME_OUT 数値

応答のない再生操作をキャンセルするまでのタイムアウト値を、無応答のアプリケーションのタイムアウト で指定します。

デフォルト値は、5000 ミリ秒です。

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 数値 各マウス イベントの前に使用される遅延をミリ秒で指定します。
ObjectResolveRetryInterval OPT_WAIT_RESOLVE_OBJDEF_RETRY 数値 再生中にオブジェクトが解決できなかった場合に、再試行する前に待機する時間をミリ秒で指定します。ObjectResolveTimeout の値を超過した場合は、再試行は行われません。
ObjectResolveTimeout OPT_WAIT_RESOLVE_OBJDEF 数値 再生中にオブジェクトの解決を待機する時間をミリ秒で指定します。 オブジェクトが解決されるとすぐに、Silk4J はこのオブジェクトを認識することができます。
PlaybackMode OPT_REPLAY_MODE 数値 コントロールの再生方法を定義します。 「低レベル」を使用すると、マウスとキーボードを使用して各コントロールが再生されます。 「高レベル」を使用すると、API を使用して各コントロールが再生されます。 コントロールごとにデフォルトの再生モードが割り当てられています。 デフォルトの再生モードが選択されると、各コントロールごとのデフォルトの再生モードが使用されます。 デフォルト モードを使用すると、最も信頼できる結果が得られます。 「低レベル」または「高レベル」の再生を選択すると、すべてのコントロールの再生モードが選択した再生モードで上書きされます。

有効な値は、0、1、2 です。0 はデフォルト、1 は高レベル、2 は低レベルです。デフォルトで、これは 0 です。

PostReplayDelay OPT_POST_REPLAY_DELAY 数値 関数の呼び出しまたはプロパティの設定後に待機する時間をミリ秒で指定します。
RemoveFocusOnCaptureText OPT_REMOVE_FOCUS_ON_CAPTURE_TEXT ブール値
はい に設定すると、テキストのキャプチャ中にテスト対象アプリケーションからフォーカスが外れます。デフォルトでは いいえ に設定されており、テスト対象アプリケーションにフォーカスが残ります。テキストのキャプチャは、次のメソッドによる記録および再生中に実行されます。
  • TextClick
  • TextCapture
  • TextExists
  • TextRect
SyncTimeout OPT_SYNC_TIMEOUT 数値 オブジェクトが準備完了状態になる最大時間をミリ秒で指定します。
注: Silk Test 13.0 より前のバージョンの Silk Test からアップグレードする場合、OPT_XBROWSER_SYNC_TIMEOUT オプションが設定されていると、オプション ダイアログ ボックスに OPT_SYNC_TIMEOUT のデフォルト値が表示されますが、タイムアウトは定義した値に設定されています。
TransparentClasses OPT_TRANSPARENT_CLASSES 文字列のリスト
オブジェクト階層を単純化し、テスト スクリプトや関数のコードの行の長さを短くするために、次のテクノロジの確実に不要なクラスに対するコントロールを抑制できます。
  • Win32
  • Java AWT/Swing
  • Java SWT/Eclipse
  • Windows Presentation Foundation (WPF)
記録や再生中に無視したいクラスの名前を指定します。
OPT_WPF_CHECK_DISPATCHER_FOR_IDLE ブール値 WPF アプリケーションによっては、コントロールの実装方法が影響して、Silk Test 同期が機能しない場合があります。これにより、WPF アプリケーションがアイドルであることを Silk4J が認識できなくなります。このオプションを FALSE に設定すると、WPF 同期が無効になり、WPF アプリケーションを制御するスレッドである WPF ディスパッチャーを Silk4J が確認しないようになります。このオプションを 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 ブール値 記録および再生中に 、WPFComboBoxWPFListBox のような WPFItemsControl 内の項目を事前に入力するかどうかを定義します。WPF 自体が特定のコントロールの項目を遅延読み込みするため、項目がビューにスクロールされない場合、それらの項目は Silk4J では使用できません。ビューにスクロールされないとアクセスできない項目にアクセスするには、事前入力をオンにします。これはデフォルトの設定です。ただし、一部のアプリケーションでは Silk4J によってバックグランドで項目が事前入力されると問題が発生し、そのためアプリケーションがクラッシュすることがあります。この場合、事前入力をオフにします。
XbrowserEnableIframeSupport OPT_XBROWSER_ENABLE_IFRAME_SUPPORT ブール値

ブラウザーの iframe および frame のサポートを有効にするかどうかを指定します。Web アプリケーションの iframe の内容を無視して良い場合、iframe のサポートを無効にすると再生速度が速くなる可能性があります。たとえば、多くの広告が表示される Web ページやモバイル ブラウザーでテストする際に iframeサポートを無効にすると、再生パフォーマンスが大幅に向上する可能性があります。このオプションは、Internet Explorer では無視されます。このオプションは、デフォルトで有効になっています。

XBrowserExcludeIFrames OPT_XBROWSER_EXCLUDE_IFRAMES 文字列 リストの各項目で、属性名と対応する値を定義します。項目のどれにも一致しない iframe と frame は、テスト対象に含まれます。ワイルドカードを使用できます。たとえば、"src:*advertising*" という項目を定義すると、<IFRAME src=http://my.domain/advertising-banner.html> がテスト対象から除外されます。このオプションは、Internet Explorer では無視されます。リストが空の場合は、すべての iframe と frame がテストの対象となります。複数のエントリをカンマで区切って指定します。
XBrowserFindHiddenInputFields OPT_XBROWSER_FIND_HIDDEN_INPUT_FIELDS ブール値

非表示入力フィールドを表示するかどうかを指定します(タグに type="hidden" を指定した HTML フィールドです)。デフォルト値は、TRUE です。

XBrowserIncludeIFrames OPT_XBROWSER_INCLUDE_IFRAMES 文字列 リストの各項目で、属性名と対応する値を定義します。項目のどれにも一致しない iframe と frame は、テスト対象から除外されます。ワイルドカードを使用できます。たとえば、"name:*form" という項目を定義すると、<IFRAME name="user-form" src=...> がテスト対象に含まれます。このオプションは、Internet Explorer では無視されます。リストが空の場合は、すべての iframe と frame がテストの対象となります。複数のエントリをカンマで区切って指定します。
XBrowserSynchronizationMode OPT_XBROWSER_SYNC_MODE 文字列 サポートする同期モード (HTML または AJAX) を設定します。 HTML モードを使用すると、すべての HTML ドキュメントが対話的な状態になることが保証されます。 このモードでは、単純な Web ページをテストすることができます。 Java Script が含まれるより複雑なシナリオが使用される場合は、WaitForObjectWaitForPropertyWaitForDisappearance、または WaitForChildDisappearance などの同期関数を使用して手動でスクリプトを記述することが必要になる可能性があります。 AJAX モードを使用すると、同期関数を手動で記述する必要はなくなります。 デフォルト値は、AJAX に設定されています。
XBrowserSynchronizationTimeout OPT_XBROWSER_SYNC_TIMEOUT 数値 オブジェクトが準備完了状態になる最大時間をミリ秒で指定します。
注: 推奨されません。代わりに OPT_SYNC_TIMEOUT オプションを使用してください。
XBrowserSynchronizationURLExcludes OPT_XBROWSER_SYNC_EXCLUDE_URLS 文字列 ページ同期中に除外するサービスまたは Web ページの URL を指定します。 AJAX フレームワークやブラウザによっては、サーバーから非同期にデータを取得するために、特殊な HTTP 要求を継続して出し続けるものがあります。これらの要求により、指定した同期タイムアウトの期限が切れるまで同期がハングすることがあります。この状態を回避するには、HTML 同期モードを使用するか、問題が発生する要求の URL を 同期除外リスト 設定で指定します。

http://test.com/timeService のように URL 全体を入力したり、timeService のように URL の一部を入力します。

次のようにカンマで項目を区切ります。
desktop.setOption(Commonoptions.XBrowserSynchronizationURLExcludes, { "fpdownload.macromedia.com", "fpdownload.adobe.com", "download.microsoft.com" });