1

iPhoneエミュレーターでローカルに実行されているクライアントプログラムと、Javaで記述されたローカルサーバーがあります。クライアントは、JSON over HTTP リクエストでサーバーと通信します。現在、JMeter でクライアント セッションの http リクエストを記録して、負荷テスト サーバーのベースとして使用しようとしています。

問題は、クライアント リクエストが JMeter プロキシをスローしないことです。クライアントは 501 "メソッドが実装されていません" を取得します (https が原因ではなく、http を使用しています)。リクエストに関する JMeter ログには何もありません。明らかに、JMeter には何も記録されず、リクエストはサーバーに到達しません。

ブラウザからのリクエストを記録するように JMeter プロキシを設定する手順はよく説明されていますが、私のクライアント プログラムはブラウザではありません。JSON over HTTP は広く採用されているアプローチですが、JMeter を使用してそのようなリクエストを記録する方法については Web 上で見つけることができませんでした。リクエストをプロキシするときにブラウザが行うのと同じことをクライアントで行う必要があることを理解しています.クライアントが取得する 501 エラーに関連しています。

誰かがクライアントで何をすべきか、またはJMeterを構成してクライアントのリクエストをプロキシする場所を知らせたり、それを説明するマニュアルにリンクしたりする方法を説明できれば、それは大きな助けになります。私はすでに数時間解決策を探していましたが、運がありませんでした。助けてください。

4

1 に答える 1

0

私の質問と私が得た答えを以下で見ることができます:

Jmeter プロキシを使用して iOS シミュレーターからの HTTP 呼び出しを記録する

要するに: このチュートリアルでは、Android デバイスからの通話を録音できます: http://blazemeter.com/blog/load-testing-mobile-apps-made-easy

iPhone で同じことを行うには、次の手順を実行します。

Mac の構成:

システム設定 -> ネットワーク -> 詳細.. -> プロキシ -> 「Web プロキシ (HTTP)」にチェックを入れます -> 「Web プロキシ サーバー」フィールドに IP を入力します ( http://www.wikihow.com/Find-Your- IP-Address-on-a-Mac )、利用可能なポートを選択 (私は 8080 を使用) -> OK -> 適用

iPhone の構成:

設定 -> WiFi -> Mac で使用しているのと同じ WiFi を選択 -> もう一度押して詳細に移動 -> 下にスクロール -> HTTP プロキシで、[手動] を選択 -> サーバー = 以前に見つけた Mac の IP -> ポート= 選択したポート (おそらく 8080)

jmeterレコーディングコントローラーを使用して、すべての「iPhoneネットワークアウト」の記録を開始できるようになりました

于 2014-01-22T07:53:26.523 に答える