Silk4J は GUI テスト製品で、自動化された状況下での有意なテスト結果を得るために、人間のように振舞います。Silk4J が実行したテストは、人間が実行するよりもすばやく実行しますが、同等の価値のあるものです。このことは、人間が同じテストを実行するために必要なテスト環境とできる限り同等なテスト環境を Silk4J が必要とすることを意味します。
実際のアプリケーション UI の手動テストでは、キーボード、マウス、ディスプレイなどの入出力デバイスが必要です。Silk4J では、テストの再生時に物理的な入力デバイスを必要としません。Silk4J に必要なものは、キーストロークやマウス クリックを実行するオペレーティング システムの機能です。大抵の場合、入力デバイスが接続されていなくても、Silk4J の再生は期待通り動作します。ただし、デバイス ドライバによっては、物理的な入力デバイスが利用可能でないと、Silk4J の再生機構をブロックする場合があります。
同じことが物理的な出力デバイスについても言えます。物理的なディスプレイが接続されている必要はありませんが、機能するビデオ デバイス ドライバがインストールされ、オペレーティング システムが画面にレンダリングできる状態になければなりません。たとえば、スクリーン セーバー モードやセッションがロックされている状況では、レンダリングできません。レンダリングできない場合、低レベルの再生は機能せず、高レベルの再生もテスト対象アプリケーション (AUT) で使用するテクノロジに依存しますが、期待通り機能しない可能性があります。
Silk4J は仮想化ベンダーを直接サポートしませんが、仮想ゲスト マシンが物理マシンと同等に動作する限り、任意の仮想化手法のもとで動作可能です。標準的な周辺機器は、通常は仮想デバイスとして提供されており、仮想マシンを実行するマシンで使用されている物理デバイスとは無関係です。
自動化の観点からは、クラウド インスタンスは仮想マシンと変わりありません。ただし、クラウド インスタンスでは、ビデオ レンダリングに特殊な最適化が行われている場合があり、ハードウェア リソースの消費を抑えるために、画面のレンダリングが一時的にオフになる状況があります。これは、ディスプレイを表示しているアクティブなクライアントが無いと、クラウド インスタンスが検知した場合に発生する場合があります。このような場合、回避策として VNC ウィンドウを開くことができます。
Silk4J がリモート デスクトップ、リモート ビュー、リモート アプリ ウィンドウなどとの対話操作に使用される場合は、Silk4J が見ることができるのはリモート マシンのスクリーンショットだけであるため、低レベルな技術だけが使用できます。リモート表示技術によっては、セキュリティ上の制約により、低レベル操作でさえできないものもあります。たとえば、リモート アプリケーション ウィンドウにキーストロークを送信できない場合があります。
Silk4J では、ログオンした対話的なフル ユーザー セッションが必要です。スクリーン セーバー、休止状態、スリープ モードなどのセッションをロックするものは無効化してください。組織の方針などで、これができない場合は、キープ アライブ 操作 (定期的にあるいは各テスト ケースの終わりにマウスを動かすなど) を追加することによって、このような問題を回避できます。