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选择元素的更多相关文章

  1. jQuery选择器对应的DOM API ——选择元素

    英文原文:http://blog.garstasio.com/you-dont-need-jquery/selectors/愚人码头注: 原作者的写这文章的意图是让我们抛弃jQuery,You Don ...

  2. 抛弃jQuery:DOM API之选择元素

    原文链接:http://blog.garstasio.com/you-dont-need-jquery/selectors/ 我的Blog:http://cabbit.me/you-dont-need ...

  3. Appium脚本(4) 使用uiautomator方法定位元素

    from app.find_element.capability import driver from time import sleep # 使用uiautomator方法定位元素 accunt_i ...

  4. 【转】Uiautomator Api浅析

    原文地址:http://blog.sina.com.cn/s/blog_ae2575ff01018b2o.html uiautomator api: http://android.toolib.net ...

  5. JQuery基础教程:选择元素(上)

    jQuery最强大的特性之一就是它能够简化在DOM中选择元素的任务,DOM中的对象网络与家谱有几分类似,当我们提到网络中元素之间的关系时,会使用类似描述家庭关系的术语,比如父元素.子元素,等等.通过一 ...

  6. 第三章:JavaScript选择元素

    我们使用jQuery时,很常用的套路是“两步”第一步:选取元素第二步:对选中的元素执行需要的操作这一章我们重点研究第一步,如何使用jQuery选取元素以及对选取的结果进行“各种筛选”以满足我们的需求. ...

  7. Jquery 系列(2) 选择元素

    Jquery基础学习 jQuery利用css选择符的能力,能够在DOM中快捷而轻松地获取元素. 主要内容如下: 介绍DOM树 如何通过CSS选择符在页中查找元素 扩展jQuery标准的CSS选择符 选 ...

  8. 【 D3.js 入门系列 --- 2 】 如何使用数据和选择元素

    接着上一讲的内容,这次讨论如何选择元素和使用数据.    现在页面中有三行文字,代码为: <p>Hello World 1</p> <p>Hello World 2 ...

  9. D3.js 其他选择元素方法

    在上一节中,已经讲解了 select 和 selectAll,以及选择集的概念.本节具体讲解这两个函数的用法. 假设在 body 中有三个段落元素: <p>Apple</p> ...

随机推荐

  1. IDEA中WEB项目本地调试和发布的配置分开配置

    一个Web项目,开发的时候设置了一些本地内容,比如IP地址,还有本地目录等.开发完成后,要发布到服务器上时,这些本地相关的配置,就需要配置成服务器上IP或目录. 原先的做法就是部署打包的时候,把相关的 ...

  2. MySQL如何永久解决由dos编码格式导致MySQ的显示乱码

    MySQL如何永久解决由dos编码格式导致MySQ的显示乱码 Ⅰ.新建文件 changeCode.txt Ⅱ.粘贴下面代码(作用:将默认的GBK(936)修改为UTF-8(65001)) Window ...

  3. webpack安装与核心概念

    安装webpack webpack核心概念:入口.输出.加载器.插件.模块.模式 一.安装webpack 1.安装webpack之前需要安装nodejs环境,在使用nodejs环境自带的包管理工具np ...

  4. Linux\CentOS 安装 vsftpd 服务器

    安装 查看电脑是否存在 vsftpd 服务器 rmp -qa|grep vsftpd 如果有就删除,没有就使用yum 安装 vsftpd yum -y install vsftpd 配置 在根目录下创 ...

  5. firefox浏览器window.event is undefined问题

    获取鼠标坐标,IE下window.event.clientX和window.event.clientY就可以获取x,y的座标了.但是firefox却不行,浏览器报错window.event is un ...

  6. opencv MatchTemplate()模板匹配寻找最匹配部分

    通常,随着从简单的测量(平方差)到更复杂的测量(相关系数),可以获得越来越准确的匹配,然而,这同时也会以越来越大的计算量为代价.比较科学的方法是对所有这些方法多次测试实验,以便为自己的应用选择同时兼顾 ...

  7. openresty如何完美替换nginx

    下载openresty wget https://openresty.org/download/openresty-1.15.8.1.tar.gz tar zxvf openresty-1.15.8. ...

  8. centos7清理矿机木马qw3xT,kpgrbcc

    腾讯云报告了root口令被暴力破解,并种了木马kpgrbcc 昨晚找到/usr/bin/ rm -rf kpgrbcc 删除 rm -rf kpgrbcb 删除 并ps -ef | grep kpg ...

  9. python selenium框架的Xpath定位元素

    我们工作中经常用到的定位方式有八大种:id name class_name tag_name link_text partial_link_text xpath css_selector 本篇内容主要 ...

  10. 记录用户登陆信息,你用PHP是如何来实现的

    对于初入门的PHP新手来说,或许有一定的难度.建议大家先看看PHP中session的基础含义,需要的朋友可以选择参考. 下面我们就通过具体的代码示例,为大家详细的介绍PHP中session实现记录用户 ...