1. 程式人生 > >Appium + Python自動化 - 元素定位uiautomatorviewer

Appium + Python自動化 - 元素定位uiautomatorviewer

 元素定位主要介紹如何使用uiautiomatorviewer,通過定位到頁面上的元素,然後進行相應的點選等操作。uiautiomatorviewer是android-sdk自帶的一個元素定位工具,非常簡單好用,使用uiautomatorviewer,你可以檢查一個應用的UI來檢視應用的佈局和元件以及相關的屬性。

一、啟動uiautomatorviewer.bat

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

    

    2.雙擊啟動,啟動之後出現如下介面:

    

    3.也可以使用命令列進行啟動,cd到tools目錄下,然後輸入uiautomatorviewer.bat回車後啟動服務。

    

 

二、連線手機

    1.cmd開啟輸入adb devices,確認手記已連線

    2.開啟手機淘寶頁面,讓螢幕處於點亮狀態

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

    

 

 

三、定位元素

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

    2.右下角可以看到元素對應的屬性

    

    text:搭配新寵不能缺

    resource-id:com.taobao.taobao:id/home_searchedit

    class:android.widget.EditText

 

四、點搜尋框

    1.前面一篇啟動app後休眠五秒,等待頁面載入完成

    2.通過id來定位到搜尋框,然後點選

    

 

五、最終程式碼如下

# coding=utf-8
from appium import webdriver
import time
desired_caps = {

                'platformName': 'Android',

                'deviceName': '30d4e606',

                'platformVersion': '5.0',

                'appPackage': 'com.taobao.taobao',

                'appActivity': 'com.taobao.tao.welcome.Welcome',

                }

driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
# 休眠五秒等待頁面載入完成
time.sleep(5)
driver.find_element_by_id("com.taobao.taobao:id/home_searchedit").click()

 

六、元素定位

    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的專用的)