【移动App自动化测试4】---1基于Android系统的自动化基础

1.Android系统发展历程介绍

 

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导(2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟)及开发。

Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。

第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。

2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。

随后2014国内也迎来的移动互联网的高潮,特别是O2O“千团大战”,打车出行软件补贴大战等等。

 

发行版本

Android在正式发行之前,最开始拥有两个内部测试版本,并且以著名的机器人名称来对其进行命名,它们分别是:阿童木(AndroidBeta),发条机器人(Android 1.0)。后来由于涉及到版权问题,谷歌将其命名规则变更为用甜点作为它们系统版本的代号的命名方法。甜点命名法开始于Android 1.5发布的时候,然后按照26个字母数序。

Android 1.1 2008年9月发布的Android第一版。

Android 1.5 Cupcake(纸杯蛋糕):2009年4月30日发布。

Android 1.6 Donut(甜甜圈):2009年9月15日发布。

Android 2.0 2009年10月26日发布。

Android 2.2/2.2.1 Froyo(冻酸奶)2010年5月20日发布。

Android 2.3.x Gingerbread(姜饼) :2010年12月7日发布。

Android 3.0 Honeycomb(蜂巢):2011年2月2日发布。

Android 4.0 Ice Cream Sandwich(冰激凌三明治):2011年10月19日在香港发布。

Android 4.1 Jelly Bean(果冻豆):2012年6月28日

Android 4.2 Jelly Bean(果冻豆):2012年10月30日

Android 4.2 Jelly Bean 原生系统用户界面 Android 4.2Jelly Bean(果冻豆):2012年10月30日 Android 4.2沿用“果冻豆”这一名称,以反映这种最新操作系统与Android 4.1的相似性。

 

Andriod 4.4 KitKat(奇巧巧克力)

Android 4.4KitKat(奇巧巧克力): 2013年下半年 2013年9月4日凌晨,谷歌对外公布了Android新版本Android 4.4KitKat(奇巧巧克力),并且于2013年11月01日正式发布,新的4.4系统更加整合了自家服务,力求防止安卓系统继续碎片化、分散化。

Android 5.0 Lollipop(棒棒糖):2014年11月3日

Android 5.0 系统使用一种新的Material Design设计风格。从图片上就能看到一些全新的设计。

Android 6.0 Marshmallow(棉花糖):2015年5月28日

新系统的整体设计风格依然保持扁平化的MeterialDesign风格。Android6.0在对软件体验与运行性能上进行了大幅度的优化。据测试,Android6.0可使设备续航时间提升30%。

Android 7.0 Nougat(牛轧糖):2016年8月22日[10]

Android 8.0 Oreo(奥利奥)

2017年8月22日,谷歌正式发布了Android 8.0的正式版,其正式名称为:Android Oreo(奥利奥)

Android 9.0 Pistachio Ice Cream(开心果冰淇淋)

2018年2月,Android 9.0的初步代号定为Pistachio Ice Cream,中文暂译为开心果冰淇淋,预计2018年5月9日发布。

 

常见定制Anrdiod系统

  • MIUI(小米)
  • flyme(魅族)
  • EMUI(华为)
  • Smartisan OS(锤子)

 

Android系统各版本市场占有率

 

腾讯移动分析:http://mta.qq.com/mta/data/device/os

百度统计:https://mtj.baidu.com/data/mobile/device/

 

2.APP类型

【移动App自动化测试4】---1基于Android系统的自动化基础_第1张图片

原生应用程序(Native App)

原生APP是什么?原生APP就是利用Android、iOS平台官方的开发语言、开发类库、工具进行开发。比如安卓的java语言,iOS的object-c 语言。在应用性能上和交互体验上应该是最好的。

优点:

1、可访问手机所有功能、可实现功能最齐全;

2、运行速度快、性能高,绝佳的用户体验;

3、支持大量图形和动画。不卡,反应快。

 4、比较快捷地使用设备端提供的接口,处理速度上有优势。

缺点:

1. 在过去主要是成本高、周期长,Android和iOS都需要单独开发。

2.更新版本需要重新下载安装包。

混合应用程序(Hybrid App)

即利用了原生APP的开发技术还应用了HTML5开发技术,是原生和HTML5技术的混合应用。混合比例不限。

优点:

1、开发周期短;

2、功能更新发布快;

缺点:

1、用户体验不如本地应用;

2、性能稍慢(需要连接网络);

 

Web版APP (Web App)

本质就是浏览器功能的叠加,用普通Web开发语言开发的,通过浏览器运行。

优势:

1、支持范围广;

2、开发成本低、周期短。

缺点:

1、对联网要求高,离线不能做任何操作;

2、功能有限;

3、运行速度慢,页面不能承载太多东西;

4、图片和动画支持性不高;

5、如果用户使用更多的新型浏览器,那么就会出现运行问题。

 

应用app与手游App

手机App一般使用Android SDK开发,使用Java编写。通过Android提供的服务,我们可以获取App当前窗口的视图信息,进而查找和操作按钮等控件,以完成自动化测试,如Uiautomator。这个过程是标准化的,从技术上来说没有任何难度,因此各个公司各个App自动化测试的方法都大同小异。

手游一般使用引擎开发,现在著名的有cocos2d和unity3d。两者都是使用引擎自带的语言进行开发,主流的分别是c++和c#,虽然在开发过程中也有按钮等控件的概念,但当运行时由引擎渲染后就变成了一副简单的图片。

 

你可能感兴趣的:(移动App自动化)