android自动化必备之界面元素
包名&类名
packageName(包名)
应用的身份标识,系统通过包名识别不同的应用,如两个相同包名的应用在安装时候会覆盖
activityName(类名)
Activity:android四大组件之一,简单来说就是一个页面,和用户进行交互,activity通过setContentView方法加载布局文件,使得布局能够显示在手机上
简单来说,appium中指定了包名,就相当于可以找到对应所测试的应用,指定了类名,相当于找到测试应用的某一个页面。
布局&控件
通过appium自带的工具inspector或者SDK包下的uiautomatorviewer工具即可查看到app页面的结构
app页面由布局+控件组成

在android中,有五大布局,这些布局就相当于容器,这些容器里可以放控件也可以放另外一个容器(嵌套)
常见布局类型如下:
框架布局(FrameLayout):
所有控件都放置在最左上的区域
下一个子控件会重叠覆盖上一个控件
线性布局(LinearLayout):
控件的排序方式:水平/垂直
绝对布局(AbsoluteLayout):
采用坐标轴的方式定位控件
左上角原点(0,0),往右X轴递增,往下Y轴递增
相对布局(RelativeLayout):
根据参照物(某控件)的位置。来确定控件的位置
表格布局(TableLayout):
通过表格方式(行,列)布局控件位置
常见控件:
TextView(文本控件):
展示文本/文字
EditText(编辑输入框):
用于接收用户输入的数据
Button(按钮):
用户通过点击Button触发一系列的事件
CheckBox(复选按钮):
列表选择,单选、多选
ImageView(图片控件):
用于显示图片
ProgressBar(加载进度条):
表示正在加载某一些数据
坐标系统
在对界面元素定位的时候有些场景我们可能会使用到坐标,在android系统中坐标包括有x轴、y轴、z轴(一般来说自动化我们不需要考虑z轴)

手机的原点就是屏幕的左上角这个点,从横向看就是x轴的方位,竖向看就是y轴的方位
Tips:通过在android手机开发者选项->输入,找到显示触摸操作和指针位置,开启之后再屏幕上方即可看到当前元素的坐标


============================ PS ==============================
请大家支持原创,尊重原创,如要转载,请注明出处:“转载自:http://www.cnblogs.com/yyoba/”,谢谢!!有任何疑问,欢迎大家留言区艾特我。
android自动化必备之界面元素的更多相关文章
- android自动化必备之SDK
进入到SDK包中,通过打开SDK manager.exe即可看到SDK管理界面,可能部分童靴发现一直在加载出不来,我们需要设置代理来解决: 选择工具栏上的Tools->Options打开如下窗口 ...
- Android开发者必备的42个链接
http://mobile.51cto.com/ahot-426035.htm Android开发者必备的42个链接 下面收集了42个帮助大家学习Android的内容链接,部分内容是面向初学者的,帮助 ...
- 篇3 安卓app自动化测试-搞定界面元素
篇3 安卓app自动化测试-搞定界面元素 --lamecho辣么丑 1.1概要 大家好! 我是lamecho(辣么丑),今天是<安卓app自动化测试>的第三 ...
- Android自动化框架介绍
随着Android应用得越来越广,越来越多的公司推出了自己移动应用测试平台.例如,百度的MTC.东软易测云.Testin云测试平台…….由于自己所在项目组就是做终端测试工具的,故抽空了解了下几种常见的 ...
- Android自动化框架 模拟操作 模拟测试
转自:http://bbs2.c114.net/home.php?mod=space&uid=1025779&do=blog&id=5322 几种常见的Android自动化测试 ...
- Android自动化框架
Android自动化框架 已有 2085 次阅读2014-8-26 12:19 | Android 几种常见的Android自动化测试框架及其应用 随着Android应用得越来越广,越来越多的公司推出 ...
- 使用Monkeyrunner进行Android自动化的总结
http://www.2cto.com/kf/201411/356056.html 使用Monkeyrunner进行Android自动化的总结 使用Android自动化的方式,不仅可以用来对Andro ...
- [转] Android自动化测试之使用java调用monkeyrunner(五)
Android自动化测试之使用java调用monkeyrunner 众所周知,一般情况下我们使用android中的monkeyrunner进行自动化测试时,使用的是python语言来写测试脚本.不过, ...
- 精美的 ( Android, iPhone, iPad ) 手机界面设计素材和线框图设计工具
在制作界面原型的时候,如果有现成的界面基础元素可以使用的话,设计师就可以非常快速的完成原型的制作,能够节省大量的时间和精力.在这篇文章, 我向大家分享45套非常有用的 UI 和 Wireframe 套 ...
随机推荐
- springIOplatform
因此Spring IO Platform应运而生,只要项目中引入了它,外部集成时依赖关系无需版本号 <dependency> <groupId>org.springframew ...
- Vue history模式支持ie9
vue 路由里面的history能让浏览器显示平常一样的链接,可以去掉#这种,但是在ie9下面会强制变成hash,因为history不支持ie9自动降级,可能就会影响美感,解决:可以在路由里面添加fa ...
- Java:编码与乱码问题
一.为什么要编码? 由于人类的语言太多,因而表示这些语言的符号太多,无法用计算机的一个基本的存储单元----byte来表示,因而必须要经过拆分或一些翻译工作,才能让计算机能理解. byte一个字节即8 ...
- 去掉"You are running Vue in development mode"提示
vue项目中报错: You are running Vue in development mode.Make sure to turn on production mode when deployin ...
- promise 链式
let send = (item) => Promise.resolve(`此时参数是:(${item})`) async function init(){ const arr = [1,2,3 ...
- 绕过D盾的php一句话
d_dun.php <?php $a = '小狗狗你好啊'; $b = '小盾盾你好啊'; foreach ($_REQUEST as $key => $value) { $$key = ...
- poi实现Excel文件的读取
1.前端代码 $("#upload").on('click', function() { var formData = new FormData(); var name = $(& ...
- Java面试题之Redis
1.redis数据结构有哪些? string,list,hash,set,zset 2.redis为什么是单线程的? redis是基于内存的操作,cpu不是redis的瓶颈,内存大小或网络带宽才是: ...
- Codeforces 888 简要题解
文章目录 A题 B题 C题 D题 E题 F题 G题 传送门 A题 传送门 题意简述:给一个数列,问有多少个峰值点(同时比两边都大/小的点) 思路:按照题意模拟. 代码: #include<bit ...
- excle记录
比较两列不一样的数据 https://jingyan.baidu.com/article/fd8044fa23eef05030137a66.html