Appium自动化测试教程-自学网-app基础知识
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基础知识的更多相关文章
- Appium自动化测试教程-自学网-adb命令
adb命令: adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信.它可为各种设备操作提供便利,如安装和调试应用. T ...
- Appium自动化测试教程-自学网-monkeyrunner简介
monkeyrunner简介 MonkeyRunner工具是使用Jython(使用Java编程语言实现的Python)写出来的,它提供了多个API,通过monkeyrunner API 可以写一个Py ...
- Appium自动化测试教程-自学网-SDK
SDK:软件开发工具包,被软件开发工程师用于特定的软件包.软件框架.硬件平台.操作系统等建立应用软件的开发工具的集合. 因此,Android SDK指的是Android专属的软件开发工具包. 1,安装 ...
- Appium自动化测试教程-自学网-monkeyrunner API
MonkeyRunner API MonkeyRunner工具主要有三个类: MonkeyRunner MonkeyDevice MonkeyImage 官方API文档 :http://www.and ...
- Appium自动化测试教程-自学网-monkey参数
monkey 参数 参数分类 · 常规类参数 · 事件类参数 · 约束类参数 · 调试类参数 常规类参数 常规类参数包括帮助参数和日志信息参数.帮助参数用于输出Monkey命令使用指导:日志信息参数将 ...
- Appium自动化测试教程-自学网-monkey事件
操作事件简介 Monkey所执行的随机事件流中包含11大事件,分别是触摸事件.手势事件.二指缩放事件.轨迹事件.屏幕旋转事件.基本导航事件.主要导航事件.系统按键事件.启动Activity事件.键盘事 ...
- Appium自动化测试教程-自学网-monkey简介
Monkey简介 在Android的官方自动化测试领域有一只非常著名的“猴子”叫Monkey,这只“猴子”一旦启动,就会让被测的Android应用程序像猴子一样活蹦乱跳,到处乱跑.人们常用这只“猴子” ...
- Appium自动化测试教程-自学网-Package与Activity
Package Package 包.只是在我们的app中这个Package是唯一的,就像你身份证号码一样.在我们做app自动化时,我们就需要知道他的Package,我们知道了Package那么也就知道 ...
- Appium自动化测试教程-自学网-monkey日志管理
日志管理作用 Monkey日志管理是Monkey测试中非常重要的一个环节,通过日志管理分析,可以获取当前测试对象在测试过程中是否会发生异常,以及发生的概率,同时还可以获取对应的错误信息,帮助开发定位和 ...
随机推荐
- Java基础---Java方法
基本方法的定义: public static void 方法名称() { 方法体 } 方法名称的命名规则和变量一样,使用小驼峰. 方法体:也就是大括号当中可以包含任意条语句. 注意事项: 1. 方法定 ...
- Java基础---Java变量
变量:程序运行期间,内容可以发生改变的量. 创建一个变量并且使用的格式: 数据类型 变量名称; // 创建了一个变量 变量名称 = 数据值; // 赋值,将右边的数 ...
- 【转】spring基础:@ResponseBody,PrintWriter用法
理解:很多情况我们需要在controller接收请求然后返回一些message. 1.在springmvc中当返回值是String时,如果不加@ResponseBody的话,返回的字符串就会找这个St ...
- laravel中间件的实现原理
中间件的实现原理 运用 array_reduce 以及 call_user_func 实现 interface Middleware { public static function handle(C ...
- Python--时间模块time模块
原地址:https://finthon.com/python-time/ Python时间模块——time模块 简介 在数据处理当中,经常会碰到处理时间的问题.比如:在序列预测的过程中,需要通过学习一 ...
- Spring (3)框架
Spring第三天笔记 今日内容 Spring的核心之一 - AOP思想 (1) 代理模式- 动态代理 ① JDK的动态代理 (Java官方) ② CGLIB 第三方代理 (2) AOP思想在Spr ...
- 原生js分页器插件
window.page = function page(ele, para) { this.ele = document.querySelector(ele); this.options = { co ...
- 14-MySQL DBA笔记-运维技巧和常见问题处理
第14章 运维技巧和常见问题处理 DBA的成长,离不开对各种问题的处理.本章将为读者介绍一些运维技巧和常见问题的处理方法.我们需要意识到,别人的经验代替不了自己的经验,所以,多实践.多处理问题,最终会 ...
- 基于语法树和概率的AI模型
语法树是句子结构的图形表示,它代表了句子的推导结果,有利于理解句子语法结构的层次.简单说,语法树就是按照某一规则进行推导时所形成的树. 有了语法树,我们就可以根据其规则自动生成语句,但是语法树本身是死 ...
- c# 实体类转XML
/// <summary> /// 将实体类转换成XML /// </summary> /// <typeparam name="T">< ...