当前位置: 首页 > news >正文

移动端测试

手机端常规测试

对于手机端测试,按照平台来分,分为 Android IOS 两大主流系统

iosAndroid的区别

1 、两者运行机制不同: IOS 采用的是沙盒运行机制,安卓采用的是虚拟机运行机制。
2 、两者后台制度不同: IOS 中任何第三方程序都不能在后台运行;安卓中任何程序都能在后台运行,直到没有内存才会关闭。
3 IOS 中用于 UI 指令权限最高,安卓中数据处理指令权限最高。
4、Android 开源,导致碎片化比较严重

软件测试考虑因素

功能测试
安装与卸载测试
软件升级测试
登录测试
安全性测试 —— 权限测试
消息推送测试
前后台切换测试
UI 测试(界面测试)
兼容性测试
网络环境测试
性能测试
mokey 测试

 编写测试点时一般考虑:功能、性能、易用、安全、UI、兼容分析、弱网

Android

Android架构

Android 的系统架构和其操作系统一样,采用了分层的架构。
从架构图看, Android 分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层

 Android之四大组件

Android四大组件分别为activityservicecontentproviderbroadcastreceiver

ADB命令

ADB 全称 Android Debug Bridge, android sdk 里的一个工具 , 用这个工具可以直接操作管android 模拟器或者真实的 andriod 设备
它的主要功能有 :
* 运行设备的 shell( 命令行 )
* 管理模拟器或设备的端口映射
* 计算机和设备之间上传 / 下载文件
* 将本地 apk 软件安装至模拟器或 android

配置ADB环境变量

在系统变量中新建ANDROID_HOME变量,赋值路径

 在系统变量path中添加%ANDROID_HOME%\platform-tools

 验证adb配置是否成功

        在dos命令中输入命令 adb

 ADB常用指令

查看移动端设备        adb devices

Offline( 不能调试仅是连接,原因很可能是 adb 与安卓系统不匹配 )
unauthorized( 连接后不能调试,原因是没有在手机上同意调试 )
device( 正常状态可调试 )

开启服务        adb start-server

关闭服务         adb kill-server

安装软件    adb install apk 路径   

 覆盖安装         adb install -r apk路径(-r 代表如果apk已安装,重新安装apk并保留数据和缓存文件)

查看 ( 系统)包名        系统应用 :adb shell pm list packages –s
                                第三方应用:adb shell pm list packages -3

                                查看(全部)包名 adb shell pm list packages

卸载软件         adb uninstall 软件包名

 将电脑文件传输到移动端        adb push 电脑路径 移动端路径

 

 将移动端文件传输到电脑         adb pull 移动端路径 电脑路径

 截屏         adb shell screencap -p 截图文件路径

 查看手机CPU情况            adb shell dumpsys cpuinfo      

 查看应用内存使用情况         adb shell dumpsys meminfo +包名:应用的内存使用情况

 显示磁盘使用信息         adb shell dumpsys diskstats

 查看电池状态        adb shell dumpsys battery

 查看手机日志        adb logcat

adb logcat 命令格式 : adb logcat [ 选项 ] [ 过滤项 ], 其中 选项 和 过滤项 在 中括号 [] ,
说明这是可选的 ;
">" 输出 : ">" 后面跟着要输出的日志文件 , 可以将 logcat 日志输出到文件中 , 使用 adb logcat >
log 命令( adb logcat >E:\1.txt
 > 覆盖         >> 追加

 

指定 logcat 的日志输出格式 : -- "-v" 选项 : 使用 adb logcat -v time 命令 , 可以啥看日志的输
出时间 ;
将手机日志输出到本地文件中:adb logcat -v time > E:\1.txt

 

Android 的日志分为如下几个级别:
V —— Verbose (最低,输出得最多)
D —— Debug
I —— Info
W —— Warning
E —— Error
F —— Fatal
S —— Silent (最高)
过滤指定等级日志:按某级别过滤日志则会将该级别及以上的日志输出。
比如,命令: adb logcat *:W Warning Error Fatal Silent 日志输出
显示所有优先级大于等于 “warning” 的日志

 WarningErrorFatal Silent 日志输出 输出时有时间

输出最近的日志:adb logcat -t 5         输出最近 5 行的数据
总结:

1.验证adb配置是否成功 :adb 
2.查看设备: adb devices 
3.开启服务: adb start-server 
4.关闭服务: adb kill-server 
5.安装软件:adb install apk路径 
6.覆盖安装:adb install -r (APK路径) \# -r 代表如果apk已安装,重新安装apk并保留数据和缓存文件 
7.查看系统应用中安装的包 :adb shell pm list packages –s \#注意:-s安装在SD卡内,而不是设备内部存储 
8.查看第三方应用安装的包: adb shell pm list packages -3 
9.查看APP中所有安装的包: adb shell pm list packages 
10.卸载软件: adb uninstall 包名 
11.将电脑文件传输到移动端: adb push 电脑路径 移动端路径 
12.将移动端文件传输到电脑: adb pull 移动端路径 电脑路径 
13.查看adb命令帮助信息: adb help 
14.截屏: adb shell screencap -p 截图文件路径 
15.查看手机CPU情况: adb shell dumpsys cpuinfo 
16.查看应用内存使用情况: adb shell dumpsys meminfo +包名 
17.显示磁盘使用信息: adb shell dumpsys diskstats 
18.清除应用缓存信息: adb shell pm clear [packagename] 
19.查看电池状态: adb shell dumpsys battery 
20.查看电池信息: adb shell dumpsys batteryproperties 
21.查看所有日志: adb logcat 
22.导出日志: adb logcat > 文件路径 
23.查看日志输出时间并导出: adb logcat -v time > 文件路径 
24.过滤指定等级日志: adb logcat *:日志级别 
25.输出最近5行的数据: adb logcat -t 5

相关文章:

  • Cmake、Qt与VS编译VTK(生成QVTK)
  • Java——JDBC(Java DataBase Connectivity)数据库连接技术
  • Express
  • java学习之springcloud之服务调用+服务降级+服务网关篇
  • 常见的设计模式
  • 【我不熟悉的javascript】02. 使用token和refreshToken的管理用户登录状态
  • 备战秋招涵盖二十九大技术栈Java面试最新八股文来袭
  • tensorflow张量运算
  • 论文阅读笔记StyTr2: Image Style Transfer with Transformers
  • mybatis面试题及回答
  • 奔腾电力面试题
  • 【leetcode】905. 按奇偶排序数组 (简单)
  • Java--MybatisPlus入门;与Mybatis区别;简单使用(一)
  • #ubuntu# #git# repository git config --global --add safe.directory
  • 【数据结构】——二叉树oj题详解
  • AHK 中 = 和 == 等比较运算符的用法
  • C++类的相互关联
  • Cumulo 的 ClojureScript 模块已经成型
  • JavaScript类型识别
  • Joomla 2.x, 3.x useful code cheatsheet
  • nfs客户端进程变D,延伸linux的lock
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • Spring框架之我见(三)——IOC、AOP
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 从零开始在ubuntu上搭建node开发环境
  • 构建二叉树进行数值数组的去重及优化
  • 规范化安全开发 KOA 手脚架
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 设计模式(12)迭代器模式(讲解+应用)
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • ​2021半年盘点,不想你错过的重磅新书
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • $L^p$ 调和函数恒为零
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (175)FPGA门控时钟技术
  • (31)对象的克隆
  • (C#)一个最简单的链表类
  • (定时器/计数器)中断系统(详解与使用)
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (离散数学)逻辑连接词
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (转)大型网站架构演变和知识体系
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • ..回顾17,展望18
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .net 调用php,php 调用.net com组件 --
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .NET运行机制