Seleniumの履歴

Webブラウザでのテスト自動化するツール
Javaでできてる。

coreはHTMLでテストを書いてtomcatから動かす。RCは好きなプログラミング言語でテストを書いてRC用のサーバ(port:4444)からブラウザを起動する。

Selenium IDEFirefoxのアドオンで操作を記録してテストを記述できるみたい。

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&2http://google.com

Firefox3では動かないみたい。*ieploreと*safariで起動確認。ログを見るとレジストリをなにやら操作してるみたい。大丈夫なのかな…。

サンプルだとsessionIdが6桁の数字なのにこのバージョンではやたら長い。とりあえずinteractiveモードはここまで。


PHPから動かしてみる。

PHPUnitをダウンロード
% pear channel-discover pear.phpunit.de
% pear install phpunit/PHPUnit


SeleniumPHPのサンプルを実行する
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+(J...

参考

http://www.reiersol.com/blog/index.php?op=ViewArticle&ar...
http://www.thinkit.co.jp/free/article/0705/2/1/
http://codezine.jp/a/article.aspx?aid=436
http://codezine.jp/a/article/aid/452.aspx
http://tech.feedforce.jp/selenium_rc.html