スクリプトでの基本状態の変更

Silk4J が再生時にテスト対象アプリケーションを開始する方法を指定する基本状態を、スクリプトで編集できます。基本状態では、AUT の実行可能ファイルの場所、作業ディレクトリ、Web アプリケーションの URL や接続文字列などを指定できます。たとえば、ステージング Web サイトで既に実行したテストを、プロダクション Web サイトで実行する場合には、基本状態の URL を変更すれば、新しい Web サイトに対してテストを実行することができます。

注: Silk4J が記録や再生時にテスト対象アプリケーション (AUT) を開始する方法を指定するには、ユーザー インターフェイスから基本状態を編集します。詳細については、「基本状態の変更」を参照してください。

スクリプトで基本状態を編集するには:

  1. スクリプトを開きます。
  2. baseState メソッドを変更します。
    基本状態の作成と実行との間にコードを追加できます。
    // Web ページ 'demo.borland.com/InsuranceWebExtJS' へ移動します。
    BrowserBaseState baseState = new BrowserBaseState();
    // <-- ここに変更を挿入します。
    baseState.execute();
  3. テストするアプリケーションの実行可能ファイルの名前とファイルへのパスを指定する場合は、次のコードを使用します。
    baseState.setExecutable(executable);
    たとえば、電卓を指定する場合は、次のように入力します。
    baseState.setExecutable("C:\\Windows\\SysWOW64\\calc.exe");
    Mozilla Firefox を指定する場合は、次のように入力します。
    baseState.setExecutable("C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");
  4. コマンド ライン引数を指定する場合は、次のコードを使用します。
    baseState.setCommandLineArguments(commandLineArguments);
    たとえば、Mozilla FirefoxmyProfile プロファイルを指定して起動する場合は、次のように入力します。
    baseState.setCommandLineArguments("-p myProfile");
  5. 他の作業ディレクトリを指定する場合は、次のコードを使用します。
    baseState.setWorkingDirectory(workingDirectory);
  6. 実行可能ファイル パターンを使用する場合には、次のコードを使用します。
    baseState.setExecutablePattern(executablePattern);
    たとえば、電卓に対して実行可能ファイル パターンを指定する場合は、次のように入力します。
    baseState.setExecutablePattern("*\\calc.exe");
  7. 実行可能ファイルと一緒にコマンド ライン パターンを使用する場合は、次のコードを使用します。
    baseState.setCommandLinePattern(commandLinePattern);
    コマンド ラインの使用は、Java アプリケーションに対して特に有益です。これは、ほとんどの Java プログラムが javaw.exe を使用して実行されるためです。つまり、典型的な Java アプリケーションに対してアプリケーション構成を作成する場合、実行可能パターンには *\javaw.exe が使用され、このパターンはすべての Java プロセスに一致します。このような場合、コマンド ライン パターンを使用して、該当するアプリケーションのみがテストに対して有効化されるようにします。 たとえば、アプリケーションのコマンド ラインが com.example.MyMainClass で終わる場合には、コマンド ライン パターンに *com.example.MyMainClass を使用します。
    baseState.setCommandLinePattern("*com.example.MyMainClass");
  8. Web アプリケーションまたはモバイル Web アプリケーションをテストする場合、現在のプロジェクトに対してアプリケーション構成が設定されていない場合は、インストール済みのブラウザまたはモバイル ブラウザから 1 つを指定します。 たとえば、Google Chrome を指定する場合は、次のように入力します。
    baseState.setBrowserType(BrowserType.GoogleChrome);
  9. Web アプリケーションまたはモバイル Web アプリケーションをテストする場合、現在のプロジェクトに対してアプリケーション構成が設定されていない場合は、テストする Web アプリケーションのアドレスを指定します。
    baseState.setUrl(url);
    たとえば、次のように入力します。
    baseState.setUrl("demo.borland.com/InsuranceWebExtJS/");
  10. デスクトップ ブラウザー上の Web アプリケーションをテストする場合は、ブラウザー ウィンドウの幅と高さを指定できます。
    baseState.setViewportHeight(viewportHeight);
    baseState.setViewportWidth(viewportWidth);
  11. リモート ロケーション上の Web アプリケーション、またはモバイル ネイティブ アプリケーションをテストする場合は、接続文字列を指定します。
    new MobileBaseState(connectionString);
    接続文字列についての詳細は、「リモート デスクトップ ブラウザーの接続文字列」または「モバイル デバイスの接続文字列」を参照してください。
  12. Mozilla Firefox または Google Chrome のケイパビリティを編集する場合にも、接続文字列を使用できます。 たとえば、Mozilla Firefox のダウンロード フォルダーを設定する場合は、次のように入力します。
    baseState.setConnectionString(
      "moz:firefoxOptions="
      + "{"
      + " \"prefs\": {"
      + "        \"browser.download.dir\":\"C:\\\\Download\\\\\""
      + "     }"
      + "};");
    詳細については、「WebDriver ベースのブラウザーのケイパビリティの設定」を参照してください。