GUI何処行ったんDocker
-
Upload
miura-kazuhito -
Category
Technology
-
view
904 -
download
2
description
Transcript of GUI何処行ったんDocker
発表の予定の無い資料
GUI
何処行ったん
DockerVer 0.02
Part.0
お前、
だれやねんw
自己紹介
三浦 一仁(ミウラ カズヒト)@kazuhito_m
こう覚えてください…
三浦 一仁(ミウラ カズヒト)@kazuhito_m
あだ名が…
”みうみう・なんできたん”氏
(最近苗字が
”ヅラ井”
という設定された)人
Part.1
昔から思ってたこと
突然ですがずっと夢があったんです!
GUIのテストを「デスクトップ環境無し」でやりたい!(”ヘッドレス”とも言いますね)
なんでなん?• たかだか「表示物を動かす」のために、専用環境作っ
て置いとかなアカン、がイヤ!
–サーバを一台どっか置く?
•それもエコじゃねぇ
–大体資源無い事多いしなぁ
• そうじゃないなら「誰かの端末で…」
–技術者にそんなん強いりたくないし、強いられたくない
• あとWindowsキライw
–大体Windowsの話になり…それが必要なら「端末が要るね」っていう話で元に戻る
我らがHaljik兄やんも…• 勉強会「テスト自動化の
様々な道具を使ってみた四方山話」でも
って言うてたし。
天下のALM-MVPも…
• 昔、Posauneさんも、TABOK読書会の時に…
「リモートで自動テストぽいものを動かそうとしたけど、上手く行かなかった(キャプチャ取れなかった、だったっけ?)」
って言うてた気がするし(ちょううろ覚え)
最終的にそこか…
みんな言うてるし!
(小並感)
だから、イメージとしては…
• やりたいことを絵にすると…
や
みたいなことですわw(んでもって”使い捨て”がコンセプトw)
> デスクトップ.exe -exec テストの何か.bat
$ デスクトップ.sh -exec テストの何か.sh
だからと言って落とせないものは…
• WebのGUIに限ると…
–一応、プロダクトはあるぽいけど…
–結局JavaScriptや絵面変わるストは「架空のブラウザ」じゃ出来ない
•GhostDriverは個人的にはイマイチ
•「ターゲットを限定した」ものはそれでしないとテストにならん
•Seleniumの「ブラウザを限定しないモード」の時にスクショ取れなかったり…
そんな時仕事で…
• 「GUIのスモークテストを動かせるようにしてくれ」指令
–対象はWebアプリ、テストはSelenium
–在る環境はLinuxサーバ1台
–使うのはJenkins
–ただしDockerは入ってる
そんな時仕事で…
• 「GUIのスモークテストを動かせるようにしてくれ」指令
–対象はWebアプリ、テストはSelenium
–在る環境はLinuxサーバ1台
–使うのはJenkins
–ただしDockerは入ってる
「やるなら今しかねぇ!」
感w(ただし研究するのは家)
いつもの如く…
できるだけ
「なんもしない」
方向で!(技術者のゲスの極み乙女)
Part.2
試しに作ってみる
なにを作ることにしたの?
「ブラウザを操る
SeleniumServer
が勝手に起動する
Linux(with Gnome&VNC)」
Dockerイメージ
まずは
全体構成
The横着w
全体構成
ホワイトボードで
説明
その前に
Dockerって
Doんなkerんじなん?
その前に
よく「紹介される」図
その前に
よく「紹介される」図んー、
ちょっとわからないです…
はオレだけ?
もう資料書く気ねーだろw
よく「紹介される」図ホワイトボードで
説明
そして
“ブツ”のしょーかい
https://github.com/kazuhito-m/dockers/tree/master/desktop_and_browser_vnc
最期に
デモ
Part.3
やってみて(所感)
Goodから
• メリット
–Linuxサーバ一台の中で完結
•独立性…になるのかな?
–そこそこ軽い
–「常駐」も「使い捨て」にも出来る
•常時は「眠らせとく」とか出来る
–「使い捨て」た場合「毎回サラで」始めれる
•常駐と対比で「経年劣化的なこと」で悩まなくてイイ
–ある程度「ブラウザの幅もある」
•Firefox、Chrome…ともうちょと
–基本「GUI無し」で運用、その気になれば「観測」することが出来る
次Badを
• デメリット
–「Windowsの厳密性を期待」してるものは全滅
•無論IEは無理
•ChromeもFirefoxも「厳密にWin上と同じ動き」は保証出来ん
•テストに「絵面の一致」を求めてるものがあった場合
–「Dockerイメージ」としてはデカい
うーん、どうしよっかなぁ
• 既知の問題
–他のDockerでビルドしたら挙動が上手く行かなかった
•環境依存の設定ファイルを持ってる可能性
–vncpasswdファイルとか?
•DockerHubに「動いてるやつ」置いてみようかな?
うはw夢がひろがりんぐww• 使い出は?
–JenkinsやCIサーバでの「画面のテスト」を気にせずガンガンと
–要るときに上げる「SeleniumServer」
–「一日中やらせたいがブラウザでしか出来ないもの」を「サーバの仕事」としてやらせ続けれる
•スクレイピングを週一、月一
•とりあえず艦これをry(オリョクルェ…)
–本気だしゃースクショも動画も取れる!
•マニュアルの画像の自動更新を狙いつつ
まあね…
• ツッコミ在ると思うけどさぁ…–稚拙だ、大したこと無い、そんなの誰でも思いつく
– 運用かかるんやったら意味ない
– そんなことはいいから使い方を言え
– こういう場合どうするねん
– Linuxオンリーじゃ意味ないわ
– XXXXというプロダクトならもうできてる
– 元手かかりすぎなんじゃね?
こちとら酔狂でやってんだ!w
• ツッコミ在ると思うけどさぁ…–稚拙だ、大したこと無い、そんなの誰でも思いつく
– 運用かかるんやったら意味ない
– そんなことはいいから使い方を言え
– こういう場合どうするねん
– Linuxオンリーじゃ意味ないわ
– XXXXというプロダクトならもうできてる
– 元手かかりすぎなんじゃね?
しゃーらっぷ!
やりたかった…
夢かなえたかったんじゃい!
夢はかなった!…のか?
と、言うのが
今、元気に仕事場で
働いとります!(ときどきコケるけどw)
34
結局俺得でしたが…
ご静聴ありがとうございました。
まぁ、これで終わりなんすけどw
閑話休題
Posauneさんの言いつけ守ってりゃ…
• この資料「2014/10/04(土)の.reviewrc」って言う勉強会で身内用に見せたんですけど…。
・・・(11/26)
この資料は「負け惜しみ」なんすよw
上げときゃ
よかった!w(みんなやってるやろ思ってたし
企業さんが記事にするほどのことでは
ブツブツ…)
39
はぁ、すっきりしたw
今度こそ!
ご静聴ありがとうございました。