headlessでseleniumを非表示実行する
2016 年 4 月 11 日 by 山平Seleniumでブラウザを使った自動テストは便利ですが、GUIがシビアなWebアプリケーションの実行は気を使います。
たまたまマウスカーソルがSelenium実行中のブラウザの上に乗ってしまったことで、onMouseOver/onMouseOut等のイベントが走って、自動テストがエラーになってしまい、テストのやり直しに…なんてことが、私はありました。
Seleniumでブラウザを使った自動テストは便利ですが、GUIがシビアなWebアプリケーションの実行は気を使います。
たまたまマウスカーソルがSelenium実行中のブラウザの上に乗ってしまったことで、onMouseOver/onMouseOut等のイベントが走って、自動テストがエラーになってしまい、テストのやり直しに…なんてことが、私はありました。
ブラウザの自動テストといえばSeleniumです。
要はブラウザを操作するライブラリ(WebDriver)なので、ブラウザを使った自動操作全般に使うことができてとても使い勝手の良いツールだったりします。
先日、とあるツールを作っている途中で気づいたのですが、Seleniumってテキストノードを取得することができないんでしょうか?
Firefoxで画像を参照しているといきなりファイル保存ダイアログが表示されてしまいました。
他のIE11やGoogleChromeでは、ちゃんと画像が表示されます。
FirefoxでもIE11やGoogleChromeと同様にブラウザ上で画像を表示してくれる場合があります。
その違いは、拡張子が大文字か小文字かの違いでした。
前回、Jekyll(Octopress)の記事生成時に、記事用のディレクトリと、画像用のディレクトリを作成しました。
折角、画像用のディレクトリを作成しても、パスの指定までは面倒見てくれないので、あまり便利になった実感が沸きません。
そこで今回は、画像のパスを勝手に指定してくれるように手を加えていきます。
それなりにイケてる静的サイトが簡単に作れるJekyllはとても便利です。
さらにちょっと面倒な下準備まで済ませてくれているOctpressが私のお気に入りです
Jekyllにはちょっとだけ気に入らないところがあって、記事を1つのディレクトリ内に延々と書き溜めていかなければならない点でした。
過去にテキストベースでCMSを自作した際に、同じ問題でとても苦労したことがあったからです。
ところがある日以下のような記事を見かけました。
なんと。。
ちゃんとソースを読まないとダメですね。。
JavaScriptのDateが不親切なのは周知の事実だと思いますが、以下のようなサイトを見つけました。
この記事によれば、setDate、setMonth、setYearに数字を入れれば良いだけ、ということになります。
じゃあ1日-1は0日とか、31日+1日は32日と言う指定の場合はどうなるのか、試してみました。
KnockoutJSを使ってSVGを制御するサンプルを作ってみました。
こんな感じです。
長らくSVG実装が出揃わない状況が続いていましたが、最近やっと落ち着いてきました。
慣れ親しんだDOM操作で厳密な座標が制御できるSVGは、Web上でちょっとしたグラフ等を表示するのにとても都合がいいです。
また、MVVMによる画面制御も、jQueryのセレクタ管理に疲れた体にとてもやさしいです。
データを更新するだけでKnockoutJSがDOMを更新してくれるので、画面制御のためのコードがありません。
上のサンプルはHTMLとJavaScriptあわせて50行に満たない簡単なものですので、解説は不要だと思います。
以上です。
1.Process Explorerとは
Process ExplorerはMicrosoftがWindows用トラブルシューティングツールとして提供しているフリーソフト群「Windows Sysinternals」の一つです。
Process Explorerは言わばWindows標準のタスクマネージャの高機能版的なフリーソフトで、実行中プロセスの詳細を調べたり、プロセスを終了させたりすることができます。
今回はProcess Explorer を使ってWindowsの「別のプログラムがこのフォルダーまたはファイルを開いているので、操作を完了できません。」対策をしたいと思います。
404ページ(NotFoundページ)は、単に「このページはありません。」と表示すればよいと思っている方々も多いと思います。
しかし、404ページはSEO上重要なページなのです。
「Webサイトを訪れるがページがない」⇒「お客様が要求したことに応えられていない」
ということになります。
404ページで適切な別ページへの案内ができれば、そこからの離脱を防ぐことができ、かつ、コンバージョンへつなげることができるかもしれません。そのためには、どのURLにアクセスされたかを取得する必要があります。
SPA(=Single Page Application)の構築などに必要不可欠なJavaScriptのフレームワークですが、
今回は、その中でも後発でシンプルな作りの「Vue.js」を触ってみたので、ご紹介します。