16

テストするシステムがあります。これは動画広告配信技術です。広告を配信するには、すべての動画を 1 ~ 2 分ほどロードする必要があります。ビデオは Flash クライアントで再生され、YouTube のように FLV ストリームとしてストリーミングされます。

ブラウザ経由でのみテストする必要があり、他の方法ではうまくいかない理由は、ビデオ ストリーミング サーバーと広告サーバーの両方を同時にストレス テストし、広告をリアルタイムで表示するためです。

私は Selenium、WatiN、Automation Anywhere などの多くの自動化ツールを使用してきました。しかし、自分のマシン (32GB RAM、16 コア CPU) で 10000 のブラウザーを起動しようとすると、どれもその仕事をすることができません。

Selenium を使用すると、これまでのところ最大の FireFox インスタンスを開始できますが、それでもまだ低すぎます。インスタンスの半分はテストを実行していません。

Selenium に関する提案はありますか?

4

6 に答える 6

5

マシンで10,000のブラウザを実行することはありません。これにより、ブラウザインスタンスごとに3.2MBの物理メモリが提供され、FireFoxはそれを好まないと確信しています。

多くのスレッドでサーバーにアクセスするJMeterスクリプトを作成できます。UIとは相互作用しませんが、指定したURLにアクセスする多くのクライアントの負荷をシミュレートします。セッションを記録して再生し、セッションを簡単にセットアップする機能も含まれていると思います。

于 2012-03-26T17:08:12.480 に答える
4

Seleniumは、特にブラウザーをローカルで実行している場合、負荷/ストレステスト用に実際には最適化されていません。1000以上のブラウザを実行すると、最も強力なサーバーでさえも窒息します。RAMは明らかなボトルネックですが、CPUリソースと帯域幅も限られています。ビデオをロードする場合、後者が主な懸念事項です。

言うまでもなく、1万台のブラウザを使用して単一のIPからテストするため、負荷分散が適切に機能しない可能性があります。また、特定の仮想ユーザーへの動画広告の実際の配信も同様です。

既存のSeleniumテストを使い続けたい場合は、BrowserMobで良い経験をしました。基本的に、AWS全体に分散された、実際のブラウザーの負荷テストを行うための巨大なグリッドがあります。

もう1つの推奨事項は、実際のパフォーマンステストツールです。SoastaCloudTestをお勧めします。彼らは100人のユーザーを実行する無料バージョンを持っているので、それがあなたにぴったりかどうかを見ることができます。CloudTestのスクリプトは比較的簡単であることがわかりました。

免責事項:両社での私の経験は、有料の顧客としてのものであり、どちらかのために働いたことはありません。

于 2012-03-28T19:31:22.980 に答える
1

Windows マシンを使用している場合、私の経験によると、開くブラウザ ウィンドウ インスタンスの数に制限があります。前回のテストによると、100 ~ 150 のブラウザー ウィンドウが制限されます。

ブラウザ ウィンドウを開く必要がないヘッドレス ロボットを使用することをお勧めします。Seleniumの最新バージョンにはその機能があると思います。ただし、10,000 以上のユーザー インスタンスをシミュレートしようとしているため、負荷テストに似ているようです。JMeter や LoadRunner などの負荷テスト ツールを使用することをお勧めします。

于 2012-03-26T17:12:21.647 に答える
1

高トラフィックに基づいてクライアントに表示される内容を確認しようとしているように見えますね?

その場合、ジョエルはまったく正しいです。クライアントが見ているものを絶対に見なければならない場合、スレッド化されたヒットを使用して、結果をデータベースにダンプすることができます。とにかくクライアントが見るものは何でも表示され、何千ものブラウザ インスタンスよりもはるかに簡単に並べ替えることができます。

いずれにせよ、サーバー側にエラーが存在しない場合、クライアントにはエラーが表示されません。帯域幅が制限された環境、CPU を集中的に使用する環境、またはメモリを集中的に使用する環境で機能をテストしている場合、それらは何千ものブラウザー インスタンスを実行するよりもはるかに簡単に達成できます。

于 2012-03-26T17:46:13.470 に答える
0

あなたの投稿は、ある種の広告ベースの詐欺の匂いがしますが、いずれにしても、Firefox 以外の Web ブラウザーを使用することを検討したことがありますか? PhantomJSは、Selenium と互換性のあるヘッドレス Webkit ベースのブラウザーです。DOM 処理、CSS セレクター、Javascript、Canvas など、ブラウザーのコア機能をすべてサポートしています。Flashに対応しているかどうかはわかりません。

この投稿には、検討できる他のヘッドレスで自動化可能な Web ブラウザーの適切なリストがあります。

また、各ブラウザ インスタンスが Flash プラグインをインスタンス化している場合、問題が Firefox ではなく Flash にある可能性を無視しないでください。あるいは、なぜいくつかの異なる Firefox プロセスをインスタンス化するのでしょうか? 代わりにタブを使用して、目的を達成できますか?

于 2014-01-20T09:23:34.720 に答える