ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Appium+python自动化4-元素定位uiautomatorviewer

2019-08-07 12:01:01  阅读:304  来源: 互联网

标签:定位 Appium 元素 python uiautomatorviewer driver taobao id


前言   

环境搭建好了,下一步元素定位,元素定位本篇主要介绍如何使用uiautomatorviewer,通过定位到页面上的元素,然后进行相应的点击等操作. 

uiautomatorviewer是android-sdk自带的一个元素定位工具,非常简单好用,使用uiautomatorviewer,你可以检查一个应用的UI来查看应用的布局和组件以及相关的属性。

一、启动uiautomatorviewer.bat

    1.打开目录D:\androidsdk\android-sdk-windows\tools


1472105236126324.png850x502 53 KB

    2.双击启动,启动之后出现如下界面

 


 

    3如果不喜欢双击启动的话,也可以在cmd里面通过指令启动

先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的可以暂时不用管)


uiautomatorviewer是android sdk自带的,下篇介绍appium自带个元素定位工具:Inspector.

标签:定位,Appium,元素,python,uiautomatorviewer,driver,taobao,id
来源: https://www.cnblogs.com/zixia/p/11314480.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有