ヘッドレスChromeとヘッドレスFirefoxをphp-webdriverで試す

投稿日:

恋は永遠 愛はひとつ
(銀杏Boyz 恋は永遠)

ここらへんに得も言われぬ感情がそっと隠されているような気がする今日このごろです。

というわけでヘッドレスChromeヘッドレスFirefoxをphp-webdriverで試してみました。
※ php-webdriverはPHPでSelenium WebDriverをラップしているライブラリ(Facebook製)です

参考にした記事はこちらです。

ヘッドレスChromeは結構前からざわざわしていた気がするけどFirefoxもヘッドレス出たんですね。
では、いってみましょー。

前提条件

  • java
  • selenium-server-standalone
    • 現時点で最新のバージョン(3.7.1.jar)を用意してください
  • facebook/php-webdriver: A php client for webdriver.
  • chromedriver
    • 現時点で最新のバージョン(chromedriver 2.33)を用意してください
  • geckodriver
    • 現時点で最新のバージョン(geckodriver v0.19.1)を用意してください

が必要です。

ヘッドレスChrome

ソース

百聞は一見にしかずなのでソースから。
続きを読んでみようかな…

Android4.2.2の標準ブラウザでHTTPリクエストが2回発行されて困った話

投稿日:

誰かがきっと見てるから, もうあんたでいいから見ててよ, そうだよなだから「誰か」か
(クリープハイプ 二十九、三十)

そのへんのくだりに非常にグッとくる今日このごろです。

というわけで、Android 4.2.2の標準ブラウザ でHTTPリクエストが2回発行されて困った話を書きます。

ことの発端

とある案件のテストをしていて、
Android 4.2.2 の標準ブラウザ だけ登録出来ましぇ~ん。
というBTSが挙がってきたのがそれです。

調査

確認したところ、たしかに Android 4.2.2の標準ブラウザ だけ登録できません。
他のブラウザ(chromeとか)やiPhoneだと登録できました。

こんなとき信じられるのはログだけです。
どこまで処理が走って、どこで処理が止まっているのか調べます。
続きを読んでみようかな…

PHPで知らなかった書き方に出会って驚いた話

投稿日:

あ~わ~ただしい日々 知らぬ間に蝉しぐれも止んで.
というわけで1年の3/4が過ぎようとしています。まぁビックリ。

自分は生粋のペチパーで曲がりなりにもソースレビューをたまにはしているのですが最近ちょっと驚いたというか、へぇ~こんなふうにも書けるんやねという書き方に出会ったので記します。

驚いた書き方

大体イメージはこんな感じです。
続きを読んでみようかな…

PHPUnitで複数のアサーションを実行して最後に失敗があったか確認する

投稿日:

題目の通りなのですが、PHPUnitで複数のアサーションを実行して最後に失敗があったか確認する方法をメモしておきます。

本来(なるべく)なら1テスト1アサーションがいいのでしょうけど、とりあえず簡単なアサーションをざぁーーーっと流して最後に失敗したものだけを確認したいこともあるのではないのでしょうか。

そんな要求を満たすには以下の方法もあるのではないかという話です。
※すいません、これ以外やったことありませn

方法

以下の例外をキャッチする。

\PHPUnit_Framework_ExpectationFailedException

はい、これだけです。
続きを読んでみようかな…

【メモ】NetBeansでのファイル内移動ショートカット

投稿日:

自分はふだんNetBeansを使って開発しているのですが、数千行ある巨大なファイルでファイルの先頭に飛んだり、最後に飛んだりするショートカットを地味に知らなかったのでメモしておきます。

えぇ、今まではマウスホイールとかグルグルグルグルしてました。

Mac

ファイルの先頭に移動

Command (⌘) + ↑

  • 地味に移動しないときがあるのでそんな時はさらに
  • イメージとしては、Command (⌘) + ↑ + ←

続きを読んでみようかな…

php-webdriverを簡単に試せるライブラリ書いた

投稿日:

自由研究が終わっていない!やばい!となって週末全力で息子の宿題をお手伝いしました。
このへんは血が争えないというか、やはりこうなってしまうんだなぁと歴史というか、得体の知れない何かを実感しました。

というわけで、先日までちょくちょくとphp-webdriverを触っていたのですが自分の中である程度まとまったのでライブラリ化しました。
名前はpmdです(php-webdriver → pwd → ひっくり返して → pmd)。

2017/09/02 追記


名前、最初気にしてなかったけどやっぱり気になったので変えました。

screru(スクレル) です。
(スクリーンショットが撮れる → screenshot ga toreru → screru)

2017/09/02 追記ここまで

といっても大層なものでもなく、自分自身が欲しいなぁという機能をラップして組み込んだものになります。

入れた機能としては以下の通りです。

  • PHPUnit用に組み込める関数群をTraitとして用意
  • 画面のフルスクリーンキャプチャ
    • 後述しますが、テスト(assertion)失敗時にキャプチャを撮る仕組みもあります
  • 指定要素のキャプチャ

対応ブラウザは、

  • Firefox
  • Chrome
  • Internet Explorer (windows)

のみとなっています(いまのところ)。

使い方

seleniumや各ドライバーのインストールなどは、

README.mdを参考にしてもらうとして簡単な使い方を書きます。
続きを読んでみようかな…

スポンサーリンク