Tosca Execution Clientを 使用する

Tosca CI/CDインテグレーションにより、Tricentis Toscaをお客様のCI/CDパイプラインに組み込むことができます。また、例えばToscaがインストールされていない環境など、他の環境と組み合わせることもできます。

Tricentis Toscaは Tosca CI/CDを統合する様々な方法を提供します。このトピックでは、 Tosca Execution Clientを使用してテストをトリガーする方法について説明します。Tosca Execution Client は完全にスクリプトベースなので、Tosca CI/CDインテグレーションをお客様のニーズに合わせてカスタマイズできます。

Tosca ExecutionClientアーキテクチャ

前提条件

  • Tosca Execution Client を使用するには、 AOSでTosca Distributed Execution を使用するか、またはTosca Cloudインテグレーションを使用することができます。

  • HTTPSバインディングでTosca Serverを使用する場合は、 TricentisTricentisTosca ユーザー管理から個人APIアクセストークンを取得する必要があります。Tosca Execution Clientを認証するには、トークンのClientIDとクライアントシークレットが必要です。

イベントを理解する

して動作します。イベントとは、実行する TestEvents または ElasticExecutionGridEvents のコレクションのことです。また、TestEventまたは ElasticExecutionGridEvent が1つだけあるイベントを持つこともできます。

Toscaがランタイムでどのように実行を処理するかを定義するには、テストコンフィギュレーションパラメータと特性をイベントに追加します。

テストコンフィギュレーションパラメータを使用する

テスト構成パラメータは通常、例としてUI テストに使用するブラウザの環境情報を定義します。イベントで定義したパラメータは、個々のテストに設定したパラメータを上書きします。これにより、複数のテストを再設定することなくテストランを微調整できます。

例えば、2つのExecutionListで構成されるTestEventがあるとします。両方のExecutionListsには、テストコンフィギュレーションパラメータを設定しています。一方はChromeで、もう一方はFirefoxで実行する必要があります。しかし、この特定のテストランでは、Safariで両方のExecutionListsを実行したいのです。ExecutionListsを再設定する代わりに、イベント内でブラウザパラメータを設定することができます。ランタイムで、ToscaはExecutionListsのパラメータの代わりにこのパラメータを適用します。

特性を使用する

特性は、どのエージェントがテストを実行するかを定義いたします。

イベントで定義した特性は、TestEventsまたはElasticExecutionGridEvents で定義した特性を上書きします。これにより、複数のテストを再設定することなくテストランを微調整できます。

イベントに2つのTestEventがあるとします。一方は、実行する Agent が2GBのメモリを必要とすることを指定し、もう一方は、実行する Agent が4GBを必要とすることを指定します。ただし、この特定の実行は、8GBのメモリを持つ Agent でのみ実行される必要があります。TestEventsを再設定する代わりに、必要な特性をご自身のイベントに設定することができます。そうすることでToscaは、ランタイムでテストイベントの代わりにその特性を適用します。

Clientにどのテストを実行するかを伝える

実行するテストを定義するには、以下のオプションのいずれかを選択します。

  • TestEvents/ElasticExecutionGridEventsをコマンドラインに直接リスト化します。

  • この情報でJSONファイルを作成し、コマンドラインでファイルを参照します。テストコンフィギュレーションパラメータ(TCP)や特性を追加したい場合は、ファイルオプションを使用する必要があります。

JSONファイルの内容

何をしたいかによって、JSONファイルの内容を組み合わせて使用します。

  • 実行したいTestEvents/ElasticExecutionGridEventsの簡単なリストを作成します。

  • いくつかのTCPや特性を追加します。

  • すべてのTCPおよび/または特性を追加します。

このサンプルでは、2つのTestEventの簡単なリスト用のJSONファイルの構造を示しています。

[
    "TestEvent 1",
    "TestEvent 2"
]

このサンプルは、2つのTestEventを実行したい場合のJSONファイルの構造を示しています。この場合、そのうちの1つにTCPと特性を追加します。

[
    "TestEvent 1",    
    {
      "eventId": "TestEvent 2",
      "parameters": {
        "TCP 1 name": "TCP 1 value",
        "TCP 2 name": "TCP 2 value"
      },
      "characteristics": {
        "characteristic 1 name": "characteristic 1 value",
        "characteristic 2 name": "characteristic 2 value"
      }
    }
]

このサンプルは、2つのTestEventを実行したい場合のJSONファイルの構造を示しています。この場合、両方にTCPと特性を追加します。

[  
    {
      "eventId": "TestEvent 1",
      "parameters": {
        "TCP 1 name": "TCP 1 value",
        "TCP 2 name": "TCP 2 value"
      },
      "characteristics": {
        "characteristic 1 name": "characteristic 1 value",
        "characteristic 2 name": "characteristic 2 value"
      }
    },
    {
      "eventId": "TestEvent 2",
      "parameters": {
        "parameter 1 name": "parameter 1 value",
        "parameter 2 name": "parameter 2 value"
      },
      "characteristics": {
        "characteristic 1 name": "characteristic 1 value",
        "characteristic 2 name": "characteristic 2 value"
      }
    }
]

開始するには

GitHubレポジトリをチェックし、そこで次のアクションを実行できます。

  • Tosca Execution Client をダウンロードします。WindowsとLinux用のクライアントを提供しています。

  • クライアントが実行するマシンを準備する方法について知ります。

  • コマンドと使用可能な引数について詳細情報を取得します。

これらの例は、 Tosca Execution Client での実行を開始するのに役立ちます。

例1: インラインイベント定義のあるPowerShell

この例では、どのTestEventを実行するかの情報を含むPowerShellコマンドを使用します。

.\tosca_execution_client.ps1 -toscaServerUrl "https://111.111.111:443" -events '["TestEvent_1", "TestEvent_2"]' -projectName "MyProjectRootName" -clientId "ABCDE" -clientSecret "1a2b3c"

例2: イベント定義をファイルに記述したPowerShell

この例では、 events.json というファイルを使用して、どのTestEventを実行するかを定義します。

これがJSONファイルの内容です。

[
    "MyTestEvent1",
    {
      "eventId": "MyTestEvent2",
      "parameters": {
        "Browser": "Chrome"
      },
      "characteristics": {
        "AppVersion": "15.0"
      }
    }
]

そしてこれがPowerShellコマンドです。

.\tosca_execution_client.ps1 -toscaServerUrl "https://111.111.111:443" -eventsConfigFilePath ".\events.json" -projectName "MyProjectRootName" -clientId "ABCDE" -clientSecret "1a2b3c"

例3: インラインイベント定義によるBash

この例では、どのTestEventsを実行するかについての情報を含むBashコマンドを使用します。

./tosca_execution_client.sh --toscaServerUrl "https://111.111.111:443" --events '["TestEvent_1", "TestEvent_2"]' --projectName "MyProjectRootName" --caCertificate "ToscaServerTest.pem" --clientId "ABCDE" --clientSecret "1a2b3c"