はじめに
WebAppDriverを使ったプログラム(pythonとrobotframework)を作成している途中で発生したエラーです。
WebAppDriver自体の日本語の情報が少ないので情報共有としてメモを残します。
エラーメッセージ
表示されたメッセージは次のようなものです。
WebDriverException: Bad capabilities. Specify either app or appTopLevelWindow to create a session
メッセージの内容からすると、
WebDriverの例外で、appかappTopLevelWindowでセッションを張る時に何か問題が発生しているようです。
正直このメッセージだけではさっぱりなのでGoogleで色々と調べました。
対策
対策方法がこちらのサイトに掲載されていました。
方法としてはAppium-Python-Clientのバージョンを2.2.0にする必要がありました。
サイトではアプリケーションの互換性の問題について言及されています。
質問者が解決した際に追加で情報を書いてくれています。
Problem was related to Appium-Python-Client lib version, I had to downgrade from 2.6.0 to 2.2.0 and the issue solved.
In addition to downgrade Selenium version 3.141.1
僕自身Appium-Python-Clientを使っていた際に、Seleniumもバージョンをダウングレードする必要がありました。
ということで対策方法をまとめると、
上記エラーが出る場合、
Appium-Python-Clientのバージョンを2.2.0にする
Seleniumのバージョンも3.141.1にする
必要があります。
さいごに
今回はWebAppDriverでのエラーメッセージについてでした。
Appium-Python-Clientはバージョン問題がある(実際に他で何度も修正したりしています)ので出来るなら別の方法を試すのがいいかもしれません。
この記事がお役に立てれば幸いです。
最後までお読みいただきありがとうございました。