2015年3月3日火曜日

Selenium2でPHPUnit_Extensions_Selenium2TestCaseを使ってプルダウンやラジオボタンを操作する

PHPUnit_Extensions_Selenium2TestCaseを継承したテストクラスで、 Yahoo!ファイナンスにアクセスし、ヤフー(株)を検索→検索結果のリンクをクリックして プルダウンやラジオボタンを操作し、2014年1月1日~2014年12月31日の週間時系列データを 表示させるサンプルです。
<?php
require_once 'phpunit.phar';

/*
 * PHPUnitとSelinum2を使って、Yahoo!ファイナンスのサイトにアクセスし、
 * ヤフー(株)の株価時系列情報の2014年1月1日~2014年12月31日までの
 * データを表示します。
 */
class WebTest extends PHPUnit_Extensions_Selenium2TestCase
{
    protected function setUp()
    {
        // http://finance.yahoo.co.jp/にアクセス
        $this->setBrowser('chrome');
        $this->setBrowserUrl('http://www.google.com');
    }

    public function testTitle()
    {
        // Yahoo!ファイナンスにアクセス
        $this->url('http://finance.yahoo.co.jp/');
        // 銘柄名でヤフーを検索
        $this->byId('searchText')->value('ヤフー');
        sleep(5);
        // 銘柄検索ボタンをクリック
        $this->byId('searchButton')->click();
        sleep(5);
        // 検索結果からヤフーをクリック
        $this->byLinkText('ヤフー(株) [4689] - 東証1部')->click();
        sleep(5);
        // 「時系列」をクリック
        $this->byLinkText('時系列')->click();
        sleep(5);
        // 2014年1月1日~2014年12月31日、「週間」を選択
        $this->select($this->byId('selYear'))->selectOptionByValue('2014');
        $this->select($this->byId('selMonth'))->selectOptionByValue('1');
        $this->select($this->byId('selDay'))->selectOptionByValue('1');
        $this->select($this->byId('selYearT'))->selectOptionByValue('2014');
        $this->select($this->byId('selMonthT'))->selectOptionByValue('12');
        $this->select($this->byId('selDayT'))->selectOptionByValue('31');
        $this->byId('weekly')->click();
        sleep(5);
        // 表示ボタンをクリック
        $this->byClassName('submit')->click();
    }
}
?>

0 件のコメント:

コメントを投稿