Pythone 3+Apiumインストール及びApiumアナログWeChat登録方法詳細


一、アピウム設置
私たちはseleniumがデスクトップブラウザ自動化操作ツールであることを知っています。(Web Browser Automation)
appumは、seleniumの自動化思想を継承し、携帯アプリを操作しても自動化できるようにするためのツールです。
appumはDesktopアプリとnpmの2つの方法でインストールできます。Desktop Appはselenium IDEと似ています。グラフィックインターフェース式の操作ツールを提供します。npmはseleniumに似ています。命令行しか使えません。
appumに慣れていないなら、Desktopアプリを使ってインストールすることを勧めます。このようないくつかの操作はDesktopアプリを使ってコードを出力できます。コードを書く時に参考になります。
1.1 Android SDKのインストール
アンドロイド携帯を操作するにはAndroid SDKが必要ですので、appumをインストールする前にAndroid SDKをインストールしておきます。
Androidの直接インストールを推奨します。  Studioは次にAndroid Studioを使ってSDKをインストールします。
メニュー----Tools--S-SDK Managerは、自分がインストールしたいバージョンを選んでアプリをクリックしてダウンロードすればいいです。

Android SDKのインストールが完了したら、ANDROID_を新設します。HOME環境変数、値は上の図Android SDK Locationのディレクトリです。

1.2 Desktop Appによるインストール(推奨)
ダウンロード住所:https://github.com/appium/appium-desktop/releases
OS対応バージョンを選択してダウンロードし、Windowsを直接ダブルクリックしてインストールすればいいです。 

1.3 npmで取り付ける
1.3.1 nodejsをインストールする
appumは本質的にnodejsライブラリなので、先にnodejsをインストールして、npmでインストールします。
nodejsダウンロードアドレス:https://nodejs.org/zh-cn/download/
zipパッケージをダウンロードして自分の好きなディレクトリに解凍して、そのディレクトリをPath環境変数に追加すればいいです。
1.3.2 appumの設置

npm install -g appium
 appumのインストール中にchromedriverをインストールするとgoogleサイトに接続されます。(Request Error:Errror:connect ETIMEDoff 216.58.22008:443)ので、以下のコマンドを参考にnpmエージェントを設定してください。

#     
npm config set proxy http://127.0.0.1:1080
npm config set https-proxy http://127.0.0.1:1080

#            
npm config set proxy http://username:[email protected]:1080
npm config set https-proxy http://username:[email protected]:1080

#   npm  
npm config set registry https://registry.npmjs.org
#        npm config getnpm config get proxy
#       
npm config delete proxy
npm config delete https-proxy
設定は本質的には「C:\Users\あなたのユーザ名\.npmrc」に保存されますので、直接にファイルを変更することもできます。
1.1.3 apinum-doctorを使って環境構成に間違いがないか確認する

npm install -g appium-doctor
appium-doctor --android

 二、携帯接続アプリ
2.1 appum起動サービス
npmでインストールすれば、appumはnodejsディレクトリにインストールされます。直接appumコマンドで起動すればいいです。

私はここでDesktopアプリを使ってインストールします。インストールが完了したら、デスクトップのアイコン画面をダブルクリックします。

私たちはデフォルトの設定を使っても修正しないで、直接に「Start Server」ボタンを押して起動します。 

2.2携帯電話でデータ線を使ってパソコンに接続する
データケーブルを使ってappumを開いたパソコンに携帯電話を接続し、usbのデバッグ機能を起動します。adbコマンドを使用してデバイスのリストを作成することができます。接続が成功したことを確認します。

adb devices -l

三、使用例
以下はpython 3+appumでWeChatを開いて登録してデモンストレーションを行います。python操作apiumはapniumの傍受ポートに新聞を送ることによって実現されるので、pythonはappumライブラリをインストールする必要はありません。
3.1 Desktop AppはWeChatを開いて登録する

以下の4つの値を追加し、終了したら「Start Session」をクリックします。
plotformName---設備プラットフォーム。AndroidまたはIOSを記入する
deviceName----設備名。上のadbで調べた設備名で記入すればいいです。
アプリPackage――起動するアプリのパッケージ名。WeChatは「comp.tencent.mm」です。
appActivity----起動するインターフェース。ウィーチャット起動画面は「.ui.Launcher UI」です。

{
 "platformName": "Android",
 "deviceName": "HWEVA",
 "appPackage": "com.tencent.mm",
 "appActivity": ".ui.LauncherUI"
}

xmlコントロールを選択すると、対応部分がハイライトされます。

録画開始をクリックして、appum画面で操作します。操作過程は記録されて、その過程に対応するpythonコードを出力します。

操作過程は記録され、Recorderで言語を選択すれば操作に対応するコードが出力されます。

3.2全コード自動登録の実現
Desktop Appは既にインターフェース内で動作するコードを与えています。全コード自動化は主にインターフェースを開くコードだけです。
まず、私たちは先に二つの依存ライブラリをインストールします。

pip install Appium-Python-Client Selenium
コード補完は以下の通りです。Appum-Python-ColientはSeleniumから継承されていますので、使用方法はseleniumと似ています。もっと多くのアプリの操作は以下の通りです。https://github.com/appium/python-client

from appium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# appium      
server='http://localhost:4723/wd/hub'
# app    
desired_caps={
 "platformName": "Android",
 "deviceName": "HWEVA",
 "appPackage": "com.tencent.mm",
 "appActivity": ".ui.LauncherUI"
}

#   
driver = webdriver.Remote(server,desired_caps)
wait = WebDriverWait(driver,30)
#       
login_btn = wait.until(EC.presence_of_element_located((By.ID,"com.tencent.mm:id/drp")))
#       
login_btn.click()
#         
phone_text = wait.until(EC.presence_of_element_located((By.ID,"com.tencent.mm:id/ji")))
#         
phone_text.send_keys("18888888888")
Apiumの使い方については以下のリンクをご覧ください。