Webブラウザでのテスト自動化するツール
Javaでできてる。
coreはHTMLでテストを書いてtomcatから動かす。RCは好きなプログラミング言語でテストを書いてRC用のサーバ(port:4444)からブラウザを起動する。
Selenium IDEはFirefoxのアドオンで操作を記録してテストを記述できるみたい。
Selenium RCをPHPから使う
ダウンロード→
http://selenium-rc.openqa.org/download.html
チュートリアル→
http://selenium-rc.openqa.org/tutorial.html
解凍してselenium-serverのとこにいってまずはinteractiveモードでテスト。
% java -jar selenium-server.jar -interactive
プロンプトで入力できるようになるのでコマンドうってみる。
% cmd=getNewBrowserSession&1=*iexplore&2
http://google.com
Firefox3では動かないみたい。*ieploreと*safariで起動確認。ログを見るとレジストリをなにやら操作してるみたい。大丈夫なのかな…。
Opera9.5起動してみたらなんかおかしくなった。Selenium試してからOpera Linkでログインできない…!別アカウントならログインできるから新しく作ったわ…。
サンプルだとsessionIdが6桁の数字なのにこのバージョンではやたら長い。とりあえずinteractiveモードはここまで。
PHPから動かしてみる。
PHPUnitをダウンロード
% pear channel-discover pear.phpunit.de
% pear install phpunit/PHPUnit
SeleniumのPHPのサンプルを実行する
phpunit GoogleTest GoogleTest.php
ブラウザの指定はコンストラクタTesting_Seleniumから行う。
コマンド
open URLを開く
type(name, value) inputフィールドに値を入れる
click(name) ボタン、リンク等をクリックする
waitForPageToLoad(int) 待つ。これしないと正しく動かなかった。
getLocation 現在URLを返す
typeやclickの要素指定は「Element Locator」という独自の書式で指定する。
identifier, id, name, dom, xpath, linkが使える。identifierはidかname、domはjavascriptの書式、linkはリンクラベル。
$selenium->click('link=リンクラベル');
詳細→
http://wiki.openqa.org/display/SEL/Selenium+0.7+Reference+(Japanese)
参考
http://www.reiersol.com/blog/index.php?op=...
http://www.thinkit.co.jp/free/article/0705...
http://codezine.jp/a/article.aspx?aid=436
http://codezine.jp/a/article/aid/452.aspx
http://tech.feedforce.jp/selenium_rc.html