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. Java Socket 的工作机制

    转载,请加上原文链接: 目录 socket 对象的创建时间 socket 通信可能会造成死锁 socket 对象的创建时间 这里需要一点TCP的知识, TCP状态分析请看 --> TCP转态转换 ...

  2. 【学习笔记】RMQ-Range Minimum/Maximum Query (区间最小/最大值)

    RMQ是一类询问区间最小/最大值的问题. 这类问题一般分成两类:静态区间(无修改),动态区间(带修改). 对于动态区间查询最大/最小,我们显然可以用线段树来解决…… 那么对于静态区间查询最大/最小的问 ...

  3. TiDB部分

    TiDB部分 https://blog.csdn.net/D_Guco/article/details/80641236 https://www.v2ex.com/t/508094 https://u ...

  4. 轻松搭建CAS 5.x系列(5)-增加密码找回和密码修改功能

    概述说明 CAS内置了密码找回和密码修改的功能: 密码找回功能是,系统会吧密码重置的连接通过邮件或短信方式发送给用户,用户点击链接后就可以重置密码,cas还支持预留密码重置的问题,只有回答对了,才可以 ...

  5. (五)web服务中的异常处理

    一.服务端发布服务 package com.webservice; import javax.jws.WebParam; import javax.jws.WebResult; import java ...

  6. jvm类加载原理和类加载器介绍

    虚拟机的类加载机制 在Class文件中描述的各种信息最终都需要加载到虚拟机中之后才能运行和使用.   虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被 ...

  7. 基于Docker的Kafka部署

    一 准备 1.1 安装docker-dompose #部署 sudo curl -L "https://github.com/docker/compose/releases/download ...

  8. C#一些面试知识题

    1.简述 private. protected. public.internal 修饰符的访问权限答:private:私有成员, 在类的内部才可以访问(只能从其声明上下文中进行访问). protect ...

  9. Quartz任务调度:MisFire策略和源码分析

    Quartz是为大家熟知的任务调度框架,先看看官网的介绍: ---------------------------------------------------------------------- ...

  10. kong网关: service+route+upstream

    对于刚开始学习kong网关,总是一脑子浆糊迷迷糊糊.虽然已经安装好,但却不知道接下来如何下手, 因为包含项太多:service.routes.upstream.consumer.plugins等等.一 ...