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


Selenium談話会 in Slackとは

  • 私、@oh_rusty_nail が主催しているSlackを使ったオンライン勉強会です
    • https://seleniumjp.slack.com
    • 地方に住んでいて勉強会に行くのも遠征しないときびしい!といった方には特におすすめです
  • 月1回程度の頻度で計画しています
  • 日本Seleniumユーザーコミュニティで開催の案内を出しています
  • ラフな感じでやってますのでお気軽にご参加ください!
  • 情報を共有し合ったり、流行のツールについてしゃべったり、困りごとや相談をしたり...etc
  • 2015/09/02現在の登録ユーザ数:70名

参加方法

前回のまとめ

「第5回Selenium談話会 in Slack」の議事録

  • 日時
    • 2015/09/02(Wed) 21:00~
  • 開催案内
  • 今回はアンカンファレンス形式で進めました
    • アンカンファレンス・・・講演内容や発表者が当日まで決まっておらず、来場者が自分の話したい内容を発表する、参加者が全員でつくりあげるカンファレンス

議題

議題1:⭐︎以下のようなHTML構造で、最後のid=702の要素を指定するセレクタはどのようなものがあるか⭐︎

<td class='textLabel'>
  <span id='a0osif'>Tom</span>
</td>
<td>
  <div id='D701' parentid='D199' menuid='D750'></div>
</td>
<td>
  <div id='D702' parentid='D200' menuid='D750'></div> <!-- この要素 -->
</td>
  • 条件としては以下のものがあります
    • 各要素のidなどはランダム生成される
    • xpathは極力使わない

解答例

  • css=.textLabel:contains('Tom') ~ td:eq(1) div
  • css=.textLabel:contains('Tom') ~ td:nth-child(2) div
  • css=.textLabel:contains('Tom') ~ td:last-child div
  • ↑のHTMLではtdタグは3つあるが、間接セレクタの~(チルダ)より前の.textLabel:contains('Tom')にフォーカスが当たる
  • そこで、~(チルダ)をつけることで弟要素が選択されて弟の2番目、つまりはインデックスは1となるのだろうと
    • ※ eqのインデックスは0からはじまり、nth-childのインデックスは1から始まる

そもそもeqってCSSの公式にある関数?

  • eqで検索するとjQueryばっかし出てくる
  • CSS?...答えはNo
  • どうやらSeleniumIDEのサポートするCSSセレクタはjQuery API selectorを指すようだ
  • これを読むと面白い -> jQueryで使えるけどCSSでは使えないセレクター
  • jQueryのセレクタを知っておくと「こういうときどうするんだ!?」となったとき、疑問解決につながるかもしれませんね!

議題2:⭐︎Seleniumをどのように使っているのか知りたい⭐︎

  • 質問の背景として「手動のテストって大変だなぁ、機能追加の旅に同じようなことをするのは非効率だ」と感じた
  • SeleniumWebdriverはrspecやcucumberと絡めて開発の中でいろいろ使っています
  • Seleniumの導入は玉川さんのSelenium本を参考にされたらしい(みんな読んでますね)
    • 2015年9月中旬にSelenium本またでますね! デザインパターンの本

議題3:⭐︎Appium + Androidエミュレータが重すぎて動いたもんじゃない、何か回避策ありますか?⭐︎

  • ローカルにAppium+Androidエミュレータでテストが動かせる環境は構築したがあまりに重すぎるし固まるし・・・

アドバイス

その1

  • XcodeのiOSシミュレータと比べると遅いですよね・・対応方法はいくつかありますけど、Android実機が手元にあるなら実機がベストという印象。
    • => そうですよね、やっぱり実機ですかね
  • エミュレータの回避策としては、

その2

  • androidシミュレータは少し選ばないと重くて使いにくい印象です
  • 第4回 Selenium談話会 in Slackで紹介があったインストールマニュアルを参考にエミュレータ使ってみたんですが、CPUとメモリをかなり振り分けてもカクカクでした
  • genymotionは触ってないですが、今の所触った中ではAndyが良さそうなので、タイミングみてappium動かしてみたいですね。まずは正常動作を試すために実機の方の優先度が高いか・・・。

次回

  • 最近Seleniumを触り始めましたという方もメンバに増えているので、なんか面白い交流ができるようにしたいなと考え中
  • 9月の半ばに新しいSelenium本 Seleniumデザインパターン & ベストプラクティス がでるのでそれの読書会みたいなものをするのもいいかなと考え中

~ただの宣伝~

  • 全国のSeleniumer必読
  • Selenium, SauceLabs, TravisCI, Jenkinsに関するノウハウ書いているのでよかったら参考にしてみてください