前言
環境搭建好了,下一步元素定位,元素定位本篇主要介紹如何使用uiautomatorviewer,通過定位到頁面上的元素,然後進行相應的點選等操作.
uiautomatorviewer是android-sdk自帶的一個元素定位工具,非常簡單好用,使用uiautomatorviewer,你可以檢查一個應用的UI來檢視應用的布局群組件以及相關的屬性。
一、啟動uiautomatorviewer.bat
1.打開目錄D:\androidsdk\android-sdk-windows\tools
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5iNygDM1YmN3IzY2gDO3QmYyYzX2QDOxgTMwMzLcZDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
1472105236126324.png850x502 53 KB
2.輕按兩下啟動,啟動之後出現如下界面
3如果不喜歡輕按兩下啟動的話,也可以在cmd裡面通過指令啟動
先cd到tools目錄下,然後輸入uiautomatorviewer.bat回車後啟動服務
二、連接配接手機
1.cmd打開輸入adb devices,确認手機已連上
2.打開手機要使用的APP頁面,讓螢幕處于點亮狀态
3.點左上角安卓機器人按鈕Devices Screenshot按鈕重新整理頁面
三、定位元素
1.移動滑鼠到需要定位的元素上,如搜尋輸入框
2.右下角可以看到元素對應的屬性
text: 空
resource-id: cn.qysxy.daxue:id/iv_home_top_search
class: android.widget.ImageView
xpath: //android.widget.ImageView[@resource-id='cn.qysxy.daxue:id/iv_home_top_search']
四、點搜尋框
1.前面一篇啟動app後,休眠五秒,等待頁面加載完成
2.通過id來定位到搜尋框,然後點選
五、最終代碼如下
# 布道官--首頁
from appium import webdriver
from time import sleep
import os
caps = {}
caps["platformName"] = "Android" # 平台名稱
caps["platformVersion"] = "5.1.1" # 裝置系統的版本号
caps["deviceName"] = "127.0.0.1:62001" # 夜神虛拟機
caps["appPackage"] = "cn.qysxy.daxue"
caps["appActivity"] = ".modules.login.LoginActivity"
caps["noReset"] = "true"
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', caps)
# 隐式等待 ,如果沒有找到"布道官"會報錯
# driver.implicitly_wait(10)
# 擷取結果文本
res_text = driver.find_element_by_id('cn.qysxy.daxue:id/tv_login_enterprise_name').text
assert res_text == '布道官'
六、元素定位
1.appium的webdriver提供了11種元素定位方法,在selenium的基礎上擴充了三個,可以在pycharm裡面輸入driver.find_element_by然後會自動比對出來
2.多的三種如下,在後面的會詳細介紹
driver.find_element_by_accessibility_id()
driver.find_element_by_android_uiautomator()
driver.find_element_by_ios_uiautomation()
(第三個是ios的可以暫時不用管)
前言
環境搭建好了,下一步元素定位,元素定位本篇主要介紹如何使用uiautomatorviewer,通過定位到頁面上的元素,然後進行相應的點選等操作.
uiautomatorviewer是android-sdk自帶的一個元素定位工具,非常簡單好用,使用uiautomatorviewer,你可以檢查一個應用的UI來檢視應用的布局群組件以及相關的屬性。
一、啟動uiautomatorviewer.bat
1.打開目錄D:\androidsdk\android-sdk-windows\tools
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5iNygDM1YmN3IzY2gDO3QmYyYzX2QDOxgTMwMzLcZDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
1472105236126324.png850x502 53 KB
2.輕按兩下啟動,啟動之後出現如下界面
3如果不喜歡輕按兩下啟動的話,也可以在cmd裡面通過指令啟動
先cd到tools目錄下,然後輸入uiautomatorviewer.bat回車後啟動服務
二、連接配接手機
1.cmd打開輸入adb devices,确認手機已連上
2.打開手機要使用的APP頁面,讓螢幕處于點亮狀态
3.點左上角安卓機器人按鈕Devices Screenshot按鈕重新整理頁面
三、定位元素
1.移動滑鼠到需要定位的元素上,如搜尋輸入框
2.右下角可以看到元素對應的屬性
text: 空
resource-id: cn.qysxy.daxue:id/iv_home_top_search
class: android.widget.ImageView
xpath: //android.widget.ImageView[@resource-id='cn.qysxy.daxue:id/iv_home_top_search']
四、點搜尋框
1.前面一篇啟動app後,休眠五秒,等待頁面加載完成
2.通過id來定位到搜尋框,然後點選
五、最終代碼如下
# 布道官--首頁
from appium import webdriver
from time import sleep
import os
caps = {}
caps["platformName"] = "Android" # 平台名稱
caps["platformVersion"] = "5.1.1" # 裝置系統的版本号
caps["deviceName"] = "127.0.0.1:62001" # 夜神虛拟機
caps["appPackage"] = "cn.qysxy.daxue"
caps["appActivity"] = ".modules.login.LoginActivity"
caps["noReset"] = "true"
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', caps)
# 隐式等待 ,如果沒有找到"布道官"會報錯
# driver.implicitly_wait(10)
# 擷取結果文本
res_text = driver.find_element_by_id('cn.qysxy.daxue:id/tv_login_enterprise_name').text
assert res_text == '布道官'
六、元素定位
1.appium的webdriver提供了11種元素定位方法,在selenium的基礎上擴充了三個,可以在pycharm裡面輸入driver.find_element_by然後會自動比對出來
2.多的三種如下,在後面的會詳細介紹
driver.find_element_by_accessibility_id()