APPは、appiumそれらのものをネイティブとH5ページ混合し、X5カーネル

対策の新バージョンが述べたように、何を、R&Dの新バージョンの開発は、「X5へのAPPのブラウザカーネルを」必要があると言いましたか?さて、あなたは最終決定権を持っています。

自動化から実行されている新しいバージョンいつものように、静かに動作そこに置か。

レポートを見て時間の期間の後、アップ何、WebViewの関連ユースケースは、どのように失敗しています。それはカーネルが位置決め要素が変更された変更されたためです。

位置決めinspecto appium使用することはできませんすることはできません要素を配置、時間を位置決めuiautomatorviewer再利用。無知を見て

置き換えweditorの探ししようとするが、ああ、どのような状況の元位置決め要素と同じ?

だから、万能薬のGoogleの馬場を見つけ、答えの束があった、それは本当に問題のX5カーネルです。

 

---------------------------- -------------------豪華な分割線---------

ソリューションは、自分のまとめ

APPには、カーネルで使用されているため(それは小さなマイクロチャネル・プログラムである場合、それは有用である)ので、私の最初のステップは、直接見落とし以下、X5であります

 

前提:子供用の靴は、APPのWebViewの機能を有効に開発する必要性

道を開きます。

以下のコードアプリ(setWebContentsDebuggingEnabled WebViewのクラスの静的メソッド呼び出し)に配置されました。

1 
2
(Build.VERSION.SDK_INT> = Build.VERSION_CODES.KITKAT){もし   
WebView.setWebContentsDebuggingEnabled(TRUE)。

 

 

ステップ1:どのようにオープンX5のカーネルデバッグに?

  • 任意のマイクロチャネルのチャットウィンドウを入力し  debugx5.qq.com
  • 機能をデバッグインスペクタオープンTBSのカーネルをチェックすることでページを開きます。
  • 自動的に再起動後に有効になります

ステップ2:現在のWebViewのページ要素をチェック

  • 位置するようにページを入力し、Chromeブラウザのクロムを使用してアクセス:(それは壁の上に必要としない場合)//は/#デバイスを検査し、あなたがcom.tencent.mmを含むいくつかのプロセスを見ることができ、数字は括弧マークでありますアンドロイドの現在のバージョンを表すクロム、対応するページを見つけ、ページの要素を参照するために点検をクリックします
  • デバッグツールテンセントことにより、TBS プロンプトに応じてダウンロードしてインストールするには、ツールをTBS(実用的ではありません)

ステップ3:位置決め要素

  • F12開発者ツール、特定の要素を右クリックしてコピーコピーXPathを見つけ、パスに対応するXPath要素を取得することができます。

ステップ4:修正スクリプト

  (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

 

おすすめ

転載: www.cnblogs.com/wx2017/p/12170874.html