例:Google Chrome 上でのテストの実行

このトピックでは、Linux マシン上の Google ChromeSilk4J テスト セットを Apache Ant を使って実行するために、Docker コンテナを使用する方法を例をあげて説明します。テスト セットを実行する前に、次の手順を実行してください。
  • マシン上に Docker をインストールします。
  • Ant を使ってテストを実行する Silk4J プロジェクトを準備します。詳細については、「Apache Ant を使用したテストの再生」を参照してください。
  • プロジェクトを Linux マシンにコピーします(/home/<ユーザー名>/projects/InsuranceWeb など)。
Silk4J テスト セットを Google Chrome 上で実行するには:
  1. 関連するイメージの最新のバージョンをレジストリにプルします。 たとえば、この例では次の 3 つのイメージが必要です。
    • 最新の Silk Test イメージ
      docker pull functionaltesting/silktest:latest
    • 最新の Google Chrome イメージ
      docker pull selenium/standalone-chrome:latest
    • テストを実行する Ant コンテナ
      docker pull webratio/ant:latest
  2. Docker の仮想ネットワークを作成し、Docker コンテナがお互いに通信できるようにします。 この例では、my-network という名前のネットワークを作成します。
    docker network create my-network
  3. Google Chrome Docker コンテナを開始します。
    docker run --network my-network --name chrome selenium/standalone-chrome:latest
  4. Open Agent Docker コンテナを開始します。
    docker run -e SILK_LICENSE_SERVER=<license-server address>
      -e SILK_LOG_FILE_PATH=/logs
      -v /home/<user name>/projects/logs:/logs
      --network my-network
      --name agent
      functionaltesting/silktest:latest
    利用可能な環境変数についての詳細は、「Silk Test イメージの環境変数」を参照してください。
  5. Ant Docker コンテナを開始して、テストを実行します。
    docker run -v /home/<user name>/projects/InsuranceWeb:/tmp/project
      --network my-network
      --name=test-runner
      -it webratio/ant:1.10.1 ant
        -DagentRmiHost=agent:22902
        -Dsilktest.configurationName="host=http://chrome:4444/wd/hub;platformName=Linux - Chrome"
        -buildfile /tmp/project/build.xml runTests
  6. /home/<ユーザー名>/projects/logs の下にあるテスト結果を表示します。
  7. 省略可能:テスト環境をクリーンアップするには、次のコマンドを実行します。
    • Open Agent Docker コンテナを停止します。
      docker stop agent
    • Google Chrome Docker コンテナを停止します。
      docker stop chrome
    • Open Agent Docker コンテナを削除します。
      docker rm agent
    • Google Chrome Docker コンテナを削除します。
      docker rm chrome
    • Ant Docker コンテナを削除します。
      docker rm test-runner
    • 仮想ネットワークを削除します。
      docker network rm my-network