python+appium自动化定位元素

Android SDK中提供了支持UI自动化测试的uiautomatorviewer ,它是一个图形界面工具来扫描和分析应用的UI控件。

在安装好的SDK\tools\bin目录下,有一个UIAutomatorviewer.bat文件,双击打开,如下图标注所示,UIAutomatorviewer不支持高版本的Java,安装Java8环境就行

安装Python3 + Appium + 安卓模拟器可以参考这篇博文https://blog.csdn.net/u013314786/article/details/83216390写的很详细

python+appium自动化定位元素_第1张图片

打开要定位的APP,以开发者头条APP为例,点击打开当前页面图片,就会自动加载出来,如图

python+appium自动化定位元素_第2张图片

# resourceId属性的方法
driver.find_element_by_id('io.manong.developerdaily:id/tv_tab_title').click()  
# className定位唯一元素  
self.driver.find_element_by_class_name("android.widget.EditText")  
# 找到所有android.widget.EditText并定位第一个
self.driver.find_elements_by_class_name("android.widget.EditText")[0]
# xpath定位元素
driver.find_elements_by_xpath('//android.widget.TextView[@resource-id="io.manong.developerdaily:id/tv_tab_title"]')[1].click()
.text属性
driver.find_element_by_android_uiautomator('new UiSelector().text("密码登录")').click()         #text
driver.find_element_by_android_uiautomator('new UiSelector().textContains("密码")').click()      #textContains
driver.find_element_by_android_uiautomator('new UiSelector().textStartsWith("密码")').click()    #textStartsWith
driver.find_element_by_android_uiautomator('new UiSelector().textMatches("^密录*")').click()    #textMatches

.class属性

driver.find_element_by_android_uiautomator('new UiSelector().className("android.widget.TextView").text("密码登录")').click()
#classNameMatches driver.find_element_by_android_uiautomator('new UiSelector().classNameMatches(".*TextView$").text("密码登录")').click()

.resourceId属性
driver.find_element_by_android_uiautomator('new UiSelector().resourceId("io.manong.developerdaily:id/tv_tab_title")')    
#resourceIdMatches
driver.find_element_by_android_uiautomator('new UiSelector().resourceIdMatches(".*id/tv_tab_title$")')

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(appium)