天天看點

Appium+python自動化-元素定位uiautomatorviewer的使用

前言   

環境搭建好了,下一步元素定位,元素定位本篇主要介紹如何使用uiautomatorviewer,通過定位到頁面上的元素,然後進行相應的點選等操作. 

uiautomatorviewer是android-sdk自帶的一個元素定位工具,非常簡單好用,使用uiautomatorviewer,你可以檢查一個應用的UI來檢視應用的布局群組件以及相關的屬性。

一、啟動uiautomatorviewer.bat

    1.打開目錄D:\androidsdk\android-sdk-windows\tools

Appium+python自動化-元素定位uiautomatorviewer的使用

1472105236126324.png850x502 53 KB

    2.輕按兩下啟動,啟動之後出現如下界面

Appium+python自動化-元素定位uiautomatorviewer的使用

    3如果不喜歡輕按兩下啟動的話,也可以在cmd裡面通過指令啟動

先cd到tools目錄下,然後輸入uiautomatorviewer.bat回車後啟動服務

Appium+python自動化-元素定位uiautomatorviewer的使用

二、連接配接手機

    1.cmd打開輸入adb devices,确認手機已連上

    2.打開手機要使用的APP頁面,讓螢幕處于點亮狀态

    3.點左上角安卓機器人按鈕Devices Screenshot按鈕重新整理頁面

Appium+python自動化-元素定位uiautomatorviewer的使用
Appium+python自動化-元素定位uiautomatorviewer的使用

三、定位元素

    1.移動滑鼠到需要定位的元素上,如搜尋輸入框

Appium+python自動化-元素定位uiautomatorviewer的使用
Appium+python自動化-元素定位uiautomatorviewer的使用

   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來定位到搜尋框,然後點選

Appium+python自動化-元素定位uiautomatorviewer的使用

五、最終代碼如下

# 布道官--首頁

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然後會自動比對出來

Appium+python自動化-元素定位uiautomatorviewer的使用

   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

Appium+python自動化-元素定位uiautomatorviewer的使用

1472105236126324.png850x502 53 KB

    2.輕按兩下啟動,啟動之後出現如下界面

Appium+python自動化-元素定位uiautomatorviewer的使用

    3如果不喜歡輕按兩下啟動的話,也可以在cmd裡面通過指令啟動

先cd到tools目錄下,然後輸入uiautomatorviewer.bat回車後啟動服務

Appium+python自動化-元素定位uiautomatorviewer的使用

二、連接配接手機

    1.cmd打開輸入adb devices,确認手機已連上

    2.打開手機要使用的APP頁面,讓螢幕處于點亮狀态

    3.點左上角安卓機器人按鈕Devices Screenshot按鈕重新整理頁面

Appium+python自動化-元素定位uiautomatorviewer的使用
Appium+python自動化-元素定位uiautomatorviewer的使用

三、定位元素

    1.移動滑鼠到需要定位的元素上,如搜尋輸入框

Appium+python自動化-元素定位uiautomatorviewer的使用
Appium+python自動化-元素定位uiautomatorviewer的使用

   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來定位到搜尋框,然後點選

Appium+python自動化-元素定位uiautomatorviewer的使用

五、最終代碼如下

# 布道官--首頁

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然後會自動比對出來

Appium+python自動化-元素定位uiautomatorviewer的使用

   2.多的三種如下,在後面的會詳細介紹

driver.find_element_by_accessibility_id()