とりあえず、PHP5で、Selenium RC Clientを書き直した。
最近は、Björn Schotte氏とメールでやりとりをしていたのだが、彼は、curlを使うのを勧めてくれていたので、ちょいとcurlを使ってみた。curl自体は結構良さげなんだけど、いかんせん configureするときに、with-curlなんて入れないといけないのは嫌だなぁ、というのが正直なところだ。どのくらいの人がcurlを入れているかなぁ。少なくとも、私のデフォルトの設定では入っていなかった。
というわけで、driverを選択できるようにしてみました。”curl”, “pear”, “native”と選べます。今回、PHP5用に書き直したのは、E_STRICT Compatibilityにするためなので、”curl”, “native”はいいけど、”pear”がひっかかります。つーのは、HTTP_RequestがE_STRICTダメなので。そして、HTTP_Requestで使っているNet_Socketもダメ。”native”では、直接fopenやらstream_get_contentsやらを使っているのだけど、ぶっちゃけそれだけでことが足りるので、”curl”なんていらないかなーなんて思ってみたりするのだけど、Björn氏に助けてもらったこともあるので、組み込んでみました。
あと、Selenium CoreのテストHTMLをかなりパクって、そのテストを付けてみました。一度走らせると時間がかかるので、ローカルサーバで試してください。しかし、テストが付いているので、ちょっと安心。正直なところいくつか試してないコマンドもあるけど、とりあえず使うに十分なコマンドはテスト済ということで。
で、Björn氏が確認後、DraftからProposalでコメント受付の状態にしようかなー。
「つか、XSLTで対応すればいいじゃん、そして、PEARにはいらない」って言う意見が出てきそうで、ちょいと恐いところだ。
まだメチャメチャ汚いけど、RubiniumのようなSeleniumのHTMLを自動生成してくれるスクリプトも書いてあるから、そちらをがんばってもありかなーなんて思ってたりもする。
しかし、Selenium RC Clientが使えるコマンドと、Selenium Coreが使えるコマンドが同じじゃないのは嫌だな。
つーわけで、今度は、YouTubeの方を書いてみようかな。E_STRICT対応していないと受け入れてくれなさそうなので、やるかー。XML_Unserializerを使わないで、simplexml_load_stringを使えそうな感じ。はてブのコメント見たら、なんで、XML_RPC?ってのがあったので、それもRESTにしようかなー。それとも、driverで選択させるって方法がいいかなー。HTTP_Requestが早いことE_STRICT対応してくれれば全てがまるく収まるわけだが、どうなんかな。
誰か勇者が出てこないかな。

