Safaridriverが早過ぎる
Mac OSのブラウザテストにSafariは外せません。ということで導入してみたのですが、そこには長い長い道のりがありました。
まず
- seleniumでSafariを動かすにはSafaridriverが必要。
- SafaridriverにはSafari機能拡張が必要。
- Safari機能拡張(エクステンション)にはAppleが発行する証明書が必要。
- 証明書の発行には、Appleデベロッパープログラムで課金が必要。
- あわせてキーンチェーンアクセスで証明書署名要求も必要です。
下記のパイセンのサイトを参考に頑張りました。
僕がMacユーザーでないのもありますが、もうロールプレイングゲームかってレベル。
そして晴れて、Selenium GridからMac/Safariを動かしてみるとおどきました。
物凄く早いんですね。クリックやら画面遷移がとにかく早いです。
これは捗るなぁ。嬉しいなぁ~。
と喜んでいるのも束の間でした。
ちょっと早すぎ。職場のWebアプリだとセッションエラーになってしまいました。
テストツールのラッパークラスではWebElementの色々な属性チェックとかやっていて、他のブラウザだとなかなか重かったりするのに、うむむ。これでは使用に耐えません。
却下の雲行きです。Safariは手作業地獄に舞い戻るかも。。。
その日、肩を落とした帰りの電車でもしかすると「implicit wait」が効かないのかもと思い立ちます。検証してみる価値ありですね。
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
WebDriver: Advanced Usage — Selenium Documentation
結果がわかったら追記します!