2018年のSeleniumとAppiumについて、なるべく他の人とかぶらないことに言及するテスト

この記事は[Selenium/Appium Advent Calendar 2018](https://qiita.com/advent-calendar/2018/selenium_and_appium)の1日目の記事です。

こんにちは！
今年は忙しかったですか！！？！
昨年も忙しくなかったですか！！！？？？！？！？
その前の年も、その前の年も... ... ...

さて、 Advent Calendar 初日ですね。
今年この界隈であったことのまとめでもざっくり書こうかなと思ったのですが、それ初日でやっちゃうと他の人のネタを驚きの吸引力で奪ってしまうことに気づきました！ これはよくない！
なので私は、誰も拾いそうにない今年のニッチなネタを広く浅く紹介していこうと思います。
お願いですから最後までついてきてください。よろしくお願い申し上げます。


# UWSCが死にました

いきなり別のソフトじゃねえか！ 穿ちすぎかよ！
と言いつつも、気になる人はこの界隈には多いのではないでしょうか。
UWSCが死んでWebDriverの利用に流れてきた人が、今年はほどほどいたような気がしました。

わからない方向けに紹介しますと、 [UWSC](https://www.vector.co.jp/soft/winnt/util/se115105.html) とは、Windowsアプリケーションの自動操作を独自の簡易なDSLで実現するフリーソフトです。
最初のバージョンが公開されたのは1999年で、昔からよく使われています。

しかし、今年 2018年3月に突然、Webブラウザーの操作記録・再生が可能なPro版の公開が終了してしまい、公式の配布サイトもトップページにアクセスできなくなってしまいました。
直接的に後継するソフトが無い中、WebDriver またはWebDriverをベースとするソフトウェアでの代替を検討するユーザーがTwitter上で散見されました。ソースがTwitterなのは私がツイ廃だからです。困りましたね。


# Seleniumのバージョン番号はバグったわけではありません

2018年10月31日にSeleniumの新バージョンがリリースされたのですが、前バージョンが [3.14.0](https://github.com/SeleniumHQ/selenium/releases/tag/selenium-3.14.0) だったので3.14.1になるかと思いきや、なぜか [3.141.0](https://github.com/SeleniumHQ/selenium/releases/tag/selenium-3.141.0) になり、そしてさらに次には [3.141.5](https://github.com/SeleniumHQ/selenium/releases/tag/selenium-3.141.5) になりました。

なぜこんなバージョン番号になったか、更新履歴やコミッターのメッセージによれば [「円周率をもじっただけだよ〜ん」](https://github.com/SeleniumHQ/selenium/blob/master/java/CHANGELOG#L49) とのことであり、いよいよSelenium 4に移る前の最後のお茶目としてやっただけのようです。
しかしシャレの通じない方々というのはどこにでもいるもので、GitHub上でissueが乱立するちょっとした騒ぎになりました。
https://github.com/SeleniumHQ/selenium/issues/6607
https://github.com/SeleniumHQ/selenium/issues/6613
https://github.com/SeleniumHQ/selenium/issues/6626

なお、同様にバージョンに円周率を採用しているソフトウェアには、他に有名なものがひとつありますね。TeXです。
TeXが円周率を採用した理由は、バージョン3系を最後のメジャーバージョンにして、以降は機能拡張をせず不具合修正しかしないことに決めたからです。
Seleniumは独自の機能をどんどん積み込むというよりは、W3Cで規格となった [WebDriver](https://www.w3.org/TR/webdriver/) に準拠したクライアントライブラリーを指向し、むしろ独自の機能をストイックに排除しているようです。TeXと同様のバージョン番号を採用した背景には、もしかして機能拡張を行わない点における暗喩が含まれているのかもしれませんね。


# ChromeDriverのバージョン番号はバグったわけではありません

バージョン番号といえば、ChromeDriverでは今年後半になってから、

```
2.40
2.41
2.42
2.43
2.44
```

というこれまでと同じバージョン番号の他に、

```
70.0.3538.16
70.0.3538.67
70.0.3538.97
71.0.3578.30
71.0.3578.33
```

というバージョン番号のものもリリースされるようになり騒ぎになりました。なんじゃこりゃ！！！
これは、将来的にChromeDriverのバージョン番号の管理をGoogle Chrome/Chromiumのバージョン番号と同様にしていくための試みで、今のところはベータバージョンのリリースに使われるとのことです。

[Announcing New ChromeDriver Beta Release 70.0.3538.16](https://groups.google.com/forum/?nomobile=true#!topic/chromedriver-users/HvlKWqv34es)
https://groups.google.com/forum/?nomobile=true#!topic/chromedriver-users/HvlKWqv34es


# Appiumの動きが大きかったです

Seleniumのストイックな方向性とは対照的に、今年のAppiumはとにかく便利そうな機能を前のめりに盛り込んでいく感じで、率直にワクワクしましたね！
でもこの辺は他の人も書きたいネタですね！！ ぜんぜんニッチじゃないので私は書きませんよ！！！ 誰かぜったい書いてね！！！！

あまり他の人が書かないような話としては、 [Appiumコミッターの松尾さんがクックパッドからHeadSpinに移籍された](https://twitter.com/Kazu_cocoa/status/1068473703208378376) あたりでしょうか。ウオオ！！！！


# Selenium IDE、めっちゃ開発が早い

Selenium IDEがWebExtensionsベースの新バージョンになってから、 [Tomer Steinfeld](https://github.com/corevo) と [Dave Haeffner](https://github.com/tourdedave) が超人的な勢いで開発を続けてくれています。
今なら割といろんなリクエストに応えてもらえます！ 昔のバージョンの機能が入ってないから移行できないよ...なんていじけてないで、 [熱いissueをぶつけようぜ！！](https://github.com/SeleniumHQ/selenium-ide/issues)

なお私は今年 [「Selenium IDE入れてるとTwitterが見れねーんすけど」](https://github.com/SeleniumHQ/selenium-ide/issues/205) みたいなツイ廃全開のだらけたissueを送ったところ、Tomerが1時間そこらで直してくれました。

あと、新しいSelenium IDEはReact + MobXで書かれているようです。腕におぼえのあるReact伝道師の皆様は、腕試しに開発に参加されてはいかがでしょうか！


# W3C WebDriverはまだ改定の余地があります

2018年6月についにWebDriverはW3C勧告になったわけですが、これがゴールというわけでは全然ありません。WebDriverとしてはこうあってほしい、現状のブラウザー実装が邪魔で実現できないならブラウザー実装も合わせて変更してほしい、というリクエストが有効になったと考えますと、非常に重要なスタートラインに立ったとも言えます。
GitHub上に寄せられている意見・提案は多く、従来であればブラウザーの機能制限のせいでSeleniumにはどうにもできないよとあきらめていたようなところもあらためて議論されています。
https://github.com/w3c/webdriver/issues

現在上がっているissueの中で、目立ったものを雑にピックアップすると次のようなものがあります。

* [Missing support for HTTP authentication prompts](https://github.com/w3c/webdriver/issues/385)
    * もはやFAQのひとつでもある「BASIC/Digest認証ってどうやるの？」に関わるところです。

* [Proposal: Shadow DOM support in WebDriver](https://github.com/w3c/webdriver/issues/350)
    * Shadow DOMにアクセスするためのAPI追加についてです。
    * WebDriverだけに閉じた話ではなく、 [Web Components側へのテスタビリティ要求に発展しました。](https://github.com/w3c/webcomponents/issues/771)

W3C WebDriverは決してお仕着せのツールではないということです。不便や理不尽を感じている方は、ぜひ意見を投げこんでいきましょう！


# Selenium Conference Tokyo, Japan April 18-19, 2019 !!!!!!!! 

以前から開催地として東京への注目度は高かったのですが、ついに公式に実現することになりました、ワーイ！！
https://conf.selenium.jp/
昨年聞いた話では、日本はSelenium IDEの利用率が比較的高い地域としても認識されているらしいです。

開催することになってあらためて運営観点になりますと、CFPの通る可能性ってそんなに低いわけじゃないんですね。しかも今回は英語に限らず、日本語での発表も可能です、ワンチャンありますよ...！！
CFPは今月 12月14日（金）まで募集しています。


# 今回はここまで

誰ともネタかぶってないよね？？？
グリーンですか？？？！！！ レッドですか？！？！？！！？？！？！？

次回はkatsuya_dsです。よろしくお願いします。
Selenium/Appium Advent Calendar 2018はまだまだ君の挑戦を待っているぜ！