在开始介绍元素定位之前,我们需要介绍一个工具,这个工具是Android SDK 自带的工具,叫UI Automator Viewer,可以在SDK\tools下找到这个工具并启动它,本篇,来介绍下这个工具的基本使用,通过学习本篇,基本上能够通过UI Automator Viewer来获取安卓app页面上的元素的定位表达式。

1.在Android SDK 目录下,找到tools文件夹

2. 启动UIAutomatorViewer.bat

3.启动后默认界面如下

4.点击“device screenshot”按钮

在手机上先打开手机百度,然后点击下图的device screenshot,下图第一排第二个图标。

5.获取手机百度中搜索输入框的id

移动鼠标,选择区域也会跟着移动,然后点击输入框,得到输入框元素的一些信息,包括id,class,text等。

这里,右键,我们得到输入框的resource-id:com.baidu.searchbox:id/baidu_searchbox

6.脚本测试根据id来定位元素

import osimport time
from appium import webdriverapk_path = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))  # 获取当前项目的根路径desired_caps ={}
desired_caps['platformName'] = 'Android' #设备系统
desired_caps['platformVersion'] = '6.0.1' #设备系统版本
desired_caps['deviceName'] = 'KIW-AL10' #设备名称# 测试apk包的路径
desired_caps['app'] = apk_path + '\\app\\shoujibaidu.apk'
# 不需要每次都安装apk
desired_caps['noReset'] = True
# 应用程序的包名
desired_caps['appPackage'] = 'com.baidu.searchbox'
desired_caps['appActivity'] = 'com.baidu.searchbox.SplashActivity'driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)#启动app
time.sleep(5) #app启动后等待5秒,方便元素加载完成
# 根据元素id来定位
driver.find_element_by_id('com.baidu.searchbox:id/baidu_searchbox').click()

运行测试下,如果观察到输入框被点击,跳转到搜索页面,呼出屏幕键盘,搜索输入框右侧有一个取消按钮。看到这些场景,说明,根据上面得到的id来定位元素是成功的,可用的。

Appium基础篇5-抓元素工具之UI Automator Viewer相关推荐

  1. Appium基础篇9-元素定位之by_xpath

    我们继续来介绍Appium元素定位方法,有些人做过selenium自动化测试,对xpath元素定位很熟悉.他突然想用xpath来定义手机app页面元素,那么这个是否可以呢?我们在IDE环境输入driv ...

  2. Appium基础篇10-元素定位之by_accessibility_id

    本篇来介绍另外一种元素定位方式,叫by_accessibility_id,它是一个什么鬼呢?因为我们在UI Automator Viewer界面上并没有找到这个字段,我可以告诉你,这个对应的字段是co ...

  3. Appium基础篇15-模拟手指点击tap方法

    本篇来学习下,appium中模拟手指点击方法,叫tap,有两个参数,元素位置和点击持续时间.一般语法是这样的tap((x1,y1),(x2,y2)],100), 我们通过手机百度中,利用tap方法来点 ...

  4. Appium基础篇11-元素操作之点击和输入

    本篇开始介绍元素操作,先来看看元素点击和元素输入行为.前面我们已经知道了元素点击的方法是click(),我们直接在前面代码基础上,用send_keys()方法给输入框输入文字.结果,我这边报错了. 1 ...

  5. 【linux】循序渐进学运维-基础篇-常用ssh管理工具

    文章目录 1. finallshell 推荐指数 : 五颗星 2. xshell 推荐指数: 四颗星 3. Putty ,secureCRT 推荐指数: 三颗星 4. MobaXterm 推荐指数: ...

  6. mysql sql注入工具_基础篇——SQL注入(工具注入)

    注入工具 上一篇介绍了SQL注入漏洞以及一些手工注入方法,本篇介绍一下注入工具 1.sqlmap sqlmap属于比较经典的一个注入工具,功能强大,还自带一些绕过参数 使用方法: sqlmap.py ...

  7. Appium基础篇3-第一个appium自动化脚本之自动安装apk包到手机

    这篇,我们开始来一个实战练习,如何通过appium自动把电脑上一个安卓程序包给安装到一台安卓手机中.在写脚本之前,我们需要统一下方法和工具.我们知道Appium和selenium一样都支持Java和P ...

  8. Appium基础篇16-appium截图方法

    这篇介绍一个截图方法,在自动化测试过程中,出现问题,自动截图是很有必要的.在appium中同样有好几种截图方法(其实就是selenium方法).我们这里介绍一个常用截图方法,该方法叫get_scree ...

  9. Appium基础篇14-上下左右滑屏操作swipe方法

    本篇来学习webdriver.py下一个滑屏操作,这个方法叫swipe,这个方法只是手机端appium的方法,不是selenium3的方法.在介绍滑屏操作之前,你需要了解如何得到屏幕的高和宽,因为每个 ...

最新文章

  1. php中$GLOBALS
  2. python3的socket_python2 与 python3 socket编程的一点小区别
  3. layui select框代码实现自动下拉
  4. 基于token与基于服务器的身份认证
  5. SpringBoot自定义Starter(自动配置类)
  6. Github readme语法-- markdown
  7. python烟花代码
  8. 软件测试工程师的日常工作流程
  9. css 实现一个尖角_如何用CSS实现一个带尖角的框?
  10. 未完成的IT路停在回车键 2014年末总结篇
  11. 【C语言蓝桥杯每日一题】—— 单词分析
  12. 【调剂】河北大学2022年硕士研究生招生拟接收调剂专业信息
  13. 数据备份技术知识梳理(建议收藏)
  14. 【GNN报告】腾讯AI lab 徐挺洋:图生成模型及其在分子生成中的应用
  15. 计算机基础知识(基础入门小白专属)四
  16. STM8L151 DAC
  17. 如何使用友盟统计(自定义事件)
  18. 中国幽门螺杆菌感染研究进展
  19. 【渝粤教育】 广东开放大学21秋期末考试民事诉讼法学10680k2
  20. 能力成长模型(转自阿里梁飞老师博客)

热门文章

  1. 一文搞懂全链路监控:方案概述与比较 | 干货
  2. Netdiscover网络扫描工具
  3. win7快捷键Ctrl+Alt+↑或者↓ 屏幕倒过来了
  4. is_infinite() 函数
  5. KMP算法:HDU-2087-剪花布条
  6. Zookeeper-api基础教程
  7. 数据去重的磁盘索引瓶颈
  8. SRPG游戏开发(三十四)第八章 游戏中的数据 - 四 数据编辑器(Data Editor)
  9. 友勤签约中信重工Oracle P6项目管理软件及技术服务项目
  10. java update 8_java 8 update 77可以删除吗