1、ATXのインストール
インストールADBは
、次のコマンドを使用して、最新バージョンをインストールするATX
ピップ--pre -U uiautomator2インストールし
たコンピュータに接続し、あなたは、次のコマンドを実行する必要が後に電話を:
プログラムのpython -m uiautomator2のinit電話に展開する必要があります(1回)
2、ATX Weditor
ATX Weditorライブラリのpythonで、コマンドラインインストールが
--pre weditor、コマンドラインスタートのpython -m weditorをインストールするPIP(PS:Windowsがショートカットweditorをダブルクリックすることができます)、それが自動的にWebページを開き、インスペクタとしてページを使用します
3.機器を接続
appiumは、典型的には、シーケンス番号フィールドUDIDデバイスに対応desiredCapabilitiesを構築する必要があります。
一般的なコンフィギュレーション・ファイルでは、例えば
desired_caps = { #インターネットのAndroid ' PlatformName ':' アンドロイド' 、 #電話デバイス名 ' DEVICENAME ':' 2d869e6 ' 、 バージョン#アンドロイドシステム ' platformVersion ':' 9 ' 、 #のインストールパッケージのパス #' アプリケーション':" F:\ダウンロード\のXXX.apk ' #のAPKのパッケージ名' appPackage ':' com.tencent.mm " #APK的launcherActivity 、 「appActivity 」:「.ui.LauncherUI 」、 #デフォルトneResetが偽である、最初のあなたが同じを起動するたびに開始するために関連する、セッションの前にアプリケーションの状態をリセットしませんが、同じではありませんが真になる セッションの前に#アプリケーションは、falseに状態をデフォルトにリセットしません 「NORESET 」:真、 #「appWaitActivity 」:「com.tencent.mm.plugin.webview.ui.tools.WebViewUI 」、 遮蔽することができるソフトウェアディスク用のコードの2行以下の#を入力中国の 「unicodeKeyboard 」:真、#は使用してUnicode文字列のエンコーディングを送って #を「resetKeyboard 」:偽、キーボード#の隠し Android上で#を、これは自動的にセッションの終わりにテスト対象のアプリケーションを削除します 」。フルリセット" :偽、 'chromeOptions ' { ' androidProcess ':' com.tencent.mm.plugin.webview.ui.tools.WebViewUI ' } #" automationName ":" uiautomator2 " #newCommandTimeoutがより大きい値に設定 #" newCommandTimeout ":240 }
ATXはそのようなプロファイル、必要なフィールドのみを1つのシリアル番号、IPアドレスは、ここで使用することができるではないです。それ以外はオプションです。アプリケーションを起動するかどうかは、ユーザーが選択する権利を提供します。
ATXコード:
インポートuiautomator2 としてU2の D = u2.connect(" dgsdg " ) d.set_fastinput_ime(TRUE) S = d.session(" com.netease.cloudmusic ")
はるかに便利に感じ、fastinput_imeは、自動化されたカスタムインプットメソッドのサポート中国語入力のために設計されており、検索など、いくつかの特別な指示、空になります。
d.session機能は、セッション機構、最初のアプリケーションが生きているかどうかをテストするコードの動作に関連するたびにappiumに相当します。
注意:ATX接続は携帯電話のシリアル番号またはIPアドレスを埋めることができたとき。テストコードは、最終的には、携帯電話上のATX-エージェントの通信サービスであると、それがIPを埋めるサポートしますが、コンピュータが同じネットワークセグメント上の電話でコードを実行する必要があるため。
図4に示すように、選択および動作制御
find_element_by_text方法appium共通の要素は、find_element_by_xpath、find_element_by_idに配置されている
一般的な表現であります
driver.implicitly_wait(10 )素子#10sの時間を見つけるために設けられている 要素 = driver.find_element_by_text(" 設定" ) IF 要素: element.click() ATXコードに変換する D(テキスト = " 設定").click(タイムアウト= 10 ) あなたが遅く、階層のすべてをダンプしたいのでATXは、使用のXPathにはお勧めしません。クエリの様々な条件と組み合わせて使用する場合におすすめです。 典型的な使用法 D(クラス名 = " android.widget.Button "、textContains = " ログイン" ).click() #使用するXPath d.xpath('//android.widget.Button[contains(@text、) "ログイン"] ").click()
5、フレーム処理爆弾
今、携帯電話の高いバージョンは、いくつかの基本的な権利の確認ウィンドウを持っているか、確認ボックスがインストールされます。適切に処理されない場合、それは非常に自動化に影響を与えます。
:(それが唯一のiOS用でなければなりませんPS)ボックスシェルで設定可能であるポストは解決することができます参照してください https://testerhome.com/topics/14513
driver.switch_to.alert.accept() ATXあなたはどのように対処するためにどのような治療ポップだけでなく、自由に選択できます、もう少し自由に近づきます。一般的な方法は、自動的にボタンの[インストール]をクリックします (d.watcherを" INSTALL " .when(=テキスト)" インストール" ).click() d.watcher(" NEXT ").when(=テキスト" 次" ).click () d.watchers.watched =真
公式文書:https://github.com/openatx/uiautomator2
参考文献:https://testerhome.com/topics/14880