GUI何処行ったんDocker

39
発表の予定の無い資料 GUI 何処行ったん Docker Ver 0.02

description

.reviewrc 第2回 (2014/10/04) にて、身内向けに余興として発表した資料に加筆したものです。(発表当時は約50分) 申し込みサイト : http://connpass.com/event/9009/ ※当資料はまだ書きかけです。 ※発表予定はありません…が、某企業がよく似たのを記事にしたらしいので負け惜しみに上げますw

Transcript of GUI何処行ったんDocker

Page 1: GUI何処行ったんDocker

発表の予定の無い資料

GUI

何処行ったん

DockerVer 0.02

Page 2: GUI何処行ったんDocker

Part.0

お前、

だれやねんw

Page 3: GUI何処行ったんDocker

自己紹介

三浦 一仁(ミウラ カズヒト)@kazuhito_m

Page 4: GUI何処行ったんDocker

こう覚えてください…

三浦 一仁(ミウラ カズヒト)@kazuhito_m

あだ名が…

”みうみう・なんできたん”氏

(最近苗字が

”ヅラ井”

という設定された)人

Page 5: GUI何処行ったんDocker

Part.1

昔から思ってたこと

Page 6: GUI何処行ったんDocker

突然ですがずっと夢があったんです!

GUIのテストを「デスクトップ環境無し」でやりたい!(”ヘッドレス”とも言いますね)

Page 7: GUI何処行ったんDocker

なんでなん?• たかだか「表示物を動かす」のために、専用環境作っ

て置いとかなアカン、がイヤ!

–サーバを一台どっか置く?

•それもエコじゃねぇ

–大体資源無い事多いしなぁ

• そうじゃないなら「誰かの端末で…」

–技術者にそんなん強いりたくないし、強いられたくない

• あとWindowsキライw

–大体Windowsの話になり…それが必要なら「端末が要るね」っていう話で元に戻る

Page 8: GUI何処行ったんDocker

我らがHaljik兄やんも…• 勉強会「テスト自動化の

様々な道具を使ってみた四方山話」でも

って言うてたし。

Page 9: GUI何処行ったんDocker

天下のALM-MVPも…

• 昔、Posauneさんも、TABOK読書会の時に…

「リモートで自動テストぽいものを動かそうとしたけど、上手く行かなかった(キャプチャ取れなかった、だったっけ?)」

って言うてた気がするし(ちょううろ覚え)

Page 10: GUI何処行ったんDocker

最終的にそこか…

みんな言うてるし!

(小並感)

Page 11: GUI何処行ったんDocker

だから、イメージとしては…

• やりたいことを絵にすると…

みたいなことですわw(んでもって”使い捨て”がコンセプトw)

> デスクトップ.exe -exec テストの何か.bat

$ デスクトップ.sh -exec テストの何か.sh

Page 12: GUI何処行ったんDocker

だからと言って落とせないものは…

• WebのGUIに限ると…

–一応、プロダクトはあるぽいけど…

–結局JavaScriptや絵面変わるストは「架空のブラウザ」じゃ出来ない

•GhostDriverは個人的にはイマイチ

•「ターゲットを限定した」ものはそれでしないとテストにならん

•Seleniumの「ブラウザを限定しないモード」の時にスクショ取れなかったり…

Page 13: GUI何処行ったんDocker

そんな時仕事で…

• 「GUIのスモークテストを動かせるようにしてくれ」指令

–対象はWebアプリ、テストはSelenium

–在る環境はLinuxサーバ1台

–使うのはJenkins

–ただしDockerは入ってる

Page 14: GUI何処行ったんDocker

そんな時仕事で…

• 「GUIのスモークテストを動かせるようにしてくれ」指令

–対象はWebアプリ、テストはSelenium

–在る環境はLinuxサーバ1台

–使うのはJenkins

–ただしDockerは入ってる

「やるなら今しかねぇ!」

感w(ただし研究するのは家)

Page 15: GUI何処行ったんDocker

いつもの如く…

できるだけ

「なんもしない」

方向で!(技術者のゲスの極み乙女)

Page 16: GUI何処行ったんDocker

Part.2

試しに作ってみる

Page 17: GUI何処行ったんDocker

なにを作ることにしたの?

「ブラウザを操る

SeleniumServer

が勝手に起動する

Linux(with Gnome&VNC)」

Dockerイメージ

Page 18: GUI何処行ったんDocker

まずは

全体構成

Page 19: GUI何処行ったんDocker

The横着w

全体構成

ホワイトボードで

説明

Page 20: GUI何処行ったんDocker

その前に

Dockerって

Doんなkerんじなん?

Page 21: GUI何処行ったんDocker

その前に

よく「紹介される」図

Page 22: GUI何処行ったんDocker

その前に

よく「紹介される」図んー、

ちょっとわからないです…

はオレだけ?

Page 23: GUI何処行ったんDocker

もう資料書く気ねーだろw

よく「紹介される」図ホワイトボードで

説明

Page 24: GUI何処行ったんDocker

そして

“ブツ”のしょーかい

https://github.com/kazuhito-m/dockers/tree/master/desktop_and_browser_vnc

Page 25: GUI何処行ったんDocker

最期に

デモ

Page 26: GUI何処行ったんDocker

Part.3

やってみて(所感)

Page 27: GUI何処行ったんDocker

Goodから

• メリット

–Linuxサーバ一台の中で完結

•独立性…になるのかな?

–そこそこ軽い

–「常駐」も「使い捨て」にも出来る

•常時は「眠らせとく」とか出来る

–「使い捨て」た場合「毎回サラで」始めれる

•常駐と対比で「経年劣化的なこと」で悩まなくてイイ

–ある程度「ブラウザの幅もある」

•Firefox、Chrome…ともうちょと

–基本「GUI無し」で運用、その気になれば「観測」することが出来る

Page 28: GUI何処行ったんDocker

次Badを

• デメリット

–「Windowsの厳密性を期待」してるものは全滅

•無論IEは無理

•ChromeもFirefoxも「厳密にWin上と同じ動き」は保証出来ん

•テストに「絵面の一致」を求めてるものがあった場合

–「Dockerイメージ」としてはデカい

Page 29: GUI何処行ったんDocker

うーん、どうしよっかなぁ

• 既知の問題

–他のDockerでビルドしたら挙動が上手く行かなかった

•環境依存の設定ファイルを持ってる可能性

–vncpasswdファイルとか?

•DockerHubに「動いてるやつ」置いてみようかな?

Page 30: GUI何処行ったんDocker

うはw夢がひろがりんぐww• 使い出は?

–JenkinsやCIサーバでの「画面のテスト」を気にせずガンガンと

–要るときに上げる「SeleniumServer」

–「一日中やらせたいがブラウザでしか出来ないもの」を「サーバの仕事」としてやらせ続けれる

•スクレイピングを週一、月一

•とりあえず艦これをry(オリョクルェ…)

–本気だしゃースクショも動画も取れる!

•マニュアルの画像の自動更新を狙いつつ

Page 31: GUI何処行ったんDocker

まあね…

• ツッコミ在ると思うけどさぁ…–稚拙だ、大したこと無い、そんなの誰でも思いつく

– 運用かかるんやったら意味ない

– そんなことはいいから使い方を言え

– こういう場合どうするねん

– Linuxオンリーじゃ意味ないわ

– XXXXというプロダクトならもうできてる

– 元手かかりすぎなんじゃね?

Page 32: GUI何処行ったんDocker

こちとら酔狂でやってんだ!w

• ツッコミ在ると思うけどさぁ…–稚拙だ、大したこと無い、そんなの誰でも思いつく

– 運用かかるんやったら意味ない

– そんなことはいいから使い方を言え

– こういう場合どうするねん

– Linuxオンリーじゃ意味ないわ

– XXXXというプロダクトならもうできてる

– 元手かかりすぎなんじゃね?

しゃーらっぷ!

やりたかった…

夢かなえたかったんじゃい!

Page 33: GUI何処行ったんDocker

夢はかなった!…のか?

と、言うのが

今、元気に仕事場で

働いとります!(ときどきコケるけどw)

Page 34: GUI何処行ったんDocker

34

結局俺得でしたが…

ご静聴ありがとうございました。

Page 35: GUI何処行ったんDocker

まぁ、これで終わりなんすけどw

閑話休題

Page 36: GUI何処行ったんDocker

Posauneさんの言いつけ守ってりゃ…

• この資料「2014/10/04(土)の.reviewrc」って言う勉強会で身内用に見せたんですけど…。

Page 37: GUI何処行ったんDocker

・・・(11/26)

Page 38: GUI何処行ったんDocker

この資料は「負け惜しみ」なんすよw

上げときゃ

よかった!w(みんなやってるやろ思ってたし

企業さんが記事にするほどのことでは

ブツブツ…)

Page 39: GUI何処行ったんDocker

39

はぁ、すっきりしたw

今度こそ!

ご静聴ありがとうございました。