Appiumでのハイブリッドアプリの切り替えによって引き起こされる問題の概要
appiumを使用する場合は、ハイブリッドアプリを切り替える必要があると思いますが、説明できない問題がたくさんあります。これが私の問題の要約です。
1他のコンテキスト
が見つかりません。アクティビティにWebViewがありますが、print(driver.contexts)を実行した場合にのみNATIVE_APPを出力できます。理由は、アプリがWebViewデバッグ機能を実行しないためです。開発についてwebviewでの設定といえば
webView.setWebContentsDebuggingEnabled(true);
このとき、driver.contextsにアクセスすると、他のコンテンツが出力されます。
2失敗したスイッチング環境
は対応するコンテキストを見つけることができますが、スイッチングは失敗します
driver.switch_to.context('WEBVIEW_com.example.myapplication')
エラーが報告され
ます:コマンドの処理中に不明なサーバー側エラーが発生しました。元のエラー:Chrome「74.0.3729」を自動化できるChromedriverが見つかりません。https://github.com/appium/appium/blob/masterを参照してください。詳細については、/ docs / en / writing-running-appium / web / chromedriver.mdを参照してください。自動chromedriversダウンロードサーバー機能を有効にすることもできます
。この問題の理由は、appIumと対応するwebviewのChromedriverのバージョンが原因です。正しくありません。解決手順は次のとおりです。
1. 这个时候需要去查看手机webview的版本
方法是:设置-->应用程序管理-->全部-->Android System WebView
2. 然后去官网下载对应的Chromedriver包 下载地址是:
http://npm.taobao.org/mirrors/chromedriver/
3. 找对appium安装的路径以我的为参照:
C:\Users\1\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win
然后替换appium中的驱动包
3 adb的版本過低導致的问题、会报错:
コマンドの処理中に不明なサーバー側エラーが発生しました。元のエラー:コマンドの処理中に不明なサーバー側エラーが発生しました。元のエラー:不明なエラー:ポートをデバイス127.0.0.1:62001に転送できませんでした。ポートが選択されていません:。おそらく、adbのバージョンが古くなっています。ChromeDriver 2.39以降には、adbバージョン1.0.38以降が必要です。ホストデバイスの端末で「adbversion」を実行して、 adbのバージョンを見つけます。
この問題が発生した場合は、新しいanroidsdkでadbバージョンの
Adbをダウンロードする必要があります。新しいバージョンのダウンロードアドレスは次のとおりです。adb
ダウンロードアドレス
最後の完璧なスイッチ!
上記は私が遭遇した問題です。他にご不明な点がございましたら、お気軽にお問い合わせください。!