前言
App-UI跟Web-UI自动化操作一样,无非就是定位到元素后去操作元素,本篇介绍一下sdk自带的定位元素工具uiautomatorviewer
UI Automator Viewer定位
打开uiautomatorviewer
启动uiautomatorviewer
打开测试app后点击上方第二个按钮device screenshot
使用uiautomatorviewer定位某一元素如:无锡
脚本编写
脚本实现点击“无锡”这个超链接元素
查看上方的关注、推荐、热榜等resource_id都一样,这里我们可以用find_elements_by_id获取一组元素后按索引index(无锡的为3)来定位到无锡的这个元素
from appium import webdriver import time # 配置信息 desired_caps = { "platformName":"Android", "deviceName":"127.0.0.1:62001", "platformVersion":"6.0", "appPackage":"com.baidu.searchbox", "appActivity":"com.baidu.searchbox.SplashActivity", } # 创建驱动 driver = webdriver.Remote("127.0.0.1:4723/wd/hub", desired_caps) time.sleep(5) driver.find_elements_by_id("com.baidu.searchbox:id/tab_indi_title")[3].click() time.sleep(20) driver.quit()
脚本运行
注:脚本运行的前提是设备已连接
1)打开appium启动服务器
2)运行脚本,如截图,自动打开百度并对“无锡”这个元素执行点击操作
当然我们也可以用更简单的方式,因为这些元素他们的text是不一样的,name定位就是通过UI Automator工具查看的text属性
修改代码,将上面的定位改为如下代码
driver.find_element_by_name("无锡").click()
执行后,效果一致
文章来源: https://blog.csdn.net/qq_39620483/article/details/89946130