Python+Appiumアプリ自動化テストを実現
一、環境準備
1.スクリプト言語:Python 3.x IDE:Pycharmのインストール
2.Java JDK、Android SDKのインストール
3.adb環境、path追加E:SoftwareAndroid_SDK\platform-tools
4.Appium for windowsをインストールし、公式サイトのアドレスhttp://appium.io/
ダウンロードボタンをクリックするとGitHubのダウンロードページが表示されます.
インストールが完了したら、Apium、host、portのデフォルトを起動し、Android SDkとJava JDKを設定します.
次に、保存して再起動するボタンをクリックし、最初のStart Serverボタンをクリックすると、
二、実機テスト
1.携帯電話の接続
開発者モードをオンにし、USBケーブルで携帯電話とパソコンを接続し、開発者オプションでUSBデバッグをオンにします.
接続に成功したかどうかをテストし、コマンドadb devicesを実行します.
上図が出ると、携帯電話とパソコンの接続が成功したことを証明します.の
2.Start Inspector Sessionをクリックし、
Desired Capabilitiesを次のように構成します.
platformName:iosかAndroidかを宣言
platformVersion:Androidカーネルバージョン番号、adb shell getprop roをコマンドできます.build.version.release表示
DeviceName:接続されたデバイス名、コマンドadb devices-lのmodelで表示
appPackage:apkのパッケージ名
appActivity:apkのlauncherActivityは、adb shell dumpsys activity|findstr「mResume」にコマンドして表示します(携帯アプリを先に開く必要があります)
注意:Android 8.1の前にadb shell dumpsys activity|findstr「mFocus」を使用する
3.スタートセッションを実行し、要素を選択
右側のSelected Element領域には3つのボタンがあります Tap:選択した要素のクリックイベント を実行する Send Keys:テキストボックスなどのオブジェクトに を渡す.テキスト入力要素であれば、テキスト をクリアする.
4.スクリプトの記録
生成されたpythonコードを録画するには、次のようにします.
5.pycharmでプロジェクトを作成してコードを貼り付けます.実行する前にpipコマンドでpip install Appium-Python-Client依存パッケージをインストールする必要があります.
最後に、私がこれらの過程で出会った問題(現在解決されている)をメモします.
Appium-desktopでStartセッションを実行すると、
解決方法:開発者モードでusbデバッグ機能とuseシミュレーションクリックを開き、両方を開きます.このとき再実行すれば、解決できます.
1.スクリプト言語:Python 3.x IDE:Pycharmのインストール
2.Java JDK、Android SDKのインストール
3.adb環境、path追加E:SoftwareAndroid_SDK\platform-tools
4.Appium for windowsをインストールし、公式サイトのアドレスhttp://appium.io/
ダウンロードボタンをクリックするとGitHubのダウンロードページが表示されます.
インストールが完了したら、Apium、host、portのデフォルトを起動し、Android SDkとJava JDKを設定します.
次に、保存して再起動するボタンをクリックし、最初のStart Serverボタンをクリックすると、
二、実機テスト
1.携帯電話の接続
開発者モードをオンにし、USBケーブルで携帯電話とパソコンを接続し、開発者オプションでUSBデバッグをオンにします.
接続に成功したかどうかをテストし、コマンドadb devicesを実行します.
上図が出ると、携帯電話とパソコンの接続が成功したことを証明します.の
2.Start Inspector Sessionをクリックし、
Desired Capabilitiesを次のように構成します.
platformName:iosかAndroidかを宣言
platformVersion:Androidカーネルバージョン番号、adb shell getprop roをコマンドできます.build.version.release表示
DeviceName:接続されたデバイス名、コマンドadb devices-lのmodelで表示
appPackage:apkのパッケージ名
appActivity:apkのlauncherActivityは、adb shell dumpsys activity|findstr「mResume」にコマンドして表示します(携帯アプリを先に開く必要があります)
注意:Android 8.1の前にadb shell dumpsys activity|findstr「mFocus」を使用する
3.スタートセッションを実行し、要素を選択
右側のSelected Element領域には3つのボタンがあります
4.スクリプトの記録
生成されたpythonコードを録画するには、次のようにします.
# This sample code uses the Appium python client
# pip install Appium-Python-Client
# Then you can paste this into a file and simply run with Python
from appium import webdriver
caps = {}
caps["platformName"] = "Android"
caps["platformVersion"] = "9.0.0"
caps["deviceName"] = "Mi_Note_3"
caps["appPackage"] = "com.antfortune.wealth"
caps["appActivity"] = "com.alipay.mobile.quinox.LauncherActivity"
caps["resetKeyboard"] = True
caps["unicodeKeyboard"] = True
driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
el1 = driver.find_element_by_id("com.antfortune.wealth.login:id/login_main_button")
el1.click()
el2 = driver.find_element_by_id("com.alipay.mobile.accountauthbiz:id/auth_login_btn")
el2.click()
driver.quit()
5.pycharmでプロジェクトを作成してコードを貼り付けます.実行する前にpipコマンドでpip install Appium-Python-Client依存パッケージをインストールする必要があります.
最後に、私がこれらの過程で出会った問題(現在解決されている)をメモします.
Appium-desktopでStartセッションを実行すると、
解決方法:開発者モードでusbデバッグ機能とuseシミュレーションクリックを開き、両方を開きます.このとき再実行すれば、解決できます.