相关安装包百度网盘链接链接: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自动化操作入门