基于Python的Appium Android自动化爬坑路程总结

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

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值