福岡拠点の野田です。
前回「Seleniumを使ってみよう(1)」では、Selenium サーバーを立ち上げるところまで実施しました。
https://blog-s.xchange.jp/?p=418
今回はその続きです。
弊社では、PHPを使うことが多いので、その例を紹介します。
PHPがローカル環境にない方は、さくっとインストールしてください(環境変数にパスを通すのも忘れずお願いします)。
http://www.php.net/downloads.php
composerが入っていなかったら、インストールします。
https://getcomposer.org/doc/00-intro.md#installation-windows
任意のフォルダにcomposer.jsonを配置します。
1 2 3 4 5 6 |
{ "require": { "facebook/webdriver": "^1.4", "mustangostang/spyc": "^0.6.2" } } |
facebook/webdriverは、curl関数を使うため、php_curlのエクステンションを有効にします。ほかにスクリーンショットの編集等でgdライブラリを使う場合がありますので、php_gd2のエクステンションを有効にします。
1 2 3 4 5 6 |
php.ini ;extension=php_curl.dll ;extension=php_gd2.dll ↓ extension=php_curl.dll extension=php_gd2.dll |
ちなみに php.ini のある場所は、php -i で表示することができます。
cmd でDOSのターミナルを開いてcomposer.jsonを配置したフォルダでcomposer update を実行してください。必要なライブラリをインストールします。これでSeleniumを使ってテストを実行する準備が整いました。
サンプルコードを以下にアップしています。
https://github.com/nodat/php-selenium-tools
processor.php と scenario.yaml を composer.json のフォルダに配置してください。
以下のようなバッチを作成して実行することで動きます。
1 2 |
cd %~dp0 php processor.php -f scenario.yaml -o .\ |
まだまだ粗削りですが、scenario.yaml を作りこんでいくことで E2E のテストを実現することができます(適宜、バージョンアップしていきます)。
細かい処理については、ソースコードを解析して見てください。