2016-12-28 109 views
0

私は現在、性能テストのためにJmeterを使用して社内のJava Webサイトのテストサンプルを作成しようとしています。JMeterでAJAXスクリプトを使用する

いくつかのスクリプトを作成して再実行した後、一部のスクリプトが失敗していることがわかりました(HTTPエラーではなく、レスポンスコードは200だったのでHTTPレスポンスは成功しましたが、サーバ側の失敗のようです)。エラー "予期しないエラーが発生しました。ページが閉じました"。私はこのアプリケーションのために高いトレースを有効にした後でも正確な理由を理解することができませんでした。

私は、このWebサイトで収集したすべてのサンプル(またはほとんどのサンプル)に対して多くのAJAXリクエストを使用しており、すべてが ".js"で終わるサンプルで記録されていることがわかりました。 Jmeterでこの問題について多くのGoogle検索を行った後、JmeterはブラウザではないのでJavascriptを実行しないことがわかりました。

Selenium Webドライバを使用してJavaスクリプトを実行する方法について詳しくは、いくつか詳しく説明し、この問題に取り組むためにjmeterを使用することができます。しかし、Javascript(またはAjaxスクリプト)を実行し、JmeterにHTTPS Samplesを実行させるためのWebdriverの正確な実装については話していません。

私の質問は2倍である:私はこれらのエラーは、Ajaxのスクリプトと他には何もしていない場合はAjaxの問題が原因で発生することを確認するために私のJMeterスクリプトをデバッグすることができ、この「ページが閉じられ、他に何を引き起こしている他にどのように

1)エラー "

2)また、同じテストスクリプトでhttpサンプルを実行しているJavaスクリプトとJMeter用のWebドライバを実行するにはどうすればよいですか?

関連ドキュメントへの助けや指針は本当に感謝しています。現在、私は完全に固執しており、マニュアルを読んで見つけることのできる解決策はありません。

答えて

0

実際にあなたは2つの選択肢があります:AJAXを実行するための実際のブラウザのテスト(実際のブラウザでは、CPUやRAMを大量に消費するよう、これは非常にリソースを集中される可能性があります)

  • 使用のJMeterを実行するために

    1. 使用WebDriver Samplerをコール。 JMeterはJavaScriptを実行できませんが、JavaScriptドリブンHTTPリクエストはHTTP(S) Test Script Recorderを使用して記録し、JMeter HTTPリクエストサンプラーとして再生できます。 AJAXリクエストを並行して実行するには、カスタム設定を適用する必要があります。詳しくはHow to Load Test AJAX/XHR Enabled Sites With JMeterの記事をご覧ください。
  • +0

    私はすでに記事を読んでいます(JMeterでAJAX/XHR対応のサイトをテストする方法)複数のスクリプト(.js、Ajax)で記録されたサンプル数が多いため、各Ajaxスクリプトごとに1つのスレッドを別々に再作成して、並列実行することはできません。例では、2つのAjaxスクリプトが並行している3つのスクリプトしか示されていませんでした。実際のシナリオはそれほど複雑ではなく、この回避策は実用的ではありません(この記事を正しく理解していれば)。 – kenny

    +0

    また、AJAXスクリプトのいくつかは、ここで私はSAVEボタンまたは特定のアクションをクリックしている)は、このメッセージで失敗しているので、これらのatleastをデバッグする方法があるのだろうか。 – kenny

    関連する問題