はじめに
selenium-webdriverを使用して、Safariを対象に自動テストを実施しようとしたが、デフォルトではSafariはサポートされていなかった。
しかし、WebDriverでSafariDriverが使えるようになったのでメモによれば「changelogによると、Selenium-Webdriver 2.21.0からSafariがサポートされたらしい。」とある。
SafariDriverのインストール手順に関して掲載されたサイトはいくつかあったがSafariDriverの使い方 が最も参考になった。
ここでは、2013/04/12現在で上記サイトの手順と変わっていた点や補足を記述していく。
インストール手順
Safari Developer Programへの登録
- SafariDriverの使い方にある手順どおり
- Apple IDを登録しているメール宛先に2通メールが飛んでくる
- Member CenterへのログインURLが貼り付けてあるだけ
証明書の取得
- これはSafariDriverの使い方と手順が違っていたので以下に記述する
- おそらく証明書の取得のフローが変わったものと思われる
- 具体的にいうと、「メンバーセンターの画面中央あたりにある Developer Certificate Utility のアイコンをクリックします。」のアイコンがない
- Member Centerにログインする
- 「Certificates, Identifiers & Profiles」のアイコンをクリックする
- 「Certificates」をクリックする
- 「+」をクリックする
- 「Continue」をクリックする
- Macで証明書署名要求を作成する方法はSafariDriverの使い方にある手順どおり
- 「Choose File...」をクリックし、作成した.certSigningRequestファイルを選択する
- 「Generate」をクリックする
- 認証が通ると証明書(safari_extention.cer)がダウンロードでき、
Certificates, Identifiers & Profilesには「1 Certificates Total」と表示される
機能拡張のビルド
- SafariDriverの使い方にある手順どおり
- WebDriverでSafariDriverが使えるようになったのでメモにはここからはビルド後に生成されるSafariDriver.safariextensionがダウンロードできる
- ビルドコマンドをたたくとjavaが64bit用だと怒られるので以下の対処をすしてからビルドする
$ ./go safari
Error: This Java instnce does not support a 32-bit JVM.
Please install the desired version.
$ vi ./go
#JAVA_OPTS="-d32" #この行をコメントアウト
拡張機能のインストール
- SafariDriverの使い方にある手順どおり
おまけ
- click操作後にこけるなどの現象があれば以下を参考にしてください
- http://qiita.com/oh_rusty_nail/items/c589f1bfc8563b5c9e76
参考にしたサイト
- http://nextstageone.g.hatena.ne.jp/satakesatake/20120512/1336794002
- http://hutyao.hatenablog.com/entry/safaridriver
- http://os0x.hatenablog.com/entry/20100610/1276119135
~ただの宣伝~
- 全国のSeleniumer必読
- Selenium, SauceLabs, Travis, Jenkinsに関するノウハウ書いているのでよかったら参考にしてみてください