2.20がでてしばらく音沙汰がなかったので、googleの天才方はサボっているのかなと思いきや、やはりいい仕事をしていたようです。というよりガッツリ変わりすぎ。
大きな変更点としてはFireFoxの安定化と、ついにきたsafari対応(マジデキターーー)
その他こまごまとしたものがいっぱい。
①今までと同じ通りWebDriver driver = new SafariDriver();でいける。
windowsでもmacでも起動するようなので、早くmacで試したい。
②FireFoxの安定化の要因はポートの制御にあるようで。中身を見ていると大きく仕様が変わっている。
まれにFireFoxで動作していると「portが既に使用されていて接続できません」的なエラーが出ていたので、これで直るかもしれない。やっほい。
③WebElementのclickメソッドについて。コメント部分だけが変わっていただけなので、なんともいえないが、
**********************************************************************************
2.20以前:webeleをクリックしてロードする場合、ページは待機する。そのときに何もやっちゃだめよ。
2.21から:クリックされた後、こちら側の操作をブロックするから、安全になったよ(とくにIEとFireFoxで)
**********************************************************************************
ということらしい。
英語が詳しい人、もうちょっといい感じに訳してくれたらうれしいです。
でも、IEやFireFoxでclickメソッドが実行されないから、sendkeys("\n")で代用してるんだよな、今回から動くのかな、、、
④FireFoxDriverにkillメソッド追加。強制プロセス停止用らしい。最悪これで切れということなのか。
⑤RemoteWebDriverのfindElementとfindElementsにsetFoundByというなぞメソッドが追加されている。どうやらエレメントの情報を文字列かするために内部的に保存しているようだ。
何かあったときのログ出力に便利ですね。
⑥WebDriverにmaximizeメソッドが追加。独自実装していた部分を置換できますな。こんな感じでできる
driver.manage().window().maximize();
後は
・ChromeDriverService(chromeを連続で起動して試験するにはこのクラスを使えば速度が早いですよというクラス)の起動ロジックの変更とログ出力の設定メソッドの追加
・AndroidDriverにgetStatusメソッド追加(なに取得すんのかわからないけど)
・IEドライバでよくわからないけどバグってるからコメントアウトするねっていう笑いを誘うメッセージ
ぐらい。
乗るしかないだろ、このビッグウェーブに。