转载  Appium + Python自动化 - 元素定位uiautomatorviewer

分类:java 2018-12-01T15:07:25    13人阅读   

    元素定位主要介绍如何使用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的专用的)

 

分享到: