対策の新バージョンが述べたように、何を、R&Dの新バージョンの開発は、「X5へのAPPのブラウザカーネルを」必要があると言いましたか?さて、あなたは最終決定権を持っています。
自動化から実行されている新しいバージョンいつものように、静かに動作そこに置か。
レポートを見て時間の期間の後、アップ何、WebViewの関連ユースケースは、どのように失敗しています。それはカーネルが位置決め要素が変更された変更されたためです。
位置決めinspecto appium使用することはできませんすることはできません要素を配置、時間を位置決めuiautomatorviewer再利用。。。無知を見て
置き換えweditorの探ししようとするが、ああ、どのような状況の元位置決め要素と同じ?
だから、万能薬のGoogleの馬場を見つけ、答えの束があった、それは本当に問題のX5カーネルです。
---------------------------- -------------------豪華な分割線---------
ソリューションは、自分のまとめ
APPには、カーネルで使用されているため(それは小さなマイクロチャネル・プログラムである場合、それは有用である)ので、私の最初のステップは、直接見落とし以下、X5であります
前提:子供用の靴は、APPのWebViewの機能を有効に開発する必要性
道を開きます。
以下のコードアプリ(setWebContentsDebuggingEnabled WebViewのクラスの静的メソッド呼び出し)に配置されました。
1 |
(Build.VERSION.SDK_INT> = Build.VERSION_CODES.KITKAT){もし |
ステップ1:どのようにオープンX5のカーネルデバッグに?
- 任意のマイクロチャネルのチャットウィンドウを入力し debugx5.qq.com
- 機能をデバッグインスペクタオープンTBSのカーネルをチェックすることでページを開きます。
- 自動的に再起動後に有効になります
ステップ2:現在のWebViewのページ要素をチェック
- 位置するようにページを入力し、Chromeブラウザのクロムを使用してアクセス:(それは壁の上に必要としない場合)//は/#デバイスを検査し、あなたがcom.tencent.mmを含むいくつかのプロセスを見ることができ、数字は括弧マークでありますアンドロイドの現在のバージョンを表すクロム、対応するページを見つけ、ページの要素を参照するために点検をクリックします
- デバッグツールテンセントことにより、TBS HTTPS:// x5.tencent.com/tbs/guid E /デバッグ/ season1.htmlのプロンプトに応じてダウンロードしてインストールするには、ツールをTBS(実用的ではありません)
ステップ3:位置決め要素
- F12開発者ツール、特定の要素を右クリックしてコピーコピーXPathを見つけ、パスに対応するXPath要素を取得することができます。
ステップ4:修正スクリプト
- プラス(公式サイトをチェックすることができappiumはでdesired_caps http://appium.io/docs/en/writing-running-appium/caps/)
(AndroidPackage androidProcess及びAPPに対応するパッケージ名、一般的に、2つが同じです)
" recreateChromeDriverSessions " = 真 " chromeOptions " = { " androidPackage ":" com.changyinshow "、" androidProcess ":" com.changyinshow " }
- 位置決め要素の前にプラス
(driver.contexts)はコンテキストを取得印刷、一般のWebViewを含むリストを返すであろう。例えば戻り値:[ 'NATIVE_APP'、 'WEBVIEW_com.changyinshow']、あなたがカットのWebViewに欲しいものWEBVIEW_com.changyinshow特徴
対応するスイッチングWebViewのにdriver._switch_to.context( "WEBVIEW_com.changyinshow")
- 上記のコードを追加した後、動作は、後続の要素を継続することができます
特記事項:
APPは、Googleのブラウザカーネルに基づいており、他のすべてのコアが二次開発版グーグルは、我々はあなたのappiumの対応バージョンchromedriverとクロムが必要
appium実行ログは、APP、クロムブラウザで訪問クロムのクロームバージョンで見ることができます://点検/#デバイスはまた、クロムのバージョン番号を確認することができます
chromedriverと対応する文書のappium関係クロームバージョンがchromedriver.jsで見ることができます
(Appiumのインストールパスは、次のことができ、明確ではない、またはそのappiumクエリパスによりChromedriver.jsを見つけることにより、応答ファイルのパスを見つけます。)
chromedriverのダウンロードリンク:
https://chromedriver.storage.googleapis.com/index.html
若しくは
http://npm.taobao.org/mirrors/chromedriver/
ダウンロード後、解凍、appiumインストールパス(どこでもMy Macのインストールパス)にchromedriverパスの下に
/Users/a/.nvm/versions/node/v8.11.0/lib/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac
トラップ:あなたはすべてのWebViewを切り替えたいのはなぜ
- そして、セレンは、同様のiframe内に理解することができます
- WebViewの中に位置している右の明確な兆候があります
- ページのロードが一般のWebViewされた後、リンクをクリックした後、プログレスバーがあります。つまり、ページがH5であります
- UI Automatorの要素が内側に位置することができません
参考資料
https://zhuanlan.zhihu.com/p/81588023
https://www.cnblogs.com/longronglang/p/10276713.html
オートメーション問題アプレットは、マイクロチャネルの基準とすることができます
https://www.cnblogs.com/longronglang/p/10276713.html