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/

Python+Appium实现APP自动化测试_第1张图片
ダウンロードボタンをクリックするとGitHubのダウンロードページが表示されます.
Python+Appium实现APP自动化测试_第2张图片
インストールが完了したら、Apium、host、portのデフォルトを起動し、Android SDkとJava JDKを設定します.
Python+Appium实现APP自动化测试_第3张图片
 
Python+Appium实现APP自动化测试_第4张图片
次に、保存して再起動するボタンをクリックし、最初のStart Serverボタンをクリックすると、
Python+Appium实现APP自动化测试_第5张图片
二、実機テスト
1.携帯電話の接続
開発者モードをオンにし、USBケーブルで携帯電話とパソコンを接続し、開発者オプションでUSBデバッグをオンにします.
Python+Appium实现APP自动化测试_第6张图片
接続に成功したかどうかをテストし、コマンドadb devicesを実行します.
 
Python+Appium实现APP自动化测试_第7张图片
上図が出ると、携帯電話とパソコンの接続が成功したことを証明します.の
 2.Start Inspector Sessionをクリックし、
 
Python+Appium实现APP自动化测试_第8张图片
Desired Capabilitiesを次のように構成します.
 
Python+Appium实现APP自动化测试_第9张图片
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.スタートセッションを実行し、要素を選択
Python+Appium实现APP自动化测试_第10张图片
右側のSelected Element領域には3つのボタンがあります
  • Tap:選択した要素のクリックイベント
  • を実行する
  • Send Keys:テキストボックスなどのオブジェクトに
  • を渡す.
  • テキスト入力要素であれば、テキスト
  • をクリアする.
    4.スクリプトの記録
    Python+Appium实现APP自动化测试_第11张图片
    生成された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依存パッケージをインストールする必要があります.
    Python+Appium实现APP自动化测试_第12张图片
    最後に、私がこれらの過程で出会った問題(現在解決されている)をメモします.
    Appium-desktopでStartセッションを実行すると、
    Python+Appium实现APP自动化测试_第13张图片
    解決方法:開発者モードでusbデバッグ機能とuseシミュレーションクリックを開き、両方を開きます.このとき再実行すれば、解決できます.