Appium 自动化实例代码
自动化连接 B站
开始 如果下载node.js 的话 可以检查一下appium环境
命令行: appium-doctor
如果没有 可以安装 appium-doctor :npm install -g appium-doctor
运行代码前, 要先运行 Appium Desktop
运行 成功的状态 等待自动化程序进行链接 发出自动化指令
然后 真机进入开发者模式usb调试授权
电脑命令行检测是否连接 adb devices -l
也可下载投屏软件 进行与手机的交互(scrcpy)
查找 应用 Package 和 Activity
----------------------------------------------------------------------------------------------------------------------------------------
from appium import webdriver
# 可视化投屏
from appium.webdriver.extensions.android.nativekey import AndroidKey
desird_caps = {
'platformName': 'Android', # 被测手机是anzhuo
'platformVersion': '10', # 手机安装版本
'deviceName': 'SM-G9600/DS-43345239494a3098', # 自己手机型号-(adb devices 返回的设备号)
'appPackage': 'tv.danmaku.bili', # 启动APP package 名称
'appActivity': 'ui.splash.SplashActivity', # 启动Activity 名称
'unicodeKeyboard': True, # 使用自带输入法,输入中文时添True
'resetKeyboard': True, # 执行完程序恢复原来输入法
'noReset': True, # 不要重置App
'newCommandTimeout': 6000,
'automationName': 'UiAutomator2'
# 'app': r'd:\apk\bili.apk'
}
# 连接Appium Server, 初始化自动化环境 开始控制手机 固定写法 desird_caps:配置信息
driver = webdriver.Remote('http://localhost:4723/wd/hub', desird_caps)
# 设置缺省等待时间
driver.implicitly_wait(10)
# 根据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)
# 选择(定位) 所有视频标题 因为id不唯一 所有用 elements
eles = driver.find_elements_by_id('title')
for ele in eles:
ele.click()
# 打印标题
# print(ele.text)
input('****按任意键退出...')
driver.quit()
----------------------------------------------------------------------------------------------------------------------------------------
# sbox.send_keys('老祝头之华山论剑')