「第８回 Selenium 談話会 in Slack」のまとめ

# Selenium談話会 in Slackとは
* 私、@oh_rusty_nail が主催しているSlackを使ったオンライン勉強会です
 * https://seleniumjp.slack.com
 * 地方に住んでいて勉強会に行くのも遠征しないときびしい！といった方には特におすすめです
* [日本Seleniumユーザーコミュニティ](https://groups.google.com/forum/#!forum/seleniumjp)で開催の案内を出しています
* ラフな感じでやってますのでお気軽にご参加ください！
 * ![チャットの様子](https://08275154297963728543.googlegroups.com/attach/4236d4fdf8cf405b/slack.png?part=0.1&view=1&vt=ANaJVrFYAk2sse1_p9dtcEakDE4AiQVeKYJHN0S6NzBO4jleAUmzhx1DafHjNU9fGtgGP2wt7F9M_mN73a0ekmpwLYwZNI332m1wJVcNyHWkr56kXGIjnaA)
* 情報を共有し合ったり、流行のツールについてしゃべったり、困りごとや相談をしたり...etc
* 2016/02/24現在の総登録ユーザ数：165名

# 参加方法
* https://seleniumjp.herokuapp.com から登録してください

# 過去に開催した談話会のまとめ
* [「第１回Selenium談話会 in Slack」 のまとめ](http://qiita.com/oh_rusty_nail/items/21e0014c40853571c87b) 【2015/04/22(Wed) 21:00～】
* [「第２回Selenium談話会 in Slack」 のまとめ](http://qiita.com/oh_rusty_nail/items/ccf40fe2d3381ad0ce4f) 【2015/05/13(Wed) 21:00～】
* [「第３回Selenium談話会 in Slack」 のまとめ](http://qiita.com/oh_rusty_nail/items/6efffcb71818914f776e) 【2015/06/16(Tue) 21:00～】
* [「第４回Selenium談話会 in Slack」 のまとめ](http://qiita.com/oh_rusty_nail/items/444e872c731e700ea0dc) 【2015/07/29(Wed) 21:00～】
* [「第５回Selenium談話会 in Slack」 のまとめ](http://qiita.com/oh_rusty_nail/items/e89ada62b31f2ef60462) 【2015/09/02(Wed) 21:00～】
* [「第６回Selenium談話会 in Slack」 のまとめ](http://qiita.com/oh_rusty_nail/items/360837b342500a44ef26) 【2015/10/14(Wed) 21:00～】
* 第７回は記録を忘れていましたorz...　　　　 【2015/11/25(Wed) 21:00～】

# 「第８回Selenium談話会 in Slack」の議事録
* 日時
 * 2016/02/17(Wed) 21:00～
* 開催案内
 * connpass： http://selenium-danwakai.connpass.com/event/26849/
 * 日本Seleniumユーザーコミュニティ： https://groups.google.com/forum/#!topic/seleniumjp/pzZF7Qal4L4
* 参加者数は過去最多でした。ありがとうございます！！

## Webdriver関連
* クロスブラウザテストを自前で用意した環境でメンテナンスしきれず結局運用をあきらめたとういう事例
 * => 最低限この組み合わせで検証すると割り切るのも大切ですね
 * => メンテナンスし続けられるくらいのテストケースに絞るのもありかな
 * => IEの扱い。さすがに6とかそんな昔のは見ない
 * => 画面を一通り操作するスモークテスト的なテスト群だけをいろいろなブラウザで実行するイメージ
* そもそもクロスブラウザテストをする意味って
 * => 表示崩れとJSの動作とキャッシュの扱い
 * => 表示崩れなら以前伊藤さんに紹介していただいた、検証したいページのスクショをバンバンとっておいてあとでまとめてみていく方法が実践的(SeleniumIDEとかでも可)
 * => IEとかだとキャッシュを長く持ったり、データに違いが出てきたり、画像の表示結果が違ったりとかはあると思う
 * => 過去の事例として、ファイルアップロードはIEでバグ(スペース付きのファイルはアップロードできない)が混入されていたことがあった
 * => ブラウザ固有のバグがあると、テストがこけたときの原因探りが大変になる
 * => 最近は、ブラウザのリリースタイミングが早くなって、バグなのか仕様なのかの切り分けも難しくなっている
* ブラウザ自体の違いも問題だが、WebDriver側もメンテナンス具合にばらつきがある
 * 特にSafariDriverはメンテナがいないので下手したらなくなる可能性があるとか
* ブラウザ操作的に、SeleniumIDEではできないけど、WebDriverならできることってどんなことがある？
 * => SeleniumIDE単体だと辛いもの＞ダウンロード、アップロード、メール受信、REST API叩き、DBの初期化、PageObjectのような構造化、特定の条件下でのテストのリトライ
 * => ダウンロード後のファイルの検証をMD5をみて一致しているか確かたことがあったが、Webdriverでは容易に実現できる
     * => 画処理確認ならImageMagickとか使えばよい
 * => WebDriverの方が変更に強い＆保守しやすいとかがある。PageObjectもその一例
 * => 導入コストを考えてもWebdriverのほうがあとあと嬉しい気がする
 * => CIとの相性もWebdriverのほうがよい
* [Mastering Selenium WebDriver](http://shop.oreilly.com/product/9781784394356.do) この本の中身キニナル

## SeleniumIDE関連
* Openコマンドのようなネットワーク要件に影響されるコマンドが、エラーになった場合に都合よくリトライする方法がないかどうか
 * => SeleniumIDEでやるのはハードル高そう。Webdriverなら融通はきくけど
 * => この場合Openで止まる
 * => リトライの仕組み自体はgetEvalで実現できるかもしれないが、ここで言っているケースは「普通にコマンドを使っている状態でネットワーク要件に影響された場合」かな
 * => SeleniumIDEだとそこで止まってしまうから、リトライの単位はコマンドレベルではなくシナリオレベルで考えるのがよいのでは
* SeleniumIDEのスクリプトをjenkinsで動かしてた
 * => スクリプトを動かすのがseleniumRCmodeってだけだけど、TestNGもJunitも知らなくてもテストできる
* SeleniumIDEで正規表現を扱いたい時はどう書けばよい？
 * => [matching-text-pattern](http://www.seleniumhq.org/docs/02_selenium_ide.jsp#matching-text-patterns)
* IDEはとりあえずテストデータ作りたい時、ミニマムでお手軽にちゃちゃっとテストしたい時て感じでいる
 * => 定型操作がたくさんある時とかも 


## SeleniumBuilder関連
* https://github.com/SeleniumBuilder/selenium-builder/network
* アップデートしてみたがSeleniumIDEみたいに再生できなかったりとあまり使えない状態で・・・
 * => それは今までと変わっていないのではw
 * => ブラウザの制約でローカル再生ができないようになってしまった模様

## Appium関連
* [第3回 日本Seleniumユーザーコミュニティ勉強会](http://seleniumjp.connpass.com/event/24206/)の発表にもあった「STFとAppiumをもちいたAndroidアプリの自動テスト」について
 * => 勉強会でインストールの仕方から話が出たが、あまりに簡単にインストールできそうで驚いた
 * => ぶら下げる端末が１台であっても試したい！レベル
 * => 3台ぶら下げてみたが無難に表示されていた
 * => Centosに入れようとするとnpmの依存関係をうまく解消できないことがあるらしい
* STFって実機デバイス利用できるのか？
 * => むしろ実機デバイス管理ツール
* 実機テストするならAndroidに続きiOSも提供されるようになったDeviceFarmのほうが使いよいんじゃないかなと思った
 * => STFはデバイスファームのOSS
* [Appium Essentials](http://shop.oreilly.com/product/9781784392482.do) この本の中身何がかかれてるんだろう



## テスト関連
* キーワード駆動テストやっている人いますか？
 * => [キーワード駆動によるシステムテストの自動化について 2015](http://www.slideshare.net/koido1961/2015-56092163?from_m_app=android)
 * => SeleniumIDEでキーワード駆動を書いた事例 [SeleniumIDE×SelBlocksを使ってXMLでDDT！ - Qiita](http://qiita.com/____rina____/items/245d22250426f289b841)
* キーワード駆動の代表的なものの１つにはCucumber
 * => コードとしてテストを実装するのではなく、データにテストシナリオを表現して、テストはそのデータに沿って画面操作を実行すると言う点では
* キーワード駆動とデータ駆動、BDDとデータ駆動は直交している
* キーワード駆動（cucumberもですが）ステップファイルに相当するところの作成メンテナンスが大変なのではないか
 * => プログラムをかけない人がチームに多いとその方法が良かったりする [shouldbee](https://shouldbee.at/)を利用するのもよいかも
 * => ISO 29119-5がキーワード駆動のアーキテクチャについて詳しい
 * => キーワードはテストアナリストとドメインエキスパートが選定して、マッピングの部分をテストテクニカルアナリストや開発者が実装するイメージ

## その他
* 雑談チャンネル(#random)で晩御飯何食べたぁ？という話題から、なぜか「テストの粒度ってやっていると　「合ってない」ってわかるのですが、どうやって合わせればいいのかがわからないです」という真面目な話までw
 * => つい集まると隙あらばテストの話になるメンバーすげ～
* お題「まだSeleniumを使ってない隣の同僚に、Seleniumの魅力を一言で伝えてください」
 * => headlessなものでは結果しかみれないので、デモを作っておいてこれをみよ！と言う
 * => Seleniumを使ったデモ（動画）を見せると魅力を伝えられました。ただし、過剰な期待にも繋がる・・・

## 第3回 日本Seleniumユーザーコミュニティ勉強会に行ってきました記事
* [togetter](http://togetter.com/li/935012)
* [第3回 日本Seleniumユーザーコミュニティ勉強会 に参加してきました  #seleniumjp - seleniumer’s diary](http://seleniumer.hatenablog.com/entry/2016/02/07/101059)
* [第3回 日本Seleniumユーザコミュニティ勉強会に参加してきた！ - とあるStartupに勤めるエンジニアの技術ブログ](http://a-kura.hatenablog.jp/entry/2016/02/07/115302)
* [第3回 日本Seleniumユーザーコミュニティ勉強会に行ってきた](http://eichisanden.hateblo.jp/entry/2016/02/07/003437)
* [第3回 日本Seleniumユーザーコミュニティ勉強会に参加してきた](http://www.crossl.net/blog/selenium_driver_session_201602/)


# 次回開催日時
* 2016年3月か4月あたりにまた計画して[connpass](http://selenium-danwakai.connpass.com/)のほうで案内させていただきます



----

# ～ただの宣伝～
* [全国のSeleniumer必読](http://qiita.com/oh_rusty_nail/items/b8ba525d31ea7c522856)
* Selenium, Appium, SauceLabs, TravisCI, Jenkinsに関するノウハウ書いているのでよかったら参考にしてみてください