1、准备工作:
Appium:appium-desktop-setup-1.11.0.exe # download:https://github.com/appium/appium-desktop/releases/tag/v1.11.0
jdk:jdk-8u191-windows-x64
weixin:weixin703android1400.apk
eclipse:eclipse-jee-2018-12-R-win32-x86_64 # download:https://www.eclipse.org/downloads/packages/
windows下Android开发环境:
2、加入系统变量:
ANDROID_HOME: C:\Users\zxy\AppData\Local\Android\Sdk
PATH: C:\Program Files\Java\jdk1.8.0_191\bin
cmd执行:appium-doctor
显示如下表明配置成功
Running Android Checks
✔ ANDROID_HOME is set to "C:\Users\zxy\AppData\Local\Android\Sdk"
✔ JAVA_HOME is set to "C:\Program Files\Java\jre1.8.0_191."
✔ ADB exists at C:\Users\zxy\AppData\Local\Android\Sdk\platform-tools\adb.exe
✔ Android exists at C:\Users\zxy\AppData\Local\Android\Sdk\tools\android.bat
✔ Emulator exists at C:\Users\zxy\AppData\Local\Android\Sdk\tools\emulator.exe
✔ Android Checks were successful.
✔ All Checks were successful
3、将Android手机通过数据线和运行Appium的PC相连,同时打开USB调试功能,确保PC可以连接到手机
adb install C:\weixin703android1400.apk #安装微信apk
# adb有问题用adb kill-server
adb start-server进行重启
adb devices -l # 查看设备名称,后面要用到
List of devices attached
XPU4C17304015234 device product:CAZ-AL10 model:HUAWEI_CAZ_AL10 device:HWCAZ transport_id:6
4、启动appium进行配置
选择New Session Windows
对Desired Capabilities进行添加设置:
platformName
:它是平台名称,需要区分Android或iOS,此处填写Android。
platformVersion
:它是Android版本。
deviceName
:它是设备名称,此处是手机的具体类型。
appPackage
:它是App程序包名。
appActivity
:它是入口Activity名,这里通常需要以 . 开头。
# appPackage,appActivity获取方法:
通过cmd命令,前提是先打开手机中你要获取包名的APP
1. adb shell
2. dumpsys activity | grep mFocusedActivity
JSON Representation内容显示如下即可点击右下角的Start Session按钮,即可启动Android手机上的微信App并进入到启动页面。同时PC上会弹出一个调试窗口,从这个窗口我们可以预览当前手机页面,并可以查看页面的源码
{
"platformName": "Android",
"platformVersion": "7.0",
"deviceName": "HUAWEI_CAZ_AL10",
"appPackage": "com.tencent.mm",
"appActivity": ".ui.LauncherUI"
}
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
server = 'http://localhost:4723/wd/hub'
desired_caps = {
'platformName': 'Android',
'deviceName': 'MI_NOTE_Pro',
'appPackage': 'com.tencent.mm',
'appActivity': '.ui.LauncherUI'
}
driver = webdriver.Remote(server, desired_caps)
wait = WebDriverWait(driver, 30)
login = wait.until(EC.presence_of_element_located((By.ID, 'com.tencent.mm:id/e4g')))
login.click()
phone = wait.until(EC.presence_of_element_located((By.ID, 'com.tencent.mm:id/d_s')))
phone.set_text('17000000000')
5 appium API以及其他方法:
接下来看看使用代码如何操作App、总结相关API的用法。这里使用的Python库为AppiumPythonClient,其GitHub地址为https://github.com/appium/python-client,此库继承自Selenium,使用方法与Selenium有很多共同之处。
请参考:https://juejin.im/post/5ad4582f51882510fd4017eb