Behat3のテストをphantomjsを使用して実行
phantomjs
PhantomJS | PhantomJS
ブラウザを開かないでのテストを行える。firefoxなどのブラウザがなくても良いのでCUIベースのVMでも動くかもしれない
今回は試さない
参考
Behat+Selenium Webdriverで受け入れテストの自動化をやってみた
Behat phantomJs install · Gizra/KnowledgeBase Wiki · GitHub
テスト環境
behat,yml
default: suites: default: path: %paths.base%/features contexts: [FeatureContext] extensions: Behat\MinkExtension: browser_name: ghost base_url: http://google.co.jp/ sessions: default: selenium2: wd_host: "http://localhost:8643/wd/hub"
features/browser.feature
# language: ja フィーチャ: Seleniumテスト @javascript シナリオ: Google参照して検索 前提 ホームページを表示している かつ 5 秒待つ もし "q" フィールドに "php" と入力する かつ "btnG" ボタンをクリックする かつ 5 秒待つ ならば検索結果を表示していること
※ボタンは"btnG"になった
起動
phantomjs
$ phantomjs --webdriver=8643 [INFO - 2015-11-22T12:09:30.139Z] GhostDriver - Main - running on port 8643
behat3
$ vendor/bin/behat フィーチャ: Seleniumテスト @javascript シナリオ: Google参照して検索 # features/browser.feature:4 前提 ホームページを表示している # FeatureContext::iAmOnHomepage() かつ 5 秒待つ # FeatureContext::miaoDaiTu() もし "q" フィールドに "php" と入力する # FeatureContext::fillField() かつ "btnG" ボタンをクリックする # FeatureContext::pressButton() かつ 5 秒待つ # FeatureContext::miaoDaiTu() ならば 検索結果を表示していること # FeatureContext::jianSuoJieGuoWobiaoShiSiteirukoto() 1 scenario (1 passed) 6 steps (6 passed) 0m13.27s (12.15Mb) $
こんな感じ