Appium之UIAutomator API选择元素
UI Automator测试框架提供了一组API来构建UI测试。
利用UI Automator API可以执行在测试设备中,打开‘设置’菜单或应用启动器等操作。
UI Automator测试框架非常适合编写黑盒自动化测试
【注意】如果你的安卓机版本在6及以上,可以在desired_caps字典中加上下面这句代码:
'automatorName': 'UiAutomator2'
UI Automator查看器
访问设备状态:
UI Automator测试框架提供了一个UiDevice类。该类可用于执行以下操作:
- 更改设备旋转
- 按D-pad按钮
- 按返回、主屏幕、菜单按钮
- 打开通知栏
- 对当前窗口进行屏幕截图
如:要模拟按下‘主屏幕’按钮,请调用UiDevice.pressHome()方法
UI Automer API:
UiSelector:是我们appium自动化代码选择元素时直接使用到的。
UiSelector类似于appium中find_element_by_xxx()方法中的函数值。
如:根据ID选择元素
java语法:newSelector().resourceId("io.manong.developerdaily:id/tv_tab_title")
appium用法:driver.find_element_by_android_uiautomator('new UiSelector().resourceId("io.manong.developerdaily:id/tv_tab_title")')
如:根据className选择元素
java语法:new UiSelector().className("android.widget.TextView")
appium 用法:driver.find_element_by_android_uiautomator('new UiSelector().className("android.widget.TextView")')
如:根据class name 和text属性
code = 'new UiSelector().text("我的").classname("android.widget.TextView")'
ele = driver.find_element_by_android_uiautomator(code)
如:根据childSelector和instance方法
code = 'new UiSelector().resourceId('\
' "io.manong.developerdaily:id/tab_bar").childSelector(new UiSelectot().className('\
' "android.widget.TextView").instance(3))'
ele = driver.find_element_by_andorid_uiautomator(code)
ele.click()
-------------------------代码实现-------------------------------

滑动屏幕:
* Appium WebDriver的swipe方法(坐标和duration)
* 直接查看,估算操作坐标
* 先获取元素坐标,再分析操作坐标(更健壮)
location = ele.location 左上角坐标 (dict:有x,y)
size1 = ele.size 宽 高 (dict:有width,height)
操作不可见元素:
* 先滑动到其可见
* 再操作该元素
* 获取全屏幕尺寸
screenSize = driver.get_window_size()
screenW = screenSize['width']
screenH = screenSize['height']
---------------------------代码实现------------------------------

Appium之UIAutomator API选择元素的更多相关文章
- jQuery选择器对应的DOM API ——选择元素
英文原文:http://blog.garstasio.com/you-dont-need-jquery/selectors/愚人码头注: 原作者的写这文章的意图是让我们抛弃jQuery,You Don ...
- 抛弃jQuery:DOM API之选择元素
原文链接:http://blog.garstasio.com/you-dont-need-jquery/selectors/ 我的Blog:http://cabbit.me/you-dont-need ...
- Appium脚本(4) 使用uiautomator方法定位元素
from app.find_element.capability import driver from time import sleep # 使用uiautomator方法定位元素 accunt_i ...
- 【转】Uiautomator Api浅析
原文地址:http://blog.sina.com.cn/s/blog_ae2575ff01018b2o.html uiautomator api: http://android.toolib.net ...
- JQuery基础教程:选择元素(上)
jQuery最强大的特性之一就是它能够简化在DOM中选择元素的任务,DOM中的对象网络与家谱有几分类似,当我们提到网络中元素之间的关系时,会使用类似描述家庭关系的术语,比如父元素.子元素,等等.通过一 ...
- 第三章:JavaScript选择元素
我们使用jQuery时,很常用的套路是“两步”第一步:选取元素第二步:对选中的元素执行需要的操作这一章我们重点研究第一步,如何使用jQuery选取元素以及对选取的结果进行“各种筛选”以满足我们的需求. ...
- Jquery 系列(2) 选择元素
Jquery基础学习 jQuery利用css选择符的能力,能够在DOM中快捷而轻松地获取元素. 主要内容如下: 介绍DOM树 如何通过CSS选择符在页中查找元素 扩展jQuery标准的CSS选择符 选 ...
- 【 D3.js 入门系列 --- 2 】 如何使用数据和选择元素
接着上一讲的内容,这次讨论如何选择元素和使用数据. 现在页面中有三行文字,代码为: <p>Hello World 1</p> <p>Hello World 2 ...
- D3.js 其他选择元素方法
在上一节中,已经讲解了 select 和 selectAll,以及选择集的概念.本节具体讲解这两个函数的用法. 假设在 body 中有三个段落元素: <p>Apple</p> ...
随机推荐
- 一、netcore跨平台之 Linux上部署netcore和webapi
这几天闲着的时候在linux上部署了一下netcore webapi,下面就纪要一下这个过程. 中间遇到不少的坑,心里都是泪啊. 话不多说,开始干活. ------------------------ ...
- 02. JVM运行机制
JVM运行机制 JVM启动流程 JVM基本结构 内存模型 编译和解释运行的概念 一.JVM启动流程
- P0-Logisim简单部件与有限状态机
#自学了6week,pre都挂了,做了做P0课下测试,觉得自己对有限状态机概念的的理解,特别是牵扯到时序还是很模糊:状态的抽象也不够熟练:logisim和Verilog的实现也存在问题.网上针对性的l ...
- nyoj 263-精 挑 细 选 (sort(P, P+m, cmp); bool cmp(node a, node b)...)
263-精 挑 细 选 内存限制:64MB 时间限制:3000ms 特判: No 通过数:14 提交数:26 难度:1 题目描述: 小王是公司的仓库管理员,一天,他接到了这样一个任务:从仓库中找出一根 ...
- python:爬虫1——实战(下载一张图片、用Python模拟浏览器,通过在线的有道词典来对文本翻译)
一.下载一只猫 import urllib.request response = urllib.request.urlopen("http://cdn.duitang.com/uploads ...
- HTML基础学习心得分享
开始学些Html的时候主要进行一些简单的静态网页的处理: 1.HTML 标题 HTML 标题(Heading)是通过 h1-h6 加中括号<>等标签进行定义的. 2.HTML 段落 HTM ...
- vue引用组件的两个方法
<template> <div> <myComponent></myComponent> </div> </template> ...
- 扛把子组20191114-4 Beta发布用户使用报告
此作业的要求参见:http://edu.cnblogs.com/campus/nenu/2019fall/homework/10007 小组情况: 队名:扛把子 组长:孙晓宇 组员:宋晓丽 梁梦瑶 韩 ...
- An end-to-end TextSpotter with Explicit Alignment and Attention
An end-to-end TextSpotter with Explicit Alignment and Attention 论文下载:http://cn.arxiv.org/pdf/1803.0 ...
- Hash Map 在java中的解释及示例
目录 HashMap在java中的应用及示例 HashMap的内部结构 HashMap的性能 同步HashMap HashMap的构造函数 HashMap的时间复杂度 HashMap的方法 1. vo ...