本番環境の管理者認証情報、電話番号、ID 番号などの機密情報がテストで使用されることがあります。このような場合、シークレット情報がバージョン履歴に公開されたり、プレーンテキストで保存されたりすることは避けたいものです。Testim には、機密値を一元管理できる Secrets Manager が備わっています。構造化されたシークレットは、顧客管理キーを使用して AES-256 で暗号化されます。テストアーティファクトは、AWS デフォルトのサーバー側暗号化(SSE-S3)を介して AES-256 を使用して保存時に暗号化されます。シークレットはステップに割り当てることができ、共有ステップを含むテスト全体で再利用できます。テスト実行中、Testim は HTTPS(TLS)を使用して転送中の値を暗号化することに注意することが重要です。ただし、シークレットはフィールドタイプがパスワードの場合にのみ非表示になります。つまり、シークレットはパスワードフィールドにある場合にのみ、スクリーンショットでアスタリスクとして表示されます。
Secrets Manager
Secrets Manager にアクセスするには、メインメニューから Resources を選択します。ここで、すべてのシークレットを表示および管理できます。また、以下も確認できます:
- シークレットを作成したユーザー。
- 作成日時。
- 最終更新日時。
Test Editorからシークレットマネージャーにアクセスすることもできます。シークレットを含むテストを選択し、シークレットを使用するステップを選択し、Properties を選択してから、Go to secrets manager を選択します。

シークレットの作成
新しいシークレットを作成するには、以下の手順に従います:
- Resources > Secrets Manager に移動します。
- New Secret をクリックします。

- Name フィールドに、シークレットの名前を入力します。以下に説明する正しい構文に従っていることを確認してください。
- Value フィールドに、秘密にしておく値(電話番号、パスワードなど)を入力します。
- Description フィールドに、オプションでシークレットの説明を入力します。
- Create をクリックします。
シークレットの編集または削除
Secret を編集または削除するには、以下の手順に従います:
- サイドメニューから Resources を選択して、Secrets Manager を開きます。
- 編集したいシークレットを右クリックして、Edit を選択します。シークレットを削除する場合は、代わりに Delete を選択します。
シークレットがテストで使用されている場合は、まずそこから削除する必要があります。シークレットを削除すると、そのシークレットを使用しているすべてのテストに影響します。これには、ステップ、テストデータ、CLI の使用が含まれます。シークレットを削除する前に、関連するテストからシークレットを更新または削除してください。

テストでのシークレットの使用
テストを記録する際、AUT のフィールドにテキストを入力すると、Set Text ステップが作成されます。Set Text ステップのプロパティで、フィールドに入力される値を入力する代わりに、以前に作成したシークレットの 1 つを割り当てることができます。 テストにシークレットを追加するには、以下の手順に従います:
- Test Editorを開き、シークレットを追加するステップを選択します。
- Set Text ステップの Show Properties ボタンを選択します。
ステップの Properties ペインが表示されます。 - Assign の下で、Secret オプションを選択します。
- リストから使用したいシークレットを選択します。

テストデータ
Test Data の一部としてシークレットを使用することもできます。データ駆動ステップでシークレットを参照することで使用できます。テストを実行する際にこれらのシークレットが使用されるように、テストデータエディターで事前定義されたシークレットパラメーターを設定するだけです:
parameterName: SECRETS.parameterValue.<value>
例:

設定ファイルへのシークレットの追加
設定ファイルは、テストやテストスイートを実行するために必要なすべてのパラメーターを含む一般的な JS ファイルです。これには、単一のテストまたはすべてのテストの前後にアプリケーションバックエンドをセットアップし、パラメーターを定義するために使用できる実行フックが含まれています。設定ファイルは、config という名前の JSON ですべてのプロパティをエクスポートする必要があります。設定ファイルでのシークレットの定義は、他のパラメーターと同じオーバーライドルールに従います。
シークレットの構文(設定ファイル)
シークレットには以下の構文を含める必要があります:
SECRETS.<keyName><keyName>- これを、Name フィールドで設定されたシークレットの名前に置き換えます。
例:

パラメーターファイルへのシークレットの追加
JSON パラメーターファイルを使用すると、テスト実行にパラメーターを渡すことができます。この方法を使用すると、テスト環境によって異なる動的な値をテスト内で定義できます。例えば、ローカルでテストする場合と CI でテストする場合で、異なるログイン認証情報(ユーザー名とパスワード)を設定できます。パラメーターを定義する JSON パラメーターファイルを作成し、テストを実行する際に JSON パラメーターファイルを呼び出すコマンドに引数を追加できます。CLI コマンドは、実行に含まれるテストにパラメーターを渡します。
シークレットの構文
シークレットには以下の構文を含める必要があります:
SECRETS.<keyName><keyName>- これを、Name フィールドで設定されたシークレットの名前に置き換えます。
パラメーターファイルをシークレット対応にする
現在、パラメーターファイルは JSON ファイル形式で定義されていますが、このタイプの静的ファイルはシークレットの使用をサポートしていません。
パラメーターファイルをシークレット対応にするには:
- ファイル名を
.JS拡張子に変更します(.jsonの代わりに)。例 -<file name>.js - 最初の行として
module.exports=を追加します:
module.exports = { username: SECRETS.<keyName>, password: SECRETS.<keyName>,}例:

シークレットを含むテスト実行の表示
シークレットを含むテスト実行は、アイコンでマークされます(以下を参照)。
