このページでは、現在のブラウザバージョンをヘッドレス Chrome バージョン 86 に更新した場合の影響について詳しく説明します。 


  • Chrome バージョン 86 は、次の製品で使用できます。
    • SaaS コントローラ
    • 21.4.1 以降の合成サーバを搭載したオンプレミスコントローラ 21.4 以降
  • AWS ロケーションのジョブは、Chrome バージョン 86 を使用して Linux ベースのエージェントで実行されます

  • Azure ロケーションのジョブは、Chrome バージョン 86 を使用して Windows ベースのエージェントで実行されます

  • このページで説明されている動作の変更は、Azure ロケーションのエージェントには適用されません。

ブラウザバージョン

現在のブラウザ新しいブラウザ影響アクション

Chrome
バージョン:64、79、81、および 83




ヘッドレス Chrome
バージョン 86





driver.maximize_window および fullscreen_window コマンドは、ヘッドレス Chrome の Selenium ChromeDriver のバグによりサポートされていません。driver.maximize_window および fullscreen_window コマンドの代わりに set_window_size() コマンドを使用します。

ヘッドレスバージョンには、ブラウザエンジンの主要なセキュリティ強化と変更が含まれており、ページのロード時間とセッション時間が増加します。

  • スクリプトで必要に応じてタイムアウト設定を増やします。
  • 必要に応じて、パフォーマンスとアラートの設定を更新します。

Chrome バージョン 64 で正常に実行される一部の Python ベースの Selenium スクリプトは、Chrome バージョン 86 では「Script broken」というエラーで失敗します。これは、Selenium コマンドと最新の Chrome Web ドライバとの間に互換性がないために発生します。

  • この問題を修正するには、スクリプトを更新します。
  • スクリプトが Chrome バージョン 86(ヘッドレス Chrome)でローカルに渡される場合は、カスタマーサポートに連絡してください。

現在の動作:4xx エラーのあるセッションは、特定のケースではクライアントエラーとして処理されません。

操作は不要です。

ヘッドレス Chrome は、拡張機能および埋め込み PDF ビューアをサポートしていません。PDF はダウンロードされ、リソースウォーターフォールで表示できますが、スクリーンショットは表示されません。したがって、PDF ファイルが利用可能かどうかを確認できますが、スクリーンショットを取得できません。

Python 要求ライブラリを使用して HTTP 要求を送信し、応答コードでアサートすることで、PDF ドキュメントが利用可能かどうかを確認できます。

次に、サンプルスクリプトを示します。

import requests

response = requests.get ("https://www.mohfw.gov.in/pdf/PreventionandManagementofCOVID19FLWEnglish.pdf")
print ("Got response " + str(response.status_code))
assert (response.status_code == 200)
CODE

一部の要素セレクタは、ヘッドレス Chrome では動作しない場合があります。これは、ブラウザのタイプやバージョンによってページのレンダリング方法が異なるために発生する可能性があります。

スクリプトを更新して、適切な要素を指すように要素セレクタを変更します。

たとえば、ヘッドレス Chrome にロードされた Web サイトでは機能しない xpath 属性を使用して要素を検索する場合は、次のようにします。

  • xpath を修正するか、
  • find_element_by_id などの別のメソッドを使用して要素を選択します。

要素の選択方法の完全なリストについては、「要素の特定」を参照してください。

マルチタブスクリプトフロー中に、要素のクリックなどによって新しいタブが間接的にトリガーされた場合、最初のリソースは新しいタブにキャプチャされません。

これは、Puppeteer バグが原因で発生します。

スクリプトで直接タブを開き、任意の操作を実行します。

エージェントマシンの構成

現在のブラウザ新しいブラウザ影響アクション
マシン構成:2vCPU 8GB RAM
  • コンテナ構成:最小 1 vCPU ~最大 1.75 vCPU、2GB RAM。
  • リソース使用率を向上させるため、Kubernetes のバースト可能な制限を使用します。

ページのロード時間とセッション時間が増加する可能性があります。

  • スクリプトで必要に応じてタイムアウト設定を増やします。
  • 必要に応じて、パフォーマンスとアラートの設定を更新します。

ジョブの実行環境

現在のブラウザ新しいブラウザ影響アクション
ジョブは Windows 環境で実行されます。

ジョブは K8S ベースの Alpine コンテナで実行されます。

Web サイトがオペレーティングシステム(OS)に基づいてコンテンツを提供する場合、Windows 環境に基づいて作成されたスクリプトは失敗します。

Linux 環境ベースのコンテンツでスクリプトを更新します。

スクリプトが 4xx エラーで失敗する場合があります。

この問題は、サーバが Linux エージェントへのアクセスを拒否する場合、または Web サイトへのアクセスが Windows 環境のみに制限される場合に発生する可能性があります。

Linux エージェントへのアクセスができるようにします。

  • NAT ベースのアドレスは、既存の許可リスト IP とは異なる場合があります。このため、既存の許可リストは機能しない可能性があります。
  • セッションが「4XX client error」で失敗することがあります

合成ホステッドエージェントの IP アドレスに基づいて IP 許可リストを更新します。

OS またはファイルシステムベースのコマンドを使用するジョブは失敗します。

Splunk AppDynamics セキュリティ標準に従って、ジョブは Web テストの実行のみを目的としたステートレス環境で実行されます。したがって、OS またはファイルシステムベースのコマンドはサポートされていません。

スクリプトで OS またはファイルシステムベースのコマンドを使用している場合は、それらのコマンドを削除します。

ネットワークスロットリング

現在のブラウザ新しいブラウザ影響アクション
ネットワークスロットリング機能は、サードパーティライブラリを使用して実装されます。ネットワークスロットリングは、Chrome ブラウザ開発ツールプロトコルを使用して実装されます。
  • ネットワークスロットリングの精度が向上します。
  • ネットワークスロットリングを設定したジョブでは、セッション時間が長くなることがあります。

タイムアウト値を増やすか、ジョブのスロットリング速度を再設定します。

エージェントの変更

2023 年 4 月 25 日の Azure ロケーションでのエージェントの変更の一環として、Splunk AppDynamics は Linux エージェントでの 5 つの Azure ロケーションでのジョブの実行を開始しました。

次のエラーが原因でジョブのいずれかが失敗した場合は、[Action] 列に記載されている手順を実行します。

現在のエージェント新しいエージェント影響アクション
WindowsLinux
  • HTTP_CLIENT_ERROR
  • CONNECTION_ERROR
  • NAME_NOT_RESOLVED
  • HTTP_SERVER_ERROR
  • TIMEOUT
  • RESOURCE_ERROR
Web アプリケーションにインターネット経由でアクセスできない場合は、Azure ロケーションの IP ホワイトリストを更新します。
WindowsLinux
  • TIMEOUT
  • SCRIPT_BROKEN
  • SCRIPT_ASSERTION
  • RESOURCE_ERROR
  1. スクリプトを更新して、これらのエラーを修正します。
  2. タイムアウトを更新します。