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

# Selenium談話会 in Slackとは
* 私、@oh_rusty_nail が主催しているSlackを使ったオンライン勉強会です
 * https://seleniumjp.slack.com
 * 地方に住んでいて勉強会に行くのも遠征しないときびしい！といった方には特におすすめです
* 月１回程度の頻度で計画しています
* [日本Seleniumユーザーコミュニティ](https://groups.google.com/forum/#!forum/seleniumjp)で開催の案内を出しています
* 2015/05/14現在の登録ユーザ数：27名

# 参加方法
* 以下どれからも可能です
 1. https://seleniumjp.herokuapp.com から登録してください
 1. TwitterID: @oh_rusty_nail をフォロー後にDMで受信可能なメールアドレスをお知らせください
 1. takonoyawarakaage@gmail.com宛に受信可能なメールアドレスをお知らせください

# 前回のまとめ
* [「第１回Selenium談話会 in Slack」 のまとめ](http://qiita.com/oh_rusty_nail/items/21e0014c40853571c87b)
* 開催日時：　2015/04/22(Wed) 21:00～

# 「第２回Selenium談話会 in Slack」のざっくりとした議事録
* [議題について事前にとったアンケート結果](https://docs.google.com/a/craftsman-software.com/forms/d/1jPCBw-RXVMguG87zfjOChHUvye4dqoaWhGtGnz1B-rc/viewanalytics)
* 日時
 * 2015/05/13(Wed)
* 参加者
 * 10名以上
 * SeleniumWebdriver本でなど活躍されている玉川紘子さんも参加してくださいました
* 今回はチャンネルを分けて同時進行しました
 * #general　：　連絡事項がある場合に使用するチャンネル
 * #ide　：　SeleniumIDEを中心とした話題をするチャンネル
 * #webdriver　：　SeleniumWebdriverを中心とした話題をするチャンネル
 * #appium　：　appiumを中心とした話題をするチャンネル
 * #random　：　雑談用チャンネル

## SeleniumIDEネタ
* [Selenium IDEの属性取得の優先順位変更方法](http://qiita.com/oh_rusty_nail/items/7fcc2d54d1abc5febe86)
 * ここを設定しておけばXpath、CSS、link名、name名など混在しにくくなる 
 * 自動的に記録されるxpathは助長なので辛いため適宜設定するとよい
 * Javaのステップ実行で xPathの解決を見てみると、たしかにこれはコストかかってるな　って感じたことがある
* 自動記録モードだと勝手に"AndWait"とかつけられる場合があるので注意
* SeleniumBuilderとSeleniumIDE
 * 用途はそんなにかわらない気がするがメジャーなのはSeleniumIDE
 * SeleniumIDEは現在も新しいバージョンが出続けているが、Builderのほうはわりと前から更新されていない
 * Builderだと一般的なシンプルなコードで出力できる
 * Builderだと高度な事をしなければRubyのエクスポートができますよ 
* SeleniumIDEのうまみは何か？
 1. webdriverまでの知識がなくても手軽で簡単に使える (edited)
 1. いざとなったらJavascriptでおｋ
 1. 結局、言語の知識がなくても簡単にさわれちゃう手軽さが人気である１つの理由なのかなとおもったり
 1. フォームの入力項目が多くて、ID取るのがダルいときにざーーっとIDEで取ることがある
。綺麗にするのは後回しにしておいて、とにかく立ち上がりを速くしたい！というときに便利
 1. IDEで記録を取ってエクスポートして書き換えられるところ 
* [selenium IDE で使ったことがないコマンドを洗い出してみる](http://qiita.com/gluelan2013/items/0f69ca4d74286c966816)
 * マウスイベント系もあまり使われていなさそう
 * この使ったことないコマンドを次回みんなでさわってみるのも面白そう

## SeleniumWebdriverネタ
* 認証などでSNSとのやりとりをするテストを書かれたことはありますか？
 * あると回答された方は２人
* 認証部分を以下のモックを使うことでSNSとのやりとりで出てたTimeoutErrorの頻度が下がったよというお話
 * https://github.com/ogawatti/twimock
 * https://github.com/ogawatti/facemock
* watir
 * [Watirで自動テストを書いてみた](http://qiita.com/oh_rusty_nail/items/e7ad22a96246cfd36f2b)
 * watir使ったけど、結局webdriverでいいやん！という結論に至ったのを思い出した
* wercker
 * 読み方は「わーかー」


## Appiumネタ
* 事前アンケートで聞き込みをしたところ入門レベルなお話できるといわれた方は２割
* Appiumは簡単に言うと、WebDriverの書き方でiOSやAndroidでも実行できるようにしたもの
* SeleniumIDEのような記録する機能はない
* ケーブルを接続すれば実機テストも可能
* iOSだと、ネイティブアプリやSafariを使ったテストが可能
* Appiumは、iOS/Androidのネイティブコンポーネントを使って実装されたアプリには有効
* アプリ開発者が各UI部品にidを振ってくれると、Appiumは劇的に使いやすくなるが、アプリ開発者の協力なしに書くのは本当にしんどい
* AppiumのGUI版だとインスペクターが使えるが、吐き出すのはXPathみたいなロケータなので動的に変わる画面とかだと大変
* WebViewと組み合わせたハイブリッドアプリや、ゲーム等のOpenGLを使ったゲームなどのアプリにはまだ対応できていない⇒座標使うしかない
* 最近は画像認識系のツールが増えている
 * [eggPlant](http://sunfuture.com/product/eggplant/)
 * 端末とテストサーバをVNCで繋いで画面を共有したうえで、画像認識してボタンをタップしたりできるが導入費用が高いらいい
* UIAutomation
 * UIAutomationはAppiumがつかってるコンポーネント
 * Instrumentsのエディタがしょぼいなど、使うならAppiumと
* Appium環境ができるdocker
 * https://github.com/KazuCocoa/docker-appium
* その他の便利そうなdocker
 * https://github.com/shouldbee?utf8=%E2%9C%93&query=docker
* 書籍の紹介
 * [Appium Essentials](https://www.safaribooksonline.com/library/view/appium-essentials/9781784392482/?utm_source=twitter.com&utm_medium=social&utm_campaign=safaribot)
 * [Mastering Mobile Test Automation](https://www.safaribooksonline.com/library/view/mastering-mobile-test/9781782175421/)

## その他
* 勉強会の情報
 * [ささみ](http://ssmjp.connpass.com/event/14742/)
 * [Asiyan Automation Alliance 2015　～JI・DO・U・KAッ！](http://kokucheese.com/event/index/285177/)
 * [九州ソフトウェアテスト勉強会の勉強会　Vol.15](https://atnd.org/events/64243)
* テスターとは
 * テスター＝テストオペレーター（出された指示だけを淡々とこなす人）
* [shouldbee](https://shouldbee.at/)の紹介
 * 見ての通り、Selenium & Cucumberを使ったサービス
 * すごい面白そうなのであとで触って記事かいてみます

# 次回やってみようと思うネタ
## みんなでSeleniumIDE & Webdriverさわってみましょう
* あるお題決めてその場でSeleniumIDEでテストを作る
* それをwebdriverに移行する
* で、作ったテストはここに貼ってツッコミあうとか 

##  [selenium IDE で使ったことがないコマンドを洗い出してみる](http://qiita.com/gluelan2013/items/0f69ca4d74286c966816)
* マウスイベント系もあまり使われていなさそう
* この使ったことないコマンドを次回みんなでさわってみるのも面白そう

----

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