対応に切り替えました。Seleniumによるテストも簡単に。対応に切り替えました。Seleniumによるテストも簡単に。ブランチで開発バージョンとして扱っていたものを最新のCakePHP,Behat,Minkで動作確認してmasterに昇格させました。https://github.com/sizuhiko/CakeBehatはじめにCakeBehatはCakePHPからBehatを呼び出してテストするためのプラグインです。CakePHP1.3対応として公開したのが2011年6月投稿です。http://my.opera.com/sizuhiko/blog/2011/06/20/cakephp-behatインストール前提事項gitが利用可能なことPHPUnitがインストールされていることCakePHP2.0.xがインストールされていることMySQLなどデータベースがインストールされていて、テスト用データベースが準備されていること導入CakePHPのルートディレクトリへ移動して、以下のコマンドを実行してください。ディレクトリができているはずです。CakeBehatプラグインを有効にするためにbootstrapでプラグインの読み込みを行います。app/Config/bootstrap.phpの最後に追加します。CakePHPのルートディレクトリに移動して、以下のコマンドを実行します。ディレクトリができているはずです。ダウンロードされます。initコマンドによって生成されています。http://test.localhost:8888/application-name/という設定があります。これはアプリケーションのルートパスを設定するもので、ホスト名、ポート番号、アプリケーション名などを指定します。ホスト名はできるだけtest環境と識別可能なものにしておく事がオススメです。実行する基本的な環境設定は、ここまでで、behatは実行可能な状況になっています。具体的にサンプルアプリケーションのコードを使っての解説は、以前のPostと同じなので、以下のURLから確認してください。http://my.opera.com/sizuhiko/blog/2011/06/20/cakephp-behatただし実行コマンドがプラグイン化に伴って変更されています。いうシンプルなものからは少し遠くなってしまいましたが、以下のコマンドを実行してください。CakeBehat.bddAjaxを利用したページをテストしたい最新版のMinkでは、Ajaxを使ったページをテストできるように、ブラウザエンジンを選択することができるようになっています。公式のBehatやMinkのドキュメントを参照すると、Seleniumなどを使う場合の方法が書いていませんコードを書いて初期化しないといけませんが、Behat+Minkのインテグレーションでは、behat.ymlに設定するだけで簡単にSeleniumによるテストが実行できるようになります。JavaScriptセッションエンジンを指定するCakeBehatではデフォルトのJavaScriptセッションエンジンをSeleniumとしています。selenium設定を入れてあります。試していませんが、sahiやzombieを使う場合はこの設定を変更すれば動作するはずです。アノテーションをfeatureに指定します。サンプルアプリケーション(blogチュートリアル)のindex.ctpでDeleteボタンがクリックされたときにtrエレメントを消すだけの実装を追加してみました。?></a>のようにしました。このリンク「Delete3」をクリックして3行目を削除するfeatureを書きます。表示されていないこと「リンクをクリックする」みたいなステップへ書き換えた方が本当は直感的なのですが、とりあえず「リンク先へ移動する」を使っています。後は、Seleniumを実行しておくだけです。Seleniumを使うと意識しなくても、@javascriptを付けたシナリオだけでFirefoxが起動してテストが実行されます。このJavaScriptを使ったテストも成功します。さいごにBehatやMinkは少しのバージョンアップ違いでうまく動かないケースがあります。CakeBehatを使ってうまく動作しないケースなどはgithubのissueなどに書き込んでいただければ、改善していきたいと思っていますのでよろしくお願いします。