条件のテスト

日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

!重要機能の利用可能性は段階的に展開される一部です。御社の組織はまだこの機能を見られないかもしれません。導入時に環境が導入された際に利用可能になります。

Sitecore Personalize、特定のゲストと照合して条件をテストすることができます。

公開前に条件をテストし、エラーを特定し最適なパフォーマンスを確保することをお勧めします。コードを変更した後は、同じゲストで再度条件をテストし、結果を確認してください。

リクエストでヘッダーやパラメータを渡す必要があるより高度なユースケースでは、高度な条件をテストすることができます。

条件をテストする際、Sitecore Personalizeサーバー側でJavaScriptをテストします。これにより、JavaScriptが実行されるコンテキスト内で検証されることが保証されます。

UserDeveloperAdminまたはSitecore Cloud Portalで役割を持つチームメンバーは、状態を検査することができます。

条件をテストするには:

  1. 条件を開いて 「テスト」をクリックします。

    Testing a condition
  2. テスト条件ダイアログでは、デフォルトのゲストの属性と照合するか、検索ボックスをクリックして最近のゲストリストから「最近」を選択、ブックマークしたゲストリストから「ブックマーク」を選択できます。システムは最近アクティブだったゲストを選択します。例えばメールアドレス、他のユニークな識別子、ブラウザIDなどを使ってゲストを検索できます。

    !注コードの設定やテスト時によく使うゲストのデータを使っている場合は、スターアイコンをクリックしてゲストをブックマークするだけで、もう探す必要がなくなりましょう。

  3. ゲストデータを一時的に変更するには(これは一時的で、ゲストに関連付けられた属性は変更しません)、コードエディタでJSONを編集してください。

  4. テストをクリックします。条件は本番環境で動作し、選択したゲストのデータに対して動作します。条件の出力は応答タブに表示されます。

ゲストパラメータの追加

ゲストパラメータを設定して、テストの応答でそれらを閲覧できるようにすることができます。これを実現するには、条件内にguestコンテキストを呼び出す関数を含める必要があります。

条件にゲストパラメータを追加するには:

  1. コードエディタで、以下のJavaScriptを含めると、guestコンテキストを呼び出します。以下は以下の通りです。

    (function () { return { guest: guest }; })();

  2. 条件 パラメータオプションをクリックして 値を入力してください。

  3. テストをクリックします。条件の出力(ゲストパラメータを含む)がResponseタブに表示されます。

POSパラメータを追加してください

Point of Saleパラメータを設定して、テストの応答でそれを表示できるようにできます。これを実現するには、requestコンテキストを呼び出す関数を条件に含める必要があります。

条件にPOSオブセールパラメータを追加するには:

  1. コードエディタで、requestコンテキストを呼び出すためのJavaScriptを含めることができます。ここに示されています:

    (function () { return { request: request }; })();

  2. エクスペリエンスリクエストオプションをクリックし、ドロップダウンリストから販売時点を選択します。

  3. 「テスト」をクリックします。条件の出力(Point of Saleパラメータを含む)が**「レスポンス**」タブに表示されます

テナントパラメータの追加

tenantパラメータを設定して、テストの応答でそれらを閲覧できるようにすることができます。これを実現するには、条件にtenantコンテキストを呼び出す関数を含める必要があります。

条件にテナントパラメータを追加するには:

  1. コードエディタで、以下のJavaScriptを含めると、tenantコンテキストを呼び出します。以下は以下の通りです。

    (function () { return { tenant: tenant }; })();

    例えば、標準の 訪問月(組織タイムゾーン) 条件には、JavaScriptにtenant.configurations.timezoneパラメータが含まれており、以下に示されています。

    (function () { load("classpath

    .js"); load("classpath
    .js"); var returnValue = false; var comparison = false; var comparator = "is | enum(is, is not) | is | { required: true }"; var operatorValue = "compares to | enum(is equal to,is greater than,is less than,is greater than or equal to,is less than or equal to,is between) | | { required: true, placeholder: compares to} "; var dayOfMonth = Number("number | number | | { required: true, min: 0, max: 31, placeholder: 0 }"); var dayOfMonth2 = Number("until day | number | | { required: true, min: 0, max: 31, placeholder: 0 }"); var tenantTimezone = ""; if (tenant && tenant.configurations && tenant.configurations.timeZone) { tenantTimezone = tenant.configurations.timeZone; } var tenantDate = moment.tz(tenantTimezone).date();

    if (operatorValue === 'is between') { comparison = tenantDate >= dayOfMonth && tenantDate <= dayOfMonth2; } else { if (operatorValue === 'is equal to') { comparison = tenantDate === dayOfMonth; } else if (operatorValue === 'is greater than') { comparison = tenantDate > dayOfMonth; } else if (operatorValue === 'is less than') { comparison = tenantDate < dayOfMonth; } else if (operatorValue === 'is greater than or equal to') { comparison = tenantDate >= dayOfMonth; } else if (operatorValue === 'is less than or equal to') { comparison = tenantDate <= dayOfMonth; } }

    if (comparator === "is") { returnValue = comparison; } else { returnValue = !comparison; } return returnValue; })();

  2. 条件 パラメータ オプションをクリックして値を入力してください。

  3. 「テスト」をクリックします。条件の出力(tenantパラメータを含む)が**「レスポンス**」タブに表示されます

印刷文を追加してください

条件のデバッグやフローを理解するために、条件にprint() 文を含めることができます。これにより、コードがエラーを出すまでの条件出力をレスポンスで確認できます。

条件にprint文を追加するには:

  1. コードエディターでprint() 文のJavaScriptを含めてください。例えば:

    (function () { print("first log"); print("second log"); return true; })();

  2. 「テスト」をクリックします。条件の出力が応答タブに表示されます。

  3. print()文のログを見るには、以下の通りのログをクリックしてください。

    Print statement logs in the Response tab.
この記事を改善するための提案がある場合は、 お知らせください!