APP自动化环境搭建
是由我们来开发的,实现具体的 手机自动化 功能。因此使用python调用 python客户端库
自动化程序
实现自动化功能
Appium-Python-Client
是 Appium 组织开发的程序,它负责管理手机自动化环境,并且转发 自动化程序的控制指令 给 手机,并且转发 手机给 自动化程序的响应消息。
Appium Server
手机设备为什么能够被自动化
调用客户端库相应的函数,发送点击元素的指令(封装在HTTP消息里)给
自动化程序
AppiumServer
再转发这个指令给手机上的自动化代理,其中自动化代理程序是由
AppiumServer
进行安装手机上的
AppiumServer
接收到指令后,调用手机平台的自动化库(UIAutomator框架,Android 4.2以后),执行点击操作,返回点击成功的结果给
自动化代理程序
AppiumServer
转发给自动化程序自动化程序了解到本操作成功后,继续后面的自动化流程
AppiumServer
00_Appium环境安装
1. appium客户端库安装
https://pypi.org/project/Appium-Python-Client/
pip install Appium-Python-Client
bash
1
python版本与appium库版本关系
2. jdk环境安装
略
3. Android环境安装
安装Android Studio,并开发一个demo,需要的sdk工具包就都会下载好了
然后设置环境变量
另外在 PATH 变量中补充如下两条
%ANDROID_HOME% ools
%ANDROID_HOME%platform-tools
bash
12
然后启动 Appium.exe 即可
01_检测APP自动化环境搭建情况
目标APP:B站
版本:8.60.0
使用 https://www.byhy.net/auto/appium/01/ 里面给的代码
""" 目标设备:Mi9 Pro Android 10 已经安装 bilibili客户端,且已经手动运行一次 """ from appium import webdriver from selenium.webdriver.common.by import By from selenium.common.exceptions import NoSuchElementException from appium.webdriver.extensions.android.nativekey import AndroidKey from appium.options.android import UiAutomator2Options desired_caps = { 'platformName': 'Android', # 被测手机是安卓 Android or iOS 'platformVersion': '10', # 手机安卓版本,如果是鸿蒙系统,依次尝试 12、11、10 这些版本号 'deviceName': 'xxx', # 设备名,安卓手机可以随意填写,苹果需要填写 'appPackage': 'tv.danmaku.bili', # APP包名 'appActivity': '.MainActivityV2', # 启动Activity名称 'unicodeKeyboard': True, # 自动化需要输入中文时填True 'resetKeyboard': True, # 执行完程序恢复原来输入法 'noReset': True, # True为 不要重置App,是否清除APP全部数据 'newCommandTimeout': 6000, # 自动化程序 与 App Server链接超时时间 'automationName': 'UiAutomator2' # 'app': r'd:apkili.apk', } def main(): # 连接Appium Server,初始化自动化环境 driver = webdriver.Remote('http://localhost:4723/wd/hub', options=UiAutomator2Options().load_capabilities(desired_caps)) # 设置缺省等待时间 driver.implicitly_wait(5) try: # 如果有`青少年保护`界面,点击`我知道了` iknow = driver.find_element(By.ID, "text3") if iknow: iknow.click() except NoSuchElementException: pass # 根据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() if __name__ == "__main__": main()
python 运行123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
目标设备中安装 B站客户端。第一次先手动运行B站客户端进行一些基础设置后,再退出app。之后再运行 代码。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...