包名&类名

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. python实现bt种子 torrent转magnet

    Python实现bt转磁链  参考前人资料主要两种方式 1,利用python的bencode模块 2,安装libtorrent模块 尝试过两种方法特记录 环境:Windows系统  python 3 ...

  2. 【转】一个 Linux 上分析死锁的简单方法

    简介 死锁 (deallocks): 是指两个或两个以上的进程(线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这 ...

  3. laravel-更换语言包

    第一步:找语言包 找到比较靠谱的语言包(根据下载量与收藏量综合判断),而且要是laravel的 扩展的链接:https://packagist.org/packages/caouecs/laravel ...

  4. 手绘raft算法

    手绘raft算法 互联网技术窝 2019-04-07 12:06:05 在现实的分布式系统中,不能可能保证集群中的每一台机器都是100%可用可靠的,集群中的任何机器都可能发生宕机.网络连接等问题导致集 ...

  5. this()基础用法

    this()表示调用构造方法,此种调用只能用在构造方法中,即构造方法中调用构造方法this(实参). 1.this().this(实参)必须方法构造方法的第一行 2.在有参数构造方法中调用无参数构造方 ...

  6. 如何创建并初始化程序集里List类型的反射

    参考网址:http://stackoverflow.com/questions/315231/using-reflection-to-set-a-property-with-a-type-of-lis ...

  7. shell脚本学习-练习写一个脚本1

    # 1.依次展示/etc/passwd中的用户名和UID.格式如:Hello,$USER,your UID is $UID. # 2.统计一个有多少个用户 #!/bin/bash #Program D ...

  8. 在struts.xml中配置默认action遇到的问题

    初始代码: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC & ...

  9. JS格式化日期时间的方法

    //格式化时间的方法 function format(fmt, date) { var o = { "M+": date.getMonth() + 1, //月份 "d+ ...

  10. 前后台分离开发时遇到循环引用问题"$ref"

    1. 遇到的问题 { "errMsg": "", "data": { "baseinfo": { "freeT ...