2015年2月26日木曜日

JenkinsでSeleniumを動かしたときに「Firefox console output: Error: no display specified」が発生する

株式会社Pro-SPIRE エンジニアリングサービス事業部の相川です。

CentOS 6.6に立てたJenkinsでSeleniumを動かすと以下のようなエラーが発生しました。
「mvn test」コマンドでFirefoxDriverを動かしたときに、CentOS上のブラウザが立ち上がらずにテストが終了してしまったときのエラーです。

org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output: Error: no display specified Error: no display specified at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:106)


ブラウザが検出できませんといわれてしまいました。

今回は、そのときに私が行った対処法についてのお話です。

動作環境はこのようになっています。

  • VirtualBox 4.3.22
  • CentOS 6.6.64bit版
  • Jenkins 1.596
  • Firefox 31.4.0
  • Selenium 2.43.1

CentOS上で、Firefoxが正常に起動できることを確認しました。

Linux系のOSでSelenium WebDriverを動かすときは、
環境変数DISPLAYに有効なディスプレイを指定する必要があるということで、
以下のコマンドを叩いて指定しました。

---------------------------------------------------------------------------
$ export DISPLAY=:0
---------------------------------------------------------------------------

次にJenkinsにやらせたいことを手動で実行してみます。

---------------------------------------------------------------------------
$ mvn test
---------------------------------------------------------------------------

テストが開始され、ブラウザが立ち上がり、実行完了を確認しました。


手動では問題無く動作したため、
Jenkins上で動作確認を行います。

Jenkinsを起動し、ジョブの設定で、
「前処理」で「シェルの実行」を選択し、
テキストボックス内に「export DISPLAY=:0」と入力します。
そしてビルドのゴールに「clean test」としました。

これで、Jenkinsのビルド実行を行ったところ、ブラウザが立ち上がらずにConsol Outputに冒頭のエラーが出力されていました。

ここで、Jenkinsの起動方法を変えてみました。

---------------------------------------------------------------------------
$ service jenkins start
---------------------------------------------------------------------------

上記serviceコマンドで実行していたのを、

---------------------------------------------------------------------------
$ java -jar jenkins.war
---------------------------------------------------------------------------

で.warファイルを実行してみました。
(.warファイルは「/usr/lib/jenkins」にありました。)

そしてserviceコマンドのJenkinsとまったく同じ設定にしてジョブ実行をしたところ。。

うまくいきました!!

その後に色々と調べてみると、
どうやらserviceコマンドの特性に原因があったようで、DISPLAY値を読み取られていないようでした。

今回、私が取った対策はあくまで数あるうちの一つの対策に過ぎないかもしれません。
ですが、同じ状況で躓いている方の助けになれば幸いだと思います。

以下、参考にさせていただいたサイトです。


デーモンの起動・終了にはserviceコマンドを利用しよう
※上記のリンクは外部サイトが別ウィンドウで開きます。

Selenium No Display Specified
http://blog.markshead.com/392/selenium-no-display-specified/
※上記のリンクは外部サイトが別ウィンドウで開きます。

2015年2月17日火曜日

YouTubeのデフォルトムービー再生がFlashからHTML5になります

株式会社Pro-SPIRE エンジニアリングサービス事業部の相川です。

先日、YouTubeの開発者ブログで、YouTubeのムービー再生にデフォルトでHTML5が使用されるようになるとの発表がありました。

YouTube Engineering and Developers Blog: YouTube now defaults to HTML5
http://youtube-eng.blogspot.jp/2015/01/youtube-now-defaults-to-html5_27.html
※上記のリンクは外部サイトが別ウィンドウで開きます。

対象ブラウザは以下の通りです。
  • Google Chrome
  • IE 11
  • Safari 8
  • Firefoxベータ版
今回YoutubeにHTML5の実用を可能にしたキーテクノロジには、以下のようなものがあげられます。

MediaSource Extensions

HTTPダウンロードを利用してストリーミング再生するために作られたHTML5用のJavascriptAPIです。
Xbox、PS4等のゲーム機やChromecast、Webブラウザなどでのストリーミング再生を可能にします。

VP9 video codec

高品質なムービーを、平均帯域幅を35%までカットした状態で再生できます。
これによって高品質ムービーを多くの人が利用できるようになります。
また、ムービー再生を15~80%早く再生できるようにもなります。

Encrypted Media Extensions and Common Encryption

保護されたコンテンツをプラグインなしで再生できるようになります。
また、プラットフォーム上のコンテンツ保護技術をサポートしながらも、よりスムーズにYouTubeを利用できるようになります。

WebRTC

プラグインなしでブラウザからGoogleハングアウトのようなビデオ通話を利用できるようになる技術です。

Fullscreen

HTML5の新しいフルスクリーンAPIを利用することで、4k解像度の高品質な動画をフルスクリーンで視聴することができます。



HTML5がデフォルトムービー設定になる背景にはこれらの重要なファクターがありました。
普段何気なく利用しているYouTubeも、技術的な観点を持つようになるとまた別の楽しみがありそうです。

以上、本日のショートトークでした。

YouTubeがFlashではなくHTML5でのムービー再生を初期設定にすることを発表
※上記のリンクは外部サイトが別ウィンドウで開きます。

YouTube API Blog: Flash and the HTML5
http://apiblog.youtube.com/2010/06/flash-and-html5-tag.html
※上記のリンクは外部サイトが別ウィンドウで開きます。


2015年2月12日木曜日

初のUbunts搭載スマートフォンが欧州で発売

株式会社Pro-SPIRE エンジニアリングサービス事業部の相川です。

初の「Ubuntu」搭載スマートフォンが欧州で発売されるようです。

bq - Aquaris E4.5 Ubuntu Edition
http://www.bq.com/gb/ubuntu.html
※上記のリンクは外部サイトが別ウィンドウで開きます。

初の「Ubuntu」搭載スマートフォン、欧州で発売へ - CNET Japan
※上記のリンクは外部サイトが別ウィンドウで開きます。

スマートフォンで使用されるOSといえばAndroidとiOSが主流でした。
Linuxディストリビューションとして知名度があるUbuntuがスマートフォン端末で利用できるのはLinux愛用者の方には朗報ですね。

Ubuntu搭載のスマートフォン「BQ Aquaris E4.5 Ubuntu Edition」は、スマートフォンやタブレットを販売しているBQ社から発売されます。
販売の方法はフラッシュセールというもので、期間と数量を限定して販売されるようです。
販売情報のアナウンスは、UbuntuのTwitter、FaceBook、Google+アカウントと、BQ社のTwitterアカウントより発信されます。

期間限定商品であるために、ファンの方はなんとしても入手したい一品ですね。

スマートフォンOSもAndoroid、iOS、Firefox、WindowsPhone、Ubuntuと多彩になってきました。
選択の幅が広がるのは、自分にあったものが選べるので楽しみがありますね。

以上、本日のショートトークでした。







2015年2月2日月曜日

Suica 電子マネー専用の自動販売機 1円単位で価格設定が可能に

株式会社Pro-SPIRE エンジニアリングサービス事業部の相川です。

電子マネーの支払いでのみ、商品を購入できる自動販売機が設置されるようになります。


JR東日本エキナカ飲料自販機『アキュア(acure)』に
「Suica 電子マネー専用自販機」が登場します
~交通系電子マネー専用価格「1 円単位」で販売します~ 
※上記のリンクは外部PDFファイルが別ウィンドウで開きます。

株式会社JR東日本ウォータービジネスの飲料自販機「アキュア(acure)」より、導入されます。

特徴としては、自販機の価格設定が1円単位で行える点が挙げられます。
従来の自販機は、1円単位の現金支払いができないため価格設定は10円単位でした。
1円単位の支払いが可能になるため、通常の自販機よりも安く購入することが可能です。

しかし、商品によっては通常より値段があがるものもあります。
その場合は、通常の自販機と同じ値段にするようです。

設置場所は、2月1日の時点では以下の5箇所です。

  • 東京駅 3-4番ホーム上
  • 品川駅 1-2番ホーム上
  • 池袋駅 改札外中央コンコース
  • 秋葉原駅 改札内中央コンコース
  • 上野駅 改札内中央コンコース
主に、JR東日本管内駅を中心に設置される模様です。
これ以外にも順次、首都圏に追加で20箇所に設置されるようです。

Suica以外にも以下のカードが使用可能です。
  • PASMO
  • Kitaca
  • TOICA
  • manaca
  • ICOCA
  • SUGOCA
  • nimoca
  • はやかけん
首都圏にはPASMOの利用者も多いと思います。
他社の交通系ICカードも使用できるのは便利ですね。

設置時期は、2015年2月1日から2015年4月末の予定となっています。

1円単位の飲料自販機が登場 電子マネー専用で通常より安く
http://trafficnews.jp/post/37651/
※上記のリンクは外部PDFファイルが別ウィンドウで開きます。

1円単位まで自販機が利用できるとなると、新鮮な気持ちになりますね。
都内主要駅に設置されるので、皆さんも一度は目にする機会があるかと思います。

以上、本日のショートトークでした。

Windows10はスタートボタンが復活するかもしれません

株式会社Pro-SPIRE エンジニアリングサービス事業部の相川です。

現在、Microsoftの公式サイトからWindows10のテクニカルプレビュー版をインストールすることができますね。

Home page - Windows Insider Program
※上記のリンクは外部サイトが別ウィンドウで開きます。

下記サイトのレビューによると、Windows10は、Windows7のようなスタートメニューが復活するようです。


Windows 10のTP版をVAIO Pro 13にインストールしてわかったものすっごい注意点
※上記のリンクは外部サイトが別ウィンドウで開きます。

Windows8のタイル風のUIも引き続き登場しています。
Windows7以前のスタートメニューが再び利用できるとのことで、使用感が向上しそうです。

やはり、Windowsといえばこのスタートメニューが印象的です。
スタートメニューとタイル風のUIが共存しているこの画面は、Windows10らしさを表しているような気がします。

Windows8のリリース当初のように、シャットダウンの方法がわかりづらい、ということもなくなりますね。

以上、本日のショートトークでした。