由于个人的强迫症缘故,代码均没有做实际测试,由于公司电脑比较卡,自己电脑强迫症,相信各位知道大概都可以找解决方案,解决不了就找我私聊
出现了手机版本过高
课程地址:链接
点开手机或者模拟机的本机信息
pip install appium-python-client
# 链接服务器
abd connect 127.0.0.1:62001
# 查看链接哪台服务器
abd devices
需要进入你安卓sdk安装目录的build-tools中找到你想用的版本的目录下进行cmd
# 注意下面不要带有中文路径
aapt dump badging xxx盘下面的apk安装包
往下滑找到启动页面
只需要拖着app进入到模拟器即可
from appium import webdriver
from appium.options.common import AppiumOptions
desired_caps = {
"platformName":"Android", #操作系统
"platformVersion":"5.1.1", #操作版本 根据查看手机版本信息获取
"deviceName":"xiaomi", #设备名称 可以随便写 没有特殊限制
"appPackage":"", #包名 根据命令获取
"appActivity":"", #入口启动项目页面
"noReset":True
}
# 这边看视频版本有些老了 就网上找到其他博主的代码复制了过来
option = AppiumOptions()
option.set_capability("platformName", "Android")
option.set_capability("platformVersion", "5.1.1")
option.set_capability("deviceName", "xiaomi")
option.set_capability("noReset", True)
option.set_capability("appPackage", "com.tencent.qqlite")
option.set_capability("appActivity", "com.tencent.mobileqq.activity.SplashActivity")
# 这边对应端口就看你安装appium对应的端口换掉就可以了
driver = webdriver.Remote('http://localhost:4723/wd/hub', options=option)
查看对应的日志即可
日志中显示的执行流程
随后一直重复执行http请求……等等
采用的是安卓sdk自带的定位工具在目录
E:\app\android-sdk-windows\tools
的uiautomatorviewer.bat
打开后点击这个即可 这个也可以做刷新操作,会刷新同步app的现在的页面
定位的话就找对应的点着屏幕去定位吧
先启动,再点击放大镜
点击到对应的选框
uiautomator2其实是python使用sdk写的第三方库,对appUi自动化测试框架
执行命令
pip install Uiautomator2
python -m uiautomator2 init
pip install weditor
weditor --help
要确定你的终端模拟器是连接的
# 打开
weditor
现在通过网页打开这个页面
绿色的小树苗就是连接成功的表示
旁边按钮是刷新页面
点击对应元素即可看到对应元素的信息
由于跟web差不多本人就不在往下学习了 遇到问题chatgpt让他写代码 你看了记录下学习就可以了
from appium import webdriver
from appium.options.common import AppiumOptions
from appium.webdriver.common.appiumby import AppiumBy
desired_caps = {
"platformName":"Android", #操作系统
"platformVersion":"5.1.1", #操作版本 根据查看手机版本信息获取
"deviceName":"xiaomi", #设备名称 可以随便写 没有特殊限制
"appPackage":"", #包名 根据命令获取
"appActivity":"", #入口启动项目页面
"noReset":True
}
# 这边看视频版本有些老了 就网上找到其他博主的代码复制了过来
option = AppiumOptions()
option.set_capability("platformName", "Android")
option.set_capability("platformVersion", "5.1.1")
option.set_capability("deviceName", "xiaomi")
option.set_capability("noReset", True)
option.set_capability("appPackage", "com.tencent.qqlite")
option.set_capability("appActivity", "com.tencent.mobileqq.activity.SplashActivity")
# 这边对应端口就看你安装appium对应的端口换掉就可以了
driver = webdriver.Remote('http://localhost:4723/wd/hub', options=option)
# 通过resourceid属性定位
element_input = driver.find_element(AppiumBy.ID, "xxxxx")
# 输入
element_input.send_keys("xxxxxx")
# 单个定位
driver.find_element(AppiumBy.ANDROID_UIAUTOMATOR, 'new UiSelector().text("相机")')
# 组合定位
element_btn = driver.find_element(AppiumBy.ANDROID_UIAUTOMATOR, 'new UiSelector().text("相机").resourceId("xxxx")')
# 点击事件
element_btn.click()