包名&类名

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自动化必备之界面元素的更多相关文章

  1. android自动化必备之SDK

    进入到SDK包中,通过打开SDK manager.exe即可看到SDK管理界面,可能部分童靴发现一直在加载出不来,我们需要设置代理来解决: 选择工具栏上的Tools->Options打开如下窗口 ...

  2. Android开发者必备的42个链接

    http://mobile.51cto.com/ahot-426035.htm Android开发者必备的42个链接 下面收集了42个帮助大家学习Android的内容链接,部分内容是面向初学者的,帮助 ...

  3. 篇3 安卓app自动化测试-搞定界面元素

    篇3                 安卓app自动化测试-搞定界面元素 --lamecho辣么丑 1.1概要 大家好! 我是lamecho(辣么丑),今天是<安卓app自动化测试>的第三 ...

  4. Android自动化框架介绍

    随着Android应用得越来越广,越来越多的公司推出了自己移动应用测试平台.例如,百度的MTC.东软易测云.Testin云测试平台…….由于自己所在项目组就是做终端测试工具的,故抽空了解了下几种常见的 ...

  5. Android自动化框架 模拟操作 模拟测试

    转自:http://bbs2.c114.net/home.php?mod=space&uid=1025779&do=blog&id=5322 几种常见的Android自动化测试 ...

  6. Android自动化框架

    Android自动化框架 已有 2085 次阅读2014-8-26 12:19 | Android 几种常见的Android自动化测试框架及其应用 随着Android应用得越来越广,越来越多的公司推出 ...

  7. 使用Monkeyrunner进行Android自动化的总结

    http://www.2cto.com/kf/201411/356056.html 使用Monkeyrunner进行Android自动化的总结 使用Android自动化的方式,不仅可以用来对Andro ...

  8. [转] Android自动化测试之使用java调用monkeyrunner(五)

    Android自动化测试之使用java调用monkeyrunner 众所周知,一般情况下我们使用android中的monkeyrunner进行自动化测试时,使用的是python语言来写测试脚本.不过, ...

  9. 精美的 ( Android, iPhone, iPad ) 手机界面设计素材和线框图设计工具

    在制作界面原型的时候,如果有现成的界面基础元素可以使用的话,设计师就可以非常快速的完成原型的制作,能够节省大量的时间和精力.在这篇文章, 我向大家分享45套非常有用的 UI 和 Wireframe 套 ...

随机推荐

  1. springIOplatform

    因此Spring IO Platform应运而生,只要项目中引入了它,外部集成时依赖关系无需版本号 <dependency> <groupId>org.springframew ...

  2. Vue history模式支持ie9

    vue 路由里面的history能让浏览器显示平常一样的链接,可以去掉#这种,但是在ie9下面会强制变成hash,因为history不支持ie9自动降级,可能就会影响美感,解决:可以在路由里面添加fa ...

  3. Java:编码与乱码问题

    一.为什么要编码? 由于人类的语言太多,因而表示这些语言的符号太多,无法用计算机的一个基本的存储单元----byte来表示,因而必须要经过拆分或一些翻译工作,才能让计算机能理解. byte一个字节即8 ...

  4. 去掉"You are running Vue in development mode"提示

    vue项目中报错: You are running Vue in development mode.Make sure to turn on production mode when deployin ...

  5. promise 链式

    let send = (item) => Promise.resolve(`此时参数是:(${item})`) async function init(){ const arr = [1,2,3 ...

  6. 绕过D盾的php一句话

    d_dun.php <?php $a = '小狗狗你好啊'; $b = '小盾盾你好啊'; foreach ($_REQUEST as $key => $value) { $$key = ...

  7. poi实现Excel文件的读取

    1.前端代码 $("#upload").on('click', function() { var formData = new FormData(); var name = $(& ...

  8. Java面试题之Redis

    1.redis数据结构有哪些? string,list,hash,set,zset 2.redis为什么是单线程的? redis是基于内存的操作,cpu不是redis的瓶颈,内存大小或网络带宽才是: ...

  9. Codeforces 888 简要题解

    文章目录 A题 B题 C题 D题 E题 F题 G题 传送门 A题 传送门 题意简述:给一个数列,问有多少个峰值点(同时比两边都大/小的点) 思路:按照题意模拟. 代码: #include<bit ...

  10. excle记录

    比较两列不一样的数据 https://jingyan.baidu.com/article/fd8044fa23eef05030137a66.html