ここ数日 PHPUnit + Selenium を実践的に学んでいた。
基礎的な動作は把握できたので、複数のブラウザで回すための仕込みをしようとして、マニュアルの「第17章 PHPUnit と Selenium」の「例 17.4: 複数のブラウザの設定管理」を参考にテストケースを実装してもうまく動かなかった。
まぁ、いきなり自分のテストケースに組み込んじゃったのが失敗で、まずは基本の例から実行してみようと思って、前述の「例 17.4: 複数のブラウザの設定管理」をほぼそのままのテストケースを実行しても動かない。
マニュアル通りなら、$browsers に設定した Selenium Server に対して、それぞれ接続しにいくはず。例えば下記の例だと my.linux.box:4444 と my.macosx.box:4444 と my.windowsxp.box:4444 と my.windows.box:4444 の4つの Selenium Server へアクセスしてくれるはず。
<?php
require_once 'PHPUnit/Extensions/SeleniumTestCase.php';
class WebTest extends PHPUnit_Extensions_SeleniumTestCase
{
public static $browsers = array(
array(
'name' => 'Firefox on Linux',
'browser' => '*firefox',
'host' => 'my.linux.box',
'port' => 4444,
'timeout' => 30000,
),
array(
'name' => 'Safari on MacOS X',
'browser' => '*safari',
'host' => 'my.macosx.box',
'port' => 4444,
'timeout' => 30000,
),
array(
'name' => 'Safari on Windows XP',
'browser' => '*custom C:\Program Files\Safari\Safari.exe -url',
'host' => 'my.windowsxp.box',
'port' => 4444,
'timeout' => 30000,
),
array(
'name' => 'Internet Explorer on Windows XP',
'browser' => '*iexplore',
'host' => 'my.windowsxp.box',
'port' => 4444,
'timeout' => 30000,
)
);
ところが、PHPUnit_Selenium 1.2.4 では、どの設定も localhost:4444 へ接続しにいってしまい、リモートの Selenium Server へ接続しにいかない。
なんかおかしいなと思って、いろいろ調べていくうちに、PHPUnit_Selenium 内の SeleniumTestCase.php に不具合があるところを突き止めて、なんとか修正コードを作るところまで至った。
では、本家に修正コード投げて見ちゃう!?と思って、phpunit-selenium を fork した。
pull request を投げる前に、テストコードも書かなきゃなと思って、phpunit-selenium のテストを実行できる環境を用意。テストコードも書いてみて、まずはそのまま実行して失敗するところの確認をしたら、、、失敗しない。なぜか正常に動く。
テスココードの書き方がおかしいのか!?といろいろやっていたのだけど、結局、master ブランチの HEAD にある SeleniumTestCase.php には修正が入っていて、正しく動く状態になっていた。
世の中にいるかどうか分らないけど、PHPUnit_Selenium 1.2.4 を使っていて、複数ブラウザでの実行がうまくいかないって悩んでいる人は、GitHub から最新版の SeleniumTestCase.php を落としてきて差し替えると良いよ。
ということで、散々悩んだりしていたんだけど、そのお陰でだいぶ PHPUnit + Selenium 関係を頭の中で整理できた。今までマニュアルを一部しか読んでなくて、あやふやな部分が多かったんだけど、この機会に全部読みなおして、スッキリした。
ついでにドキュメントを読んでいて見つけた typo の修正を pull request したりして、ほんのちょびっとだけど、プロジェクトへの貢献ができたことで更に自己満足(笑)
Запоя лечение в клинике Сочи: вывод из запоя на дому и в стационаре, помощь нарколога, капельница, детоксикация, кодирование алкоголизма анонимно <br>Изучить вопрос глубже - http://vyvod-iz-zapoya-sochi20.ru
Салам, Кыргызстан То выплаты задерживают Нервов потратил — мама не горюй Короче, работает стабильно и честно — mostbet официальный сайт Вывод денег за 5 минут В общем, там все подробности — мостбет кг [url=https://mostbet-ryo.com.kg]мостбет кг[/url] Только mostbet реально рулит Перешлите тому кто тоже ищет нормальную контору
Я лично перерыл кучу предложений, а вдруг до меня дошло, что лучше держать перед глазами базу. И именно подвернулась ссылка, реально понятная структура. кухни на заказ каталог СПб [url=https://zakazat-kuhnyu-nvd.ru]кухни на заказ каталог СПб[/url] Скажу без преувеличения — и описание без воды. Добавил в избранное, чтобы потом вернуться. И в итоге сэкономило кучу времени. Потому что когда есть с чем сверить, выбрать проще. Кстати, вот этот материал — надеюсь, поможет. И про фурнитуру — комплексный подход. Не берите первый попавшийся вариант, посвятите этому вечер. Надеюсь, найдете свой вариант!
So you've got a move coming up — I've been there not so very long ago, and I won't lie, a real undertaking. Think it'll be quick, then bam — the mountain appears. A coworker praised one outfit, but I needed solid info. Anyway: when you're searching for a trustworthy company around here, take it slow. Why?: experienced teams handle the elements better — especially if you've got heavy stuff. My approach — spent a good chunk of time on reviews — and believe me, I dodged some real traps. So take a look at this that put the pieces together. movers in nevada [url=https://movers-in-nevada-rfj.com]movers in nevada[/url] That single source saved me countless hours. Everything is out in the open — totally upfront. Booked my move through that site and flawless from start to finish. So be thorough. Confirm the dates. Quality service is invaluable. Best of luck with your move!