IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 自学移动端(APP)自动化测试 -> 正文阅读

[移动开发]自学移动端(APP)自动化测试

? ? ? ? 当你还在学习的时候,请继续努力,因为只有努力才会有收获,躺平是没有任何好结果的,唯一的结果就是越来越拉,加油,我们一起努力学习。

? ? ? ? 这次总结的是(二)移动端(APP)自动化测试-Android应用测试


CSDN话题挑战赛第2期

参赛话题:学习笔记


目? ? 录

????????一、Android操作系统简介

????????1、Android操作系统诞生

????????2、Android操作系统发展历程

????????3、国内Android发行版

????????4、Android系统结构

????????(1)Linux内核

????????(2)系统运行库层(函数库)

????????(3)应用程序框架层

????????(4)应用程序层

????????5、Android运行虚拟机

????????二、Android测试常用术语

????????1、系统碎片化

????????2、屏幕尺寸

????????3、分辨率

????????4、像素

????????5、网络制式

?????????三、Android应用的构成

????????1、活动(Activity)

????????2、服务(Service)

????????3、广播接收器(Broadcast Receiver)

????????4、内容提供者(Content Provider)

????????四、Android测试环境搭建

????????1、真机环境测试(adt-bundle)

????????2、第三方模拟器测试

????????3、Android自带的模拟器测试

????????4、Android开发环境测试

????????五、ADB简介及常用命令

????????1、ADB简介

????????2、ADB常用命令


????????一、Android操作系统简介

????????1、Android操作系统诞生

????????2003年10月,安迪·鲁宾等人创建Android公司,并组建Android团队。

????????2005年8月17日,Google低调收购了成立仅22个月的高科技企业Android及其团队。安迪·鲁宾成为Google公司工程部副总裁,继续负责Android项目。

????????2007年11月5日,谷歌公司正式向外界展示了这款名为Android的操作系统,并且在这天谷歌宣布建立一个全球性的联盟组织,该组织由34家手机制造商、软件开发商、电信运营商以及芯片制造商共同组成,并与84家硬件制造商、软件开发商及电信营运商组成开放手持设备联盟(Open Handset Alliance)来共同研发改良Android系统,这一联盟将支持谷歌发布的手机操作系统以及应用软件,Google以Apache免费开源许可证的授权方式,发布了Android的源代码 [2-3] ?。

????????2008年,在GoogleI/O大会上,谷歌提出了AndroidHAL架构图,在同年8月18号,Android获得了美国联邦通信委员会(FCC)的批准,在2008年9月,谷歌正式发布了Android 1.0系统,这也是Android系统最早的版本。

????????2、Android操作系统发展历程

????????阿童木(AndroidBeta)

????????发条机器人(Android 1.0)

????????纸杯蛋糕(Android 1.5)

????????甜甜圈(Android 1.6)

????????松饼(Android 2.0/2.1)

????????冻酸奶(Android 2.2)

????????姜饼(Android 2.3)

????????蜂巢(Android 3.0)

????????冰激凌三明治(Android 4.0)

????????果冻豆(Jelly Bean,Android4.1和Android 4.2)

????????奇巧(KitKat,Android 4.4)

????????棒棒糖(Lollipop,Android 5.0)

????????棉花糖(Marshmallow,Android 6.0)

????????牛轧糖(Nougat,Android 7.0)

????????奥利奥(Oreo,Android 8.0)

????????派(Pie,Android 9.0)

????????3、国内Android发行版

????????MIUI、smartisan、Flyme、EMUI

????????4、Android系统结构

????????(1)Linux内核

????????基于Linux2.6内核(进程管理、内存管理、设备驱动、文件系统、网络协议),为Android设备各种硬件提供了底层驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、WIFI驱动、电源管理

????????(2)系统运行库层(函数库)

????????程序库:C/C++库(底层为运行提供服务)

????????Android运行库:核心库(提供Java编程语言核心库的大多数功能)

????????(3)应用程序框架层

????????提供构建应用程序可能用的各种API

????????活动管理者(Activity Manager):控制应用程序生命周期和活动栈的所有方面。

????????内容提供器(Content Providers):允许程序之间发布和分享数据。

????????资源管理器(Resource Manager):提供对非代码嵌入资源的访问,如字符串、颜色设置和用户界面布局。

????????通知管理器(Notification Manager):允许应用程序显示对话框或者通知给用户。

????????视图系统(View System):一个可扩展的视图集合,用于创建应用程序用户界面。

????????(4)应用程序层

????????顶层中有所有的Android应用程序,包括通讯录、浏览器等,所有的应用程序都是使用Java语言编写的。

????????5、Android运行虚拟机

虚拟机类型

DVM(Dalvik VM)

JVM(Java VM)

首要差别

基于寄存器、编译和运行更快

基于栈,编译和运行慢

字节码区别

执行.dex格式字节码(.class文件的再编译、小)

执行.class格式字节码

运行环境区别

一个应用启动都运行一个单独的虚拟机,运行在一个单独的进程中

只能运行一个实例(所有应用运行在同一个JVM)

?


????????二、Android测试常用术语

????????1、系统碎片化

????????安卓平台差异化

????????2、屏幕尺寸

????????屏幕对角线的长度(英寸:1英寸=2.54厘米)

????????3、分辨率

????????屏幕分辨率,屏幕图像的精密度

????????4、像素

????????px(pixels)像素

????????dip/dp(device independent pixels)设备独立像素

????????sp(scaled pixels - best for text size)比例像素

????????5、网络制式

????????GSM、CDMA、3G、4G、5G


?????????三、Android应用的构成

????????1、活动(Activity)

????????(1)与用户交互的界面

????????(2)生命周期:产生、运行、销毁

????????调用方法:onCreate(创建)、onStart(激活)、onResume(恢复)、onPause(暂停)、onStop(停止)、onDestroy(销毁)、onRestart(重启)

????????2、服务(Service)

????????(1)无界面,启动后在后台运行,直到手机关机为止,但是可以点击停止或强制。

????????(2)承担大部分的数据处理工作。

????????3、广播接收器(Broadcast Receiver)

????????(1)用于接收系统或者APP发送的广播事件。

????????(2)广播:发送消息和接收消息。

????????(3)原理

????????广播接收者通过Binder机制在AMS注册;

????????广播发送者通过Binder机制向AMS发送广播;

????????AMS根据广播发送者要求,在已注册列表中,寻找合适的广播接收者;

????????AMS将广播发送到合适的广播接收者相应的消息循环队列中;

????????广播接收者通过消息循环拿到此广播,并回调onReceive()

????????(4)特别注意

????????广播发送者和广播接收者的执行是异步的,即广播发送者不会关心有无接收者接收&也不确定接收者何时才能接收到。

????????4、内容提供者(Content Provider)

????????(1)类似于“数据库”,用于存取数据,使一个程序的指定数据集提供给其他应用程序。

????????(2)只是中间者角色(搬运工),真正存储&操作数据的数据源仍是数据库、文件、xml或网络。


????????四、Android测试环境搭建

????????1、真机环境测试(adt-bundle)

????????(1)Android手机用USB数据线连接到PC的USB口上。

????????(2)打开手机的开发者模式(默认未打开),设置->关于手机->版本号->连续点击五次以上会提示已经打开开发者模式。

????????(3)设置->系统和更新->开发人员选项->打开USB调试,点击确认;打开“仅充电”模式下允许ADB调试,点击确认。

????????(4)屏幕左边下拉通知栏,点击USB连接通知,选择传输文件MTP。

????????(5)打开cmd,输入adb devices,若显示设备序列号,则连接成功。

????????2、第三方模拟器测试

????????(1)夜神、腾讯手游、iTools、海马、逍遥

????????(2)功能测试可在模拟器测试

?

????????3、Android自带的模拟器测试

????????(1)需要搭建Android开发环境

????????4、Android开发环境测试

????????(1)安装和配置JDK环境

????????(2)ADT工具包解压缩

????????(3)配置Android环境

????????配置变量:ANDROID_SDK_HOME

????????用户名:ANDROID_SDK_HOME

????????变量值:C:\java_android\adt-bundle-windows-x86_64_20140101\sdk

????????path:;%ANDROID_SDK_HOME%\platform-tools;%ANDROID_SDK_HOME%\tools;


????????五、ADB简介及常用命令

????????1、ADB简介

????????(1)ADB-Android Debug Brige,起到调试桥作用,让用户在电脑上对手机进行全面的操作。

????????(2)APK-Android Package,Android安装包,类似于SymbianSis或Sisx文件格式。

????????2、ADB常用命令

????????(1)adb devices??# 列出所有的设备(真机、模拟器)

? ? ? ? 自动检测服务是否启动,若未启动,则会先启动服务

????????如果是设备是模拟器的话,需要重新开启一下网络,才能检测到

????????如果显示* daemon not running; starting now at tcp:5037无法启动,则运行netstat -ano | findstr "5037"查看占用端口的进程,然后开启资源管理器将对应PID的进程结束,再重新运行

????????(2)adb start-server ?# 开启adb服务(可在任务管理器的详细信息中查看)

????????若环境变量已配置,无需手动启动服务。

????????(3)adb kill-server ?# 关闭adb服务

????????(4)adb logcat??# 查看log日志信息

????????V-Verbose (default for <tag>) ?# 详细(最低优先级)

????????D-Debug (default for '*') ?# 调试

????????I-Info ?# 信息

????????W-Warn ?# 警告

????????E-Error ?# 错误

????????F-Fatal ?# 严重错误

????????S-Silent (suppress all output) ?# 静默(最高优先级,绝不会输出任何内容)

????????adb logcat -c??# 清空日志缓存信息,重新开始输出日志信息

????????adb logcat -d ?# 打印缓存日志,不会进行阻塞

????????adb logcat -t n ?# 打印最近的n行日志,并且不会阻塞

????????adb logcat -v?[format]??# 指定日志打印格式

brief(优先级/标签( PID):?日志信息)

color(按颜色区分优先级)(日期 时间 ?PID ?TID 优先级 标签: 日志信息)

epoch(以秒为单位的1970/1/1以来的纪元时间)(时间 ?PID ?TID 优先级 标签: 日志信息)

long([ 日期 时间 ?PID: TID 优先级/标签 ]\n 日志信息)

monotonic(以CPU秒为单位的自上次启动以来的时间)(时间 ?PID ?TID 优先级 标签: 日志信息)

printable(所有二进制日志记录内容都进行了转义)(日期 时间 ?PID ?TID 优先级 标签: 日志信息)

process(优先级( PID) 日志信息 ?(标签))

raw(日志信息)

tag(优先级/标签: 日志信息)

thread(优先级( PID: TID) 日志信息)

threadtime(默认)(日期 时间 ?PID ?TID 优先级 标签: 日志信息)

time(日期 时间 优先级/标签( PID): 日志信息)

uid(如果访问控制允许,显示UID或进程的Android ID)(日期 时间 ?UID ?PID ?TID 优先级 标签: 日志信息)

usec(显示精确到微秒的时间)(日期 时间 ?PID ?TID 优先级 标签: 日志信息)

UTC(显示UTC 时间)(日期 时间 UTC ?PID ?TID 优先级 标签: 日志信息)

year(将年份添加到日期前)(年份-日期 时间 UTC ?PID ?TID 优先级 标签: 日志信息)

zone(本地时区添加到显示的时间)(日期 时间 本地时区 ?PID ?TID 优先级 标签: 日志信息)

????????adb logcat *:E??# 打印级别为Error的日志信息

????????adb logcat | grep "包名"?# Linux抓取指定APP的日志

????????adb logcat | find "包名"?# Windows抓取指定APP的日志

????????adb logcat -v time | find 包名?>.\\logcat.log??# 将带时间格式日志中有关某APP的内容输出到当前路径下的log文件中

????????(5)adb [-s 设备] shell ?# 进入(指定)手机终端(可直接输入命令),相当于Linux系统

????????adb shell ls??# 查看显示手机当前目录的所有内容

????????adb shell top??# 查看当前手机实时进程

????????adb shell dumpsys [-t TIMEOUT] [--help | -l | --skip SERVICES | SERVICE [ARGS]]??# 查看系统服务

????????adb shell pm list packages??# 查看设备已经安装的APP包名

????????adb shell am monitor??# 运行后随机启动某个应用,可以获取该应用包名

????????(7)adb install <应用程序(加扩展名)> ?# 安装应用程序

????????(8)adb uninstall "包名" ?# 卸载应用程序

????????(9)adb push <local> <remote> ?# 将本地文件推送到远程设备上(真机设备或模拟器)

????????(10)adb pull <remote> <local> ?# 将远程设备上的文件拉取到本地(PC端)


? ? ? ? ?愿你我都能为中华民族的伟大复兴尽一份绵薄力量,让中华文化的根扎根在中国这片绿水青山之上,让新一代中华儿女传承与发扬!!!

---无名之辈


以上内容均是本人自学,当然是有网上公布的内容,如有冒犯,请留言,立即改正,谢谢!


? ? ? ? 看完要是觉得对自己有用,动一下您那根金色的会一指禅的右手食指,按一下您的鼠标左键,在对应的那个位置点个赞,亦或者在评论区留下您的绝顶好句,亦或者收藏在您的收藏夹里,再走也不迟嘛!您说要不要得!谢谢您的阅读和赞赏!

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-10-17 12:46:08  更:2022-10-17 12:48:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 0:17:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码