どうも、テスト野郎、負荷テスト芸人のかっぱ(@inokara)です。
はじめに
俺らの neustar と Selenium を組み合わせて、複数の Web ページを遷移する操作(トランザクション)の負荷テストをやってみるぞーの準備をしてみました。
やってることは…
- Selenium IDE で Web ページの操作を録画スクリプトと neustar へのアップロード
- neustar ではアップロードされた録画スクリプトの変換とスクリプトを利用した負荷テスト
という感じです。
それではイッテミヨー。
参考
- How to setup and use Neustar Integrated Script Recorder
- Neustarで負荷試験
- 朝の 3 分ハッキング(3)Selenium IDE と Rspec で Web アプリケーションのテストをする(という程では無いけど)
登場人物の紹介
Selenium IDE とは
neustar とは
- neustar
- 泣く子も黙る負荷テストツールの決定版
- 負荷テストの負荷を掛ける為に AWS のインスタンスを利用しておりユーザー数に応じてインスタンスを起動する
- 財布には少し厳しいかもしれないけどより確実(リアル)なアクセスの負荷テストを行いたい場合には検討するべき
手順
前提
- 既に Selenium IDE を Firefox に追加しておきましょう
- neustar のアカウントを作成しておきましょう
Neustar Script Recorder のインストール
neustar のダッシュボードから Web Performance Management コンソールにアクセスして Integrated Script Recorder から Neustar Script Recorder をインストールしましょう。
遅ればせながら Neustar Script Recorder は Selenium IDE のプラグイン拡張です。
API キーの取得
MyAccount メニューから User タブを選択、該当するユーザーの Manage をクリックすると以下のように表示されます。
For Developers に記載されている API KEY と API SECRET の内容を確認しておきましょう。
API キーの登録
上記で取得した API キーをプラグインに登録します。
まずは Firefox を起動して Selenium IDE を起動しましょう。
次にメニューバーから Neustar をクリックして Options… を選択しましょう。
API キーを登録するダイアログが表示されます。
この登録にはちょっとコツが必要なようです。以下のように入力します。
- API キーをまずは入力
- OK をクリック(エラーが表示されますが気にしないようにしましょう)
- API Secret を入力
- またまた OK をクリック
これで準備完了です。
録画
Selenium IDE を起動しておもむろに Web ページを操作しましょう。
操作が完了したら◯赤ボタンをクリックして録画を止めましょう。
アップロード
録画した操作を neustar にアップロードしましょう。◯赤ボタンの右のボタンをクリックしましょう。
問題無くアップロード出来ると Upload successful! が書かれたダイアログボックスが表示されます。
スクリプトの確認
neustar にアプロードされた録画スクリプトを確認しましょう。
まずは Scripting から Script Overview をクリックしましょう。
先ほどアップロードしたスクリプトが登録されていると思います。
ちょっと一手間
neustar でちゃんと利用する為の一手間として Bypass Validation のチェックを外しましょう。
デフォルトでは上記のようにチェックが入っています。チェックを外して Name を任意の名前に変えてから SAVE をクリックしましょう。暫くすると Validation Status が Valid に変わります。
さらに一手間
neustar は負荷テストを行う場合に Real User と Virtual User の二種類から選ぶことが出来ます。Real User の方がテスト時のコストも Real User の方が高くなりますので、財布に余裕が無い場合には Virtual User を使う方が良さそうです。
ということで Virtual User でテストを行う為には、さらにスクリプトを変換する必要がありますので GENERATE BASIC SCRIPT をクリックしてスクリプトを変換します。
スクリプト変更後は Virtual User のテストも行うことが出来ます。
さあテスト
Create Load Test をクリックしてテストをスケジュールしましょう。
先ほどコンバートしたスクリプトを選択して Schedule Test をクリックしてテストをスケジューリングしましょう。
最後に
Selenium IDE で録画したブラウザ操作で負荷テストが出来るなんて感動もんです。予算が許す限り負荷テスト頑張りましょう。
元記事はこちらです。
「Selenium IDE で録画した Web 操作(シナリオ) を使って neustar で負荷テストする」