APPium环境配置

一、安装自动化环境

学习入口:https://www.byhy.net/auto/appium/01/#h_8

1、安装client编程库

复制代码
pip install appium-python-client

2、安装Appium Server

安装包已存放在百度网盘,请参考网盘;

3、安装 SDK

安装好之后,还需要添加一个我的电脑-属性-高级系统配置-环境变量-系统变量IAVAHOME指定值为jdk安装目录,比如

复制代码
JAVA_HOME      d:\tools\java\jdk1.8.0_211

4、安装Android SDK

安装包已存放在百度网盘,请参考网盘;

复制代码
1、解压后,需要ANDROID_HOME   你的安卓sdk目录 设为一个系统变量;
2、配置ADB---PATH D:\Program Files\Android\android-sdk\tools

5、连接手机

1、首先保证手机在开发者选项中已打开"允许通过USB安装应用";

2、执行 adb devices -l 命令来列出连接在电脑上的安卓设备。如输出类似如下的内容:

二、代码示例

运行前,一定要先运行Appium Server

复制代码
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()

注意,如下代码中的字段信息需要填写真实的:

1、 'platformVersion' : '14', # 手机安卓版本,如果是鸿蒙系统,依次尝试 12、11、10 这些版本号

2、 'deviceName': 'xxx', # 设备名,安卓手机可以随意填写;

三、查看apk的包名

1、没有apk;

首先打开需要查看app的包名

复制代码
adb shell dumpsys activity recents | find "intent={"
cmp前部分是包名,后半部分是activity名称;

2、有apk;

找到安卓SDK目录以及apk路径 即可

复制代码
"D:\Program Files\Android\android-sdk\build-tools\29.0.3\aapt.exe" dump badging C:\Users\Administrator\Desktop\K900_android.apk | find "package: name='"
如需获取"launchable-activity"把包名的替换即可;

执行结果如下:

相关推荐
zhihuishuxia__5 小时前
Multiplex通讯(多路复用通讯)
网络·图像处理·数码相机·计算机视觉·自动化
大貔貅喝啤酒5 小时前
接口测试_Postman(详细版)
javascript·测试工具·node.js·自动化·postman
李日灐7 小时前
< 6 > Linux 自动化构建工具:makefile 详解 + 进度条实战小项目
linux·运维·服务器·后端·自动化·进度条·makefile
JZC_xiaozhong7 小时前
跨系统审批自动化怎么做?从采购到销售合同的完整方案
大数据·运维·自动化·流程自动化·数据集成与应用集成·业务流程管理·异构数据集成
搞科研的小刘选手9 小时前
【高届数传感机电会议】第十二届传感器、机电一体化和自动化系统国际学术研讨会(ISSMAS 2026)
运维·人工智能·自动化·控制·传感器·传感·机电
SimLine芯见9 小时前
专为空管环境打造的KVM切换器,满足主备自动化高速无缝切换需求
运维·自动化
恶猫9 小时前
网页自动化模拟操作时,模拟真实按键触发事件【终级方案】
前端·javascript·自动化·vue·网页模拟
Agent产品评测局10 小时前
离散制造业生产流程优化,AI落地实操步骤详解:从传统自动化到企业级智能体的技术范式跃迁
运维·人工智能·ai·自动化
鼎道开发者联盟10 小时前
鼎享会 | 从手工到自动化:OpenClaw改造GitLab内部协作流程的全过程
自动化·gitlab·openclaw
marsh020611 小时前
39 openclaw持续集成实践:自动化构建与部署流程
运维·ci/cd·ai·自动化·编程·技术