PhpStormと僕

日々周りを巻き込むことをモットーに。気まぐれでJetBrains製のIDEネタとか書いてます。

BehatでUserAgent指定

最近PHPで受入れ試験書く時にBehat使うことが多いので。

PCとスマートフォンとフィーチャフォンで表示項目違うときとか、 UserAgentを切り替えられるようにしておくと便利。

<?php
/**
 * @var $world FeatureContext
 */
$steps->Given( '/^"([^"]*)" でアクセスしている$/', function ( $world, $table ) {
    switch ( $table ) {
        case "フィーチャフォン":
            $user_agent = "KDDI-CA39 UP.Browser/6.2.0.13.1.5 (GUI) MMP/2.0";
            break;
        case "スマートフォン":
            $user_agent = "Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0_1 like Mac OS X; ja-jp) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5B108 Safari/525.20";
            break;
        default:
            $user_agent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.13 (KHTML, like Gecko) Chrome/24.0.1284.0 Safari/537.13";
            break;
    }

    $world->getSession()->getDriver()->getClient()->setServerParameters( array( 'HTTP_USER_AGENT' => $user_agent ) );
} );
?>