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の設置
1.1.3 apinum-doctorを使って環境構成に間違いがないか確認する
二、携帯接続アプリ
2.1 appum起動サービス
npmでインストールすれば、appumはnodejsディレクトリにインストールされます。直接appumコマンドで起動すればいいです。
私はここでDesktopアプリを使ってインストールします。インストールが完了したら、デスクトップのアイコン画面をダブルクリックします。
私たちはデフォルトの設定を使っても修正しないで、直接に「Start Server」ボタンを押して起動します。
2.2携帯電話でデータ線を使ってパソコンに接続する
データケーブルを使ってappumを開いたパソコンに携帯電話を接続し、usbのデバッグ機能を起動します。adbコマンドを使用してデバイスのリストを作成することができます。接続が成功したことを確認します。
三、使用例
以下は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」です。
xmlコントロールを選択すると、対応部分がハイライトされます。
録画開始をクリックして、appum画面で操作します。操作過程は記録されて、その過程に対応するpythonコードを出力します。
操作過程は記録され、Recorderで言語を選択すれば操作に対応するコードが出力されます。
3.2全コード自動登録の実現
Desktop Appは既にインターフェース内で動作するコードを与えています。全コード自動化は主にインターフェースを開くコードだけです。
まず、私たちは先に二つの依存ライブラリをインストールします。
私たちは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の使い方については以下のリンクをご覧ください。