この記事は、以下の記事の続きになります。iOSアプリのE2Eテストに利用しているフレームワーク「Appium」のバージョンアップ(1.4→1.5)に関する話題です。
前記事 →【Appium 1.4→1.5移行】:nameでUI部品を指定できなくなった問題
テストは動くようになったけど…
前回の記事で、無事にAppium 1.5のテストが動くようになったのはいいんだけど、一つだけ問題が残った。
Appiumのテストでは、ひとかたまりのテストごとにシミュレータが再起動する。
例えば、テストコードをRSpec形式で書く場合には、最上位のdescribe
ごとに再起動する。
問題というのは、この再起動が必ず2回走るようになったということ。
順を追って状況を書くと、次のようになる。
- Appiumサーバが、シミュレータをブートしようとする。(←起動1回め)
- 失敗する。
- Appiumサーバが、シミュレータを再起動する。(←起動2回め)
- 今度は起動に成功し、テストコードを実行できる。
Appiumサーバのログで言うと、このあたり。
うまく起動せずに、iOSシミュレータをリセットしているみたい。
解決策
この問題も、困っているのは僕だけじゃないだろう、と思ってググったら、やっぱり他にも困っている人がいて、Appium本家のフォーラムで相談していた。
Appium starts iOS simulator TWICE for every test
そして、このスレッドの最後に解決策が提示されていた。
With Appium 1.5.3 this is the fix:
Setting the “fullReset: true” capability fixed this for me
これはいいニュース! spec_helper.rb
で行っている全体設定に追記してみる。
これで、「シミュレータの2回起動」を回避できるようになった。
Comments