$env
変数のプロパティを使って、Synthetics スクリプト制御のモニター(Scripted Browser と API Test)を多くのコンテキストに対応させることができます。
目次
$env
プロパティのリファレンス
$env
は、「environment」[環境]の略称です。以下で説明するプロパティを使用して、実行時に、スクリプトで実行時環境に関する重要な情報を埋め込んで、使用することができます。
プロパティ | タイプ | 説明 | scripted browser で利用できる? | scripted API で利用できる? |
---|---|---|---|---|
$env.JOB_ID |
文字列 | 実行中のジョブを特定するユニークな ID (`UUIDv4`) | はい | はい |
$env.MONITOR_TYPE |
文字列 | ジョブを実行しているモニターのタイプ | はい | はい |
$env.API_VERSION |
文字列 | このモニターが利用している API バージョン | はい | はい |
$env.LOCATION |
文字列 | ジョブの実行場所 (例: aws-us-east-1 や (プライベートロケーションの場合) 123-my_location-81D ) |
はい | はい |
$env.PROXY_HOST |
文字列 | HTTP トラフィックのメトリクスを収集するプロキシのホスト | いいえ | はい |
$env.PROXY_PORT |
数値 | HTTP トラフィックのメトリクスを収集するプロキシのポート番号 | いいえ | はい |
例
$env
をインポートする必要はありません。$browser
や $http
変数のように利用できます。
console.log('running in ' + $env.LOCATION); $browser.get('https://example.com');
プロキシプロパティの理解
HTTP トラフィックのメトリクスを解析、収集するには、Synthetics は、トラフィックが概念的なファンネル (HTTP リクエスト/レスポンスを解析し、情報の収集が可能なソフトウェアコンポーネント) を通過するようにしてください。
Scripted Browser では、HTTP プロキシを使わずに済む方法を考えたので、設定は必要ありません。API Test では、$http オブジェクトを提供しています。これには、リクエストが、我々の内部の HTTP プロキシを通過するようにあらかじめ設定されています。よって、プロキシの設定を気にする必要なく、テストをかけます。
しかし、時には、上記の方法では不足であるかもしません。HTTP トラフィックのメトリクスを収集するのは変わらないが、HTTP トラフィックの生成を別の方法で行いたいことがあるかもしれません。そのために、PROXY_HOST
と PROXY_PORT
を公開しています。スクリプト内でこのプロパティを使うことで、トラフィックのメトリクスが収集され続けることを保証します。
関連情報
関連する情報は以下のとおりです。
- Scripted Browsers 用のコードの書き方 (複数ステップのある WebDriverJS スクリプトの書き方)
- Scripted browser の例 (scripted browsers 用コメント付きのコードの例。サイト内の検索や読み込み完了まで待つ方法など)
- Synthetics Scripted Browser リファレンス (利用可能な全関数のリスト)
- API テストの書き方 (API エンドポイントへのテストを書く方法)
- モニターの追加と編集 (New Relic Synthetics にモニターを追加する方法。設定方法にも言及)
- プライペートロケーションの概要 [英語] (プライペートミニオンを追加して、カバー範囲の拡張およびイントラネットを監視する方法について)