Appium+python手机APP自动化操作入门

Python 66℃

相关安装包百度网盘链接链接:https://pan.baidu.com/s/19C9fGmoXne8DgfXhrTB2TQ提取码:kgwb

1.安装python

自行上网搜索,比较简单,不再赘述

2.安装Appium client库

pip install appium-python-client -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

3.安装Appium Server

双击Appium-windows-1.15.1.exe,一路下一步

4.安装JDK

双击dk-8u211-windows-x64.exe
安装之后添加环境变量 JAVA_HOME,值为对应的目录:
C:\Program Files\Java\jdk1.8.0_211

5.安装 Android SDK

解压androidsdk.zip即可。
解压之后添加环境变量 ANDROID_HOME,值为对应的目录:
D:\python\appium\androidsdk
再将adb所在目录添加到环境变量 PATH,值为对应的目录:
D:\python\appium\androidsdk\platform-tools\

6.连接安卓模拟器

#安装模拟器先运行,再到安装目录下CMD,输入adb连接模拟器命令:
adb.exe connect 127.0.0.1:7555
#查看连接模拟器的列表
adb devices
#显示如下说明正常:
127.0.0.1:7555 device

7.常用模拟器的默认监听端口

Genymotion模拟器 5555
夜神模拟器 62001/52001
海马玩模拟器 26944
mumu模拟器 7555
天天模拟器 6555
逍遥安卓模拟器 21503
BlueStacks 蓝叠3模拟器 5555
雷神安卓模拟器 5555
腾讯手游助手 5555

8.连接手机

用USB线(不能用便宜的充电线)连接安卓手机
进入 手机设置 -> 关于手机 ,不断点击 版本号 菜单(7次以上),
找到开发者选项,启动USB调试
不同的手机系统,设置稍有区别,自行搜索解决
第一次连接USB线后,手机界面弹出提示,确认就好。

#列出连接在电脑上的安卓设备。
adb devices -l
#显示如下说明正常:
4d0035dc767a50bb device product:t03gxx model:GT_N7100 device:t03g

9.对手机(或模拟器)APP进行自动化操作

先运行 Appium Server,参数不用改,satart server即可
再编写如下python脚本,运行脚本就能看到效果了

from appium import webdriver
from selenium.webdriver.common.by import By
from appium.webdriver.extensions.android.nativekey import AndroidKey
from appium.options.android import UiAutomator2Options

desired_caps = {
'platformName': 'Android', # 被测手机是安卓
'platformVersion': '14', # 手机安卓版本,如果是鸿蒙系统,依次尝试 12、11、10 这些版本号
'deviceName': 'xxx', # 设备名,安卓手机可以随意填写
'appPackage': 'tv.danmaku.bili', # 启动APP Package名称
'appActivity': '.MainActivityV2', # 启动Activity名称
'unicodeKeyboard': True, # 自动化需要输入中文时填True
'resetKeyboard': True, # 执行完程序恢复原来输入法
'noReset': True, # 不要重置App
'newCommandTimeout': 6000,
'automationName' : 'UiAutomator2'
# 'app': r'd:\apk\bili.apk',
}
# 连接Appium Server,初始化自动化环境
driver = webdriver.Remote('http://localhost:4723/wd/hub',
options=UiAutomator2Options().load_capabilities(desired_caps))
# 设置缺省等待时间
driver.implicitly_wait(5)
# 如果有`青少年保护`界面,点击`我知道了`
iknow = driver.find_elements(By.ID, "text3")
if iknow:
iknow.click()
# 根据id定位搜索位置框,点击
driver.find_element(By.ID, 'expand_search').click()
# 根据id定位搜索输入框,输入搜索关键字
sbox = driver.find_element(By.ID, 'search_src_text')
sbox.send_keys('白月黑羽')
# 输入回车键,确定搜索
driver.press_keycode(AndroidKey.ENTER)
# 选择(定位)所有视频标题
eles = driver.find_elements(By.ID, 'title')
for ele in eles:
# 打印标题
print(ele.text)
input('**** Press to quit..')
driver.quit()

9.常见问题

如果出现 如下错误:
Permission denial: writing to settings requires:android.permission.WRITE_SECURE_SETTINGS
打开开发者选项,把 禁止权限监控 等设置启用,就是取消各种限制,再试一遍

转载请注明:零五宝典 » Appium+python手机APP自动化操作入门