Instrumentation的缺点是不支持跨应用,比如我想要先调起通讯录,在操作其他的app,则不支持。

第一步,应该确定系统哪些模块适合自动化、哪些不适合做自动化,明确做自动化给我们带来的好处是什么,不能为了自动化而自动化。

第二步,方案选择-选择框架。

第三步,环境准备。

第四部,系统设计,公共模块的封装,数据与代码的分离,日志管理等。

第五步,编码。

分层测试:底层单元测试,中层接口测试,顶层为UI测试,做自动化测试的收益比从大到小。

 App三种类型与区别:

原生应用程序(Native App):

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

优点:

1,可以访问手机上所有功能,实现的功能最齐全。

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

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

4,比较便捷的使用设备端提供的接口,处理速度上有优势。比如调用手机上的相机、通讯录都比较快。

缺点:

1,成本高、周期长,安卓和IOS都需要单独开发。

2,版本更新的时候需要重新下载安装包。

混合应用程序(Hybird App):

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

优先:

1,开发周期短。

2,功能更新发布快。

缺点:

1,用户体验不如本地应用。

2,性能稍慢(需要连接网络)。

Web版App(Web App)

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

优点:

1,支持范围广(只要有网、有浏览器就可以访问)

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

缺点:

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

2,功能限制。(比如网页版中查看我的订单不如app方便)

3,图片和动画支持性不高。

4,如果用户使用更多的新型浏览器,那么就会出现运行问题。(如布局)

Appium自动化测试教程-自学网-app基础知识的更多相关文章

  1. Appium自动化测试教程-自学网-adb命令

    adb命令: adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信.它可为各种设备操作提供便利,如安装和调试应用. T ...

  2. Appium自动化测试教程-自学网-monkeyrunner简介

    monkeyrunner简介 MonkeyRunner工具是使用Jython(使用Java编程语言实现的Python)写出来的,它提供了多个API,通过monkeyrunner API 可以写一个Py ...

  3. Appium自动化测试教程-自学网-SDK

    SDK:软件开发工具包,被软件开发工程师用于特定的软件包.软件框架.硬件平台.操作系统等建立应用软件的开发工具的集合. 因此,Android SDK指的是Android专属的软件开发工具包. 1,安装 ...

  4. Appium自动化测试教程-自学网-monkeyrunner API

    MonkeyRunner API MonkeyRunner工具主要有三个类: MonkeyRunner MonkeyDevice MonkeyImage 官方API文档 :http://www.and ...

  5. Appium自动化测试教程-自学网-monkey参数

    monkey 参数 参数分类 · 常规类参数 · 事件类参数 · 约束类参数 · 调试类参数 常规类参数 常规类参数包括帮助参数和日志信息参数.帮助参数用于输出Monkey命令使用指导:日志信息参数将 ...

  6. Appium自动化测试教程-自学网-monkey事件

    操作事件简介 Monkey所执行的随机事件流中包含11大事件,分别是触摸事件.手势事件.二指缩放事件.轨迹事件.屏幕旋转事件.基本导航事件.主要导航事件.系统按键事件.启动Activity事件.键盘事 ...

  7. Appium自动化测试教程-自学网-monkey简介

    Monkey简介 在Android的官方自动化测试领域有一只非常著名的“猴子”叫Monkey,这只“猴子”一旦启动,就会让被测的Android应用程序像猴子一样活蹦乱跳,到处乱跑.人们常用这只“猴子” ...

  8. Appium自动化测试教程-自学网-Package与Activity

    Package Package 包.只是在我们的app中这个Package是唯一的,就像你身份证号码一样.在我们做app自动化时,我们就需要知道他的Package,我们知道了Package那么也就知道 ...

  9. Appium自动化测试教程-自学网-monkey日志管理

    日志管理作用 Monkey日志管理是Monkey测试中非常重要的一个环节,通过日志管理分析,可以获取当前测试对象在测试过程中是否会发生异常,以及发生的概率,同时还可以获取对应的错误信息,帮助开发定位和 ...

随机推荐

  1. LayUI笔记

    LayUI  经典模块化前端框架,低门槛开箱即用的前端 UI 解决方案.   其他UI框架:     Bootstrap,Element, EasyUI,LayUI 等等 LayUI使用  Layui ...

  2. Excel关联匹配函数

    1.=VLOOKUP (lookup_value, table_array, col_index_num, [range_lookup]) ​ lookup_value 相当于python中的键,用来 ...

  3. 关于mq的思考

    解耦场景 spark 发告警,同过kafka来解耦 削峰场景 日志采集生产环境几百台,当后续数量持续增加时,如果不加消息队列或者内存队列,可能把数据库打死 一个中间件: 为什么用 ->解决什么问 ...

  4. 读取一整行,保留空白,直到遇到换行符:getline()

  5. 19-MySQL DBA笔记-操作系统、硬件、网络的优化

    第19章 操作系统.硬件.网络的优化 本章将介绍操作系统和硬件的性能优化,对于硬件,我们主要讲述CPU.内存.磁盘阵列及固态硬盘.任何优化,首先都需要有足够的数据支持,对于操作系统下性能数据的收集,这 ...

  6. MyEclipse j2ee工程 WEB-INF 目录内容显示

    公司项目,使用的ant打包技术,,,蛋疼刚开始以为每次改个java代码都要ant 构建编译一把3-4分钟,很没有效率,, 然后实际使用中发下,可以用 auto building 和tomcat 的re ...

  7. Genymotion上运行ARM架构Android项目

    问题 Genymotion是x86的模拟器,在集成一些第三方的SDK时需要添加一些放在armeabi.armeabi-64文件夹下面的.so文件,这些文件在arm架构下才能运行.这时模拟器就不能用了. ...

  8. fastclick插件中存在的bug

    1.在vue项目中安装fastclick插件 npm install --save fastclick 2.在main.js中引入并绑定到body import FastClick from 'fas ...

  9. jQuery组件封装之return this.each(function () {});

    记录一下自己的调试历程 组件封装经常看到这么一段代码 $.fn.plugin = function (options) { return this.each(function (i,t) { new ...

  10. js入门之函数

    一. 函数 函数可以封装一段特定功能的代码,然后通过函数名可以重复调用 1 .函数的定义 funcation 函数名 (){ 函数体 } 函数名() 调用函数 2. 函数的参数 funcation f ...