WebDriverException: Bad capabilities. Specify either app or appTopLevelWindow to create a session

Python
本ページはプロモーションが含まれています

はじめに

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はバージョン問題がある(実際に他で何度も修正したりしています)ので出来るなら別の方法を試すのがいいかもしれません。

この記事がお役に立てれば幸いです。
最後までお読みいただきありがとうございました。

タイトルとURLをコピーしました