ワンクリックでお試しSelenium Server編|アドカレ2013 : CFn #2

2013.12.02

こんにちは。望月です。
このエントリはCloudFormationビッグバンテンプレートの2本目です。
昨日(12/1)は都元さんのfullbokテンプレート編でした。

Selenium Serverとは

今日はSelenium ServerのCloudFormationテンプレートをご紹介します。Seleniumはテスト自動化ツールの一つで、ブラウザ上でのタスクを自動実行します。GUIツールのテスト自動化を可能にしてくれます。 セットアップ自体はjarをインストールして実行するだけなので、非常に簡単です。
クライアント側のテストツールであるため、クライアントOSとして利用される割合の高いWindows環境で実行されるのが理想的です。
そこで、Windows2008R2のEC2上にSeleniumをインストールし、さらにWebブラウザとしてFirefoxとChromeをインストールします。 デモ環境は、下のボタンクリックで起動できます!

Selenium Serverのデモを起動

ちょっと解説

起動までのステップに関しては、初日の都元さんエントリを参考にして下さい。
このデモ用テンプレートでは、以下のパラメータ設定が必要になります。

  • KeyPair : EC2のアクセスキーペア
  • InstanceType : Selenium Serverインスタンスのinstance type
  • AvailabilityZone : インスタンスが起動するAZ
  • AccessFromCIDR : Selenium Clientの接続元CIDRアドレス

実行から数分で、Seleniumインスタンスが起動されると思います。

selenium_MC

今回は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プロセスが走っていることが確認できます。

2013-12-01_1901

2013-12-01_1902

CloudFormationテンプレート内では、VPC環境の作成と、Windowsインスタンスの初期セットアップを実行しています。主に以下の点です。

詳細に関しては、ぜひテンプレートを読んでいただきたいと思います。こちらのテンプレートもGithubにて公開していますので、Pull Requestをお待ちしております。

VPCなし版のテンプレート

上記デモ版のテンプレートでは、VPCやらSubnetやらの環境も同時に作成されます。
もう既にお使いのVPC環境がある場合は、次のテンプレートをご利用下さい。Seleniumインスタンスと、それに紐づくのみが作成されます。

Selenium Serverを起動

パラメータには以下のものを設定して下さい。デモ版と同じものもあります

  • KeyPair : EC2のアクセスキーペア
  • InstanceType : Selenium Serverインスタンスのinstance type
  • VpcId : インスタンスが起動するVPCのVPC ID
  • SubnetId : インスタンスが起動するSubnetのSubnet ID
  • AccessFromCIDR : Selenium Clientの接続元CIDRアドレス

まとめ

Seleniumをインストールしましたが、利用してテストを実行するところまでは今回ご紹介できませんでした。
今後もこの続きとして当ブログにて活用方法をご紹介し、テンプレートもアップデートしていこうと考えていますので、ご期待ください!
明日のテンプレートにも乞うご期待!