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 (本地) (手机端)