ワンクリックでお試しSelenium Server編|アドカレ2013 : CFn #2
こんにちは。望月です。
このエントリはCloudFormationビッグバンテンプレートの2本目です。
昨日(12/1)は都元さんのfullbokテンプレート編でした。
Selenium Serverとは
今日はSelenium ServerのCloudFormationテンプレートをご紹介します。Seleniumはテスト自動化ツールの一つで、ブラウザ上でのタスクを自動実行します。GUIツールのテスト自動化を可能にしてくれます。
セットアップ自体はjarをインストールして実行するだけなので、非常に簡単です。
クライアント側のテストツールであるため、クライアントOSとして利用される割合の高いWindows環境で実行されるのが理想的です。
そこで、Windows2008R2のEC2上にSeleniumをインストールし、さらにWebブラウザとしてFirefoxとChromeをインストールします。
デモ環境は、下のボタンクリックで起動できます!
ちょっと解説
起動までのステップに関しては、初日の都元さんエントリを参考にして下さい。
このデモ用テンプレートでは、以下のパラメータ設定が必要になります。
- KeyPair : EC2のアクセスキーペア
- InstanceType : Selenium Serverインスタンスのinstance type
- AvailabilityZone : インスタンスが起動するAZ
- AccessFromCIDR : Selenium Clientの接続元CIDRアドレス
実行から数分で、Seleniumインスタンスが起動されると思います。
今回はWindowsインスタンスですので、起動から15分ほどしないと接続用のパスワードが取得できません。それくらい時間が経った後、Management Console経由か、aws-cliの下記コマンドでWindowsインスタンスのパスワードを確認しましょう
$ aws ec2 get-password-data --priv-launch-key ~/.ssh/秘密鍵.pem --instance-id <インスタンスID> { "InstanceId": "<インスタンスID>", "Timestamp": "2013-12-01T09:01:11.000Z", "PasswordData": "<パスワード>" }
パスワードが生成されたら、RDPで接続して確認してみましょう。
ChromeとFirefoxがインストールされていること、そしてSeleniumプロセスが走っていることが確認できます。
CloudFormationテンプレート内では、VPC環境の作成と、Windowsインスタンスの初期セットアップを実行しています。主に以下の点です。
- Oracle JDKのインストール(参考 : Oracle JDKをWindowsに自動インストール ※PowerShell縛り)
- Google ChromeとFirefoxのインストール
- Windows Firewallの無効化
詳細に関しては、ぜひテンプレートを読んでいただきたいと思います。こちらのテンプレートもGithubにて公開していますので、Pull Requestをお待ちしております。
VPCなし版のテンプレート
上記デモ版のテンプレートでは、VPCやらSubnetやらの環境も同時に作成されます。
もう既にお使いのVPC環境がある場合は、次のテンプレートをご利用下さい。Seleniumインスタンスと、それに紐づくのみが作成されます。
パラメータには以下のものを設定して下さい。デモ版と同じものもあります
- KeyPair : EC2のアクセスキーペア
- InstanceType : Selenium Serverインスタンスのinstance type
- VpcId : インスタンスが起動するVPCのVPC ID
- SubnetId : インスタンスが起動するSubnetのSubnet ID
- AccessFromCIDR : Selenium Clientの接続元CIDRアドレス
まとめ
Seleniumをインストールしましたが、利用してテストを実行するところまでは今回ご紹介できませんでした。
今後もこの続きとして当ブログにて活用方法をご紹介し、テンプレートもアップデートしていこうと考えていますので、ご期待ください!
明日のテンプレートにも乞うご期待!