テストをカスタマイズ
カスタムテスト設定を作成
Webhookを利用したりテストの実行をカスタマイズしたりする場合は、pomを自分で設定できます。
ここではpom.xmlの例を示しますが、設定可能なオプションは以下のとおりです。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.talend.ci.api-tester</groupId>
    <artifactId>petstore_api</artifactId>
    <version>1.0.0</version>
    <build>
        <plugins>
            <plugin>
                <!-- The Talend maven plugin -->
                <groupId>org.talend.ci</groupId>
                <artifactId>api-tester-maven-plugin</artifactId>
                <version>1.0.0</version>
                <executions>
                    <execution>
                        <phase>test</phase>
                        <goals>
                            <goal>test</goal>
                        </goals>
                        <configuration>
                          <file>Petstore_API.json</file>
                          <selectedEnvironment>API Services's context</selectedEnvironment>
                          <!-- Put your Account ID here. Consult your Account Information in Talend Management Console Subscription page -->
                          <accountId>${account_id}</accountId>
                          <instance>us</instance>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <pluginRepositories>
        <!-- Put your plugin repository configuration here -->
    </pluginRepositories>
</project>Pom設定
以下の属性をpomに追加して、プラグインの動作を微調整できます。追加方法には次の2つがあります。
- pomの設定タグ(上の例の属性ファイルを参照してください)
 - JVM引数でプラグインに渡す
 
Pomで属性が${attributeName}で定義されている場合は、JVMプラグインを使用してmvnコマンドを実行すると、値を渡すことができます。上記のpomのaccountIdの場合、以下のように渡すことができます。
mvn clean test -Daccount_id=492b2ecd-888d-4087-8ab5-42cab17334adPom属性
次の表に、使用可能なカスタマイズオプションを示します。
| 名前 | タイプ | 必須 | デフォルト | 説明 | 
|---|---|---|---|---|
| file | ファイル | Yes | デフォルト値なし | Pomの場所からのTalend Cloud API Testerエクスポートファイルを指すファイルパス。 | 
| selectedEnvironment | 文字列 | なし | デフォルト値なし | 使用する環境の名前(JSONファイルにエクスポートされていることをご確認ください)。 | 
| account_id | 文字列 | Yes | デフォルト値なし | 有効なアカウントID。 Account IDは、Talend Management Console[Subscription] (サブスクリプション)ページで確認できます。このページにアクセスできない場合は、管理者にお問い合わせください。  | 
            
| stopOnFailure | ブール値 | いいえ | false | エラー/障害が発生した場合、ビルドの処理を停止します。 | 
| httpclientTimeoutInMs | 整数 | いいえ | 60000 | HTTPタイムアウトまでの時間(ミリ秒)。 | 
| variables | プロパティ | なし | デフォルト値なし | カスタム変数。 | 
| xhrEmulation | ブール値 | いいえ | true | accept-*など、ブラウザーにより自動的に追加されるヘッダーを追加してChromeの拡張機能の動作を模倣します。 | 
| followRedirects | 文字列 | いいえ | なし | MavenプラグインでブラウザーのChrome拡張設定で使用可能なリダイレクトをフォローするかどうかを示します。使用可能な値はNONEまたはALLです。 | 
| beforeTest | URL | なし | デフォルト値なし | テストを開始する前に通知を送信するURL。 | 
| afterTest | URL | なし | デフォルト値なし | テストの完了後に通知を送信するURL。 | 
| begin | URL | なし | デフォルト値なし | 最初のテストが実行される前に通知を送信するURL。 | 
| end | URL | なし | デフォルト値なし | 最後のテストが実行された後に通知を送信するURL。 | 
| useMavenProxies | ブール値 | いいえ | false | ~/.M2/settings.xmlで設定されたプロキシを、テストのHTTPコールに使用するかどうかを示します。 | 
以下は完全な設定例です:
<configuration>
    <file>/path/to/json/configuration/file.json</file>
    <selectedEnvironment>QA</selectedEnvironment>
    <accountId>${account_id}</accountId>
    <stopOnFailure>true</stopOnFailure>
    <httpclientTimeoutInMs>30000</httpclientTimeoutInMs>
    <xhrEmulation>false</xhrEmulation>
    <followRedirects>ALL</followRedirects>
    <beforeTest>https://my-ci-api.com/api1/notifications</beforeTest>
    <afterTest>https://my-ci-api.com/api1/notifications</afterTest>
</configuration>環境変数の上書き
環境変数を上書きするには、プラグインの設定でvariablesタグを追加します。
特定のマシン上の別のポートでAPIを実行する必要がある場合は、環境変数host経由で443に設定されていても、1337のポートで実行する必要があります。これは、次に示すように環境変数portを上書きすることで簡単に行うことができます。
<configuration>
    <file>test.json</file>
    <selectedEnvironment>localhost</selectedEnvironment>
    <variables>
        <!-- The variable port's value will be overwritten to 1337 -->
        <property>
            <name>port</name>
            <value>1337</value>
        </property>
        <!-- The variable apiEndpoint's value can be set when invoking Maven -->
        <property>
            <name>apiEndpoint</name>
            <value>${api.endpoint}</value>
        </property>
    </variables>
</configuration>mvn test -Dapi.endpoint=https://httpbin.orgプロキシを使用
APIはプロキシ経由のアクセスに限られる可能性があります。この場合、Talendではmavenプラグインによって行われたすべてのHTTPコールに対してプロキシを設定する簡単な方法が用意されています。
システムプロキシ設定
テストコンピューターのシステム全体でプロキシが設定されている場合は、単純なプラグインを使用してプラグインを起動できます。
mvn test -Djava.net.useSystemProxies=trueこの引数は、最近のWindowsシステムとGnome 2.xシステムで利用可能です。詳細は、[Networking Properties] (ネットワークプロパティ)を参照してください。
Mavenプロキシ設定
Mavenプラグインでは、以下の設定を使用するだけで、settings.xmlで定義されたMavenのインストールプロキシ設定を再利用できます。
<configuration>
  <file>/test.json</file>
  <useMavenProxies>true</useMavenProxies>
</configuration>Mavenプロキシ設定の詳細は、[Configuring a proxy] (プロキシの設定)を参照してください。
JVMプロキシ設定
プロキシ設定は、標準のJVM引数を使用して実行時に設定することもできます。
JVMネットワークの引数の詳細は、[Oracle Networking Properties] (Oracleネットワーキングプロパティ)を参照してください。
JVMプロキシ設定はすべてのJVMに適用され、他のMavenプラグインやターゲットでも実行されるすべてのリクエストに影響します。
HTTPプロキシ設定
プロキシがhttpプロトコルを使用している場合は、次の引数を使用できます。
| 名前 | デフォルト | 説明 | 
|---|---|---|
| http.proxyHost | "" | プロキシサーバーのホスト名またはアドレス | 
| http.proxyPort | 80 | プロキシサーバーのポート番号 | 
| http.proxyUser | "" | プロキシで基本認証が使用された場合の認証のユーザー名 | 
| http.proxyPassword | "" | プロキシで基本認証が使用された場合の認証のパスワード | 
| http.nonProxyHosts | localhost|127.*|[::1] | サポートされていません。プロキシを経由せずにアクセスする必要があるホストを示します | 
以前の引数を指定すると、Mavenプラグインを使用できます。
mvn test -Dhttp.proxyHost=192.168.1.127HTTPSプロキシ設定
プロキシでhttpsプロトコルが使用されている場合は、次の引数を使用できます。
| 名前 | デフォルト | 説明 | 
|---|---|---|
| https.proxyHost | "" | プロキシサーバーのホスト名またはアドレス | 
| https.proxyPort | 443 | プロキシサーバーのポート番号 | 
| http.proxyUser | "" | プロキシで基本認証が使用された場合は認証のユーザー名 | 
| http.proxyPassword | "" | プロキシで基本認証が使用された場合は認証のパスワード | 
| http.nonProxyHosts | localhost|127.*|[::1] | サポートされていません。プロキシを経由せずにアクセスする必要があるホストを示します | 
以前の引数を指定すると、Mavenプラグインを使用できます。
mvn test -Dhttps.proxyHost=192.168.1.127通知形式
テスト通知の前後
Mavenプラグインでは、各テストの前後に、選択したURLに通知を送信できます。PomでbeforeTestパラメーターとafterTestパラメーターを設定すると、各テストの開始時と終了時に設定で指定したURLにPOSTリクエストが送信されます。
リクエストボディは次のようになります。
{
  "name":[test name],
  "event":[BeforeTest|AfterTest],
  "result":[Ok|Failure|Error] 	<- present only if event=afterTest
}通知の開始/終了
Mavenプラグインが開始時と終了時に選択したURLに通知を送信するように設定できます。Pomでbeginパラメーターとendパラメーターを設定すると、プラグインの実行開始時および終了時に、設定で指定したURLにPOSTリクエストが送信されます。
リクエストボディは次のようになります。
{
  "event":[Begin|End]
}