PHP:BDDを試す。Behat+Mink+Selenium編


PHP:BDDを試す。Behat+Mink+Selenium編 | Bamboo lath 日々の記録PHP:BDDを試す。Behat+Mink+Selenium編

前回のページはこちら

今回はSeleniumも利用し実際にブラウザが立ち上がって挙動が確認できるようにする。
※前回のcomposer.jsonで「mink-selenium2-driver」入れてるので今回はcomposerは触らない。

Video: Quickstart to testing with Behat, Mink, and Selenium

今回も上記サイトを参考に。

今回の構成
■SeleniumServer
OS:Windows7
IP:192.168.1.10
seleniumで使うブラウザIE11
javaインストール済み

■開発サーバ
OS:CentOS6.5(Vagrant環境↑のwindows内にある)
IP:192.168.1.226

■SeleniumとIEのドライバーの取得(※SeleniumServer側PCでの作業)

http://docs.seleniumhq.org/download/
上記ページ内の「Selenium Server (formerly the Selenium RC Server)」をダウンロード
現時点では「Download version 2.40.0」

IEのドライバは「The Internet Explorer Driver Server」
Download version 2.40.0 for (recommended)
32 bit Windows IE
64 bit Windows IE
上記のどちらかを環境に合わせてダウンロードする。zipなので解凍して中身を
Seleniumの本体と同じところにおいておく

■Seleniumを起動しておく(※SeleniumServer側PCでの作業)

C:>java -jar selenium-server-standalone-2.40.0.jar -Dwebdriver.ie.driver=.\IEDriverServer.exe

※IEを使う場合の起動方法

■behatの設定ファイルであるbehat.ymlの変更(以下開発サーバ側での作業)

$ vim behat.yml
default:
  paths:
    features: features
    bootstrap: %behat.paths.features%/bootstrap
  context:
    parameters:
      browser: ie
      javascript_session: webdriver
  extensions:
    Behat\MinkExtension\Extension:
      browser_name: ie
      goutte: ~
      selenium2:
        wd_host: 'http://192.168.1.10:4444/wd/hub'
        capabilities: { "browser": "ie", "version": "11"}

■test.featureシナリオを変更

$ vim features/test.feature
Feature: Drupal.org search
  In order to find modules on Drupal.org
  As a Drupal user
  I need to be able to use Drupal.org search

  @javascript
  Scenario: Searching for "behat"
    Given I go to "https://drupal.org"
    When I fill in "Search Drupal.org" with "behat"
    And I press "Search"
    Then I should see "Behat Drupal Extension"

■behatを実行

$ ./vendor/bin/behat

※IEが立ち上がらない場合は以下を試す。
インターネットオプションのセキュリティ設定を統一する。
インターネットオプション>セキュリティ>4つの項目(インターネット、ローカルイントラネット、信頼済みサイト、制限済みサイト)
の保護モードを有効にするチェックを全て外す(もしくは全てチェックする)。
その後IEを再起動する。

カテゴリー

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です