APP三种类型与区别:
app有购物的打车的有外卖的。。。。。
原生应用程序: 例如本机的设置和联系人电话之类的就属于原生应用程序
原生APP就是利用Android、ios平台官方的开发语言、开发类库、工具进行开发。比如安卓的java语言,ios的object-c语言,在应用性能上和交互体验上应该是最好的
优点:
1. 可访问手机所有功能,可实现功能最齐全
2.运行速度快、性能高,绝佳的用户体验
3. 支持大量图形和动画,不卡,反应快。
4.比较快捷地使用设备端提供的接口,处理速度上有优势
缺点:
1.在过去主要是成本高
2.更新版本需要重新下载安装包(必须安装最新的包才能用最新的功能)
混合应用程序:
即利用了原生APP的开发技术还应用了HTML5开发技术,是原生和HTML5技术的混合应用,混合比例不限。
优点:
1.开发周期短
2.功能更新发布快
缺点:
1.用户体验不如本地应用
2.性能稍慢需要连接网络
web版APP:
本质就是浏览器功能的叠加,用普通web开发语言开发的,通过浏览器运行。
优点:
1. 支持范围广
2.开发成本低,周期短
缺点:
1.对联网要求高,离线不能做任何操作
2.功能有限;
3.运行速度慢,页面不能承载太多东西
4.图片和动画支持性不高
5.如果用户使用更多的新型浏览器,那么就会出现运行
SDK软件开发工具包,被软件开发工程师用于为特定的软件包。软件框架、硬件平台、操作系统等简历应用软件的开发工具的集合。SDK是开发工具集合
第一步:
下载SDK
第二步:
安装SDK环境
Tools中的Android SDK Tools 和Android SDK Platform-tools以及Android SDK Build-tools
和最新版本的Android
以及Extras文件夹中下载Google USB Driver和Google Web Driver
第三步:
在系统的环境变量中配置android_SDK和下面build-tools以及platform-tools三个文件夹环境
UIAutomator :
UI Automator是一个UI测试框架,适用于跨系统和已安装应用程序的跨应用程序功能性UI测试。
我们一般是用UIautomatorviewer这个图形界面工具来扫描和分析应用的UI软件,存放在tools目录
一般自带一个AVD Manager.exe这个是安卓手机虚拟器不过一般不用,因为卡,启动慢,SDK Manager.exe是一个环境的安装快捷程序
VT:
开启VT能扩大硬件的容量,简化软件的重新配置过程,CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统。
如果没有开启VT想开启的话:
开机的时候进入BLOS,选择Configuration选项,选择Intel Vietual Technology并回车
adb:
adb是一个通用命令行工具,其允许您与Android设备进行通信,它可为各种设备操作提供便利,如安装和调试应用
adb的工作原理:
启用一个adb客户端时,此客户端首先检查是否已运行adb服务器进程,如果没有,它将启动服务器进程,当启动时它与本地TCP端口5037绑定,并侦听从adb客户端发送的命令-所有adb客户端均使用端口5037与adb服务器通信
启动adb调试:
要在通过USB连接的设备上使用adb,您必须在设备系统中启动use调试
adb常用命令:
adb version 查看adb版本
adb connect 127.0.0.1:62001 连接夜神模拟器
adb devices 查看设备信息
adb shell 进入交互界面 如果多台电脑的话指定需要 adb -s 127.0.0.1:62001 shell 进入adb shel有两种状态显示:#代表有root权限,$代表没有root权限l
exit 退出交互界面
在设备安装apk:
adb install -r (文件名) 覆盖原文件
adb install (文件名 ) 默认安装
adb uninstall | -k (软件名 ) 连接设备然后卸载软件保留数据
adb uninstall (软件名) 卸载软件
adb shell pm list package(软件包名 ) 查看设备上面安装的应用包名
adb push (本地的文件路径) 从本地pc推送到Android
adb pull Android(软件名) (pc路径)
adb shell screencap /sdcard/软件名 屏幕截图
adb kill-server 关闭adb服务
adb start-server 开启adb服务
netstat -ano | findstr 'pid' 端口号为''释放端口
package包 ,只是我们的app中这个Package是唯一的,就像你身份证号码一样, 在我们做app自动化时,我们就需要知道他的Package,
我们知道了Package那么也就知道我们需要对哪个app做自动化。
Activity :
Amdroid中,activity是所有程序的根本,所有程序的流程都运行在activity之中,activity一般代表手机屏幕的一屏,如果把手机当做一个浏览器,那么activity就相当于一个网页。在activity当中可以添加一些Button,Checkbox等控件,可以看到activity概念相当类似。
Monkey:
Monkey程序模拟用户触摸屏幕、滑动Trackball、 按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常。
在Android的官方自动化测试领域有一只非常著名的‘猴子'叫Monkey,这只'猴子'
一旦启动,就会被测的Android应用程序像猴子一样活蹦乱跳,到处乱跑,人们常用这只'猴子'来对被程序进行压力测试,检查和评估被测程序的稳定性。
Monkey程序是Android系统自带的,其启动脚本是位于Android系统的/system/bin目录的Monkey.jar文件,用户主要是通过adb命令来启动Monkey的,Monkey在运行时,会根据命令行参数的配置,生成伪随机的时间流,并在Android设备上执行对应的测试事件,同时,Monkey还会对测试系统进行检测。
monkey事件分为:
1.触摸事件
按下并抬起的操作
2.手势事件
解锁手机屏幕
3.二指缩放事件
地图放大或者缩小
4.轨迹事件
5.屏幕旋转事件
6.基本导航事件
7.主要导航事件
8.系统按键事件
9.启动Activity事件
10.键盘事件
11.其他类型事件
Monkey参数:
参数分类
常规类参数
级别越高,日志的信息越详细
帮助类参数:monkey -h
日志级别
adb shell monkey -v (event-count)
-v打印出日志信息,每个-v将增加反馈信息的级别,-v越多日志信息越详细,不过目前最多支持3个-v
一般0级或者1级就够用
事件类参数
执行指定脚本:adb shell mokey -f (本地) (手机端)