16-1 app结构讲解
1)apk包结构
2)app页面结构
原生app:android用的java,iOS用的ObjectC
混合型:既包含原生开发,又包含h5开发的页面
Web App:完全有h5,js 开发
Activity:android四大主键之一,用来展示和用户交互的界面,可以存放view对象的容器,是界面的载体
Window:顶级窗口,主窗口,提供用户界面
View:一个个视图对象(一个按钮,一个文本框)
ViewGroup:包含多个view对象的视图组
3)app元素属性
【定位元素】
index:元素索引——代表它在组里排第几,从0开始
text:显示的文本
resource- id:元素的ID
class:类名
package:包名
content- desc:对元素的描述文案
【元素的其他属性】
checkable:能不能选择
checked:是否已经选择
clickable:能不能点击
enabled:元素是否可用
focusable:能不能滚动
password:是不是密码框
bounds:元素的位置坐标
16-2 adb常用命令
1)环境搭建
2)adb简介
- c:运行在电脑上,在命令行中运行adb命令,本质就是shell发命令给服务端
- s:运行在电脑上,管理客户端和守护进程
= 守护进程:运行在android设备后台,连接到server并为client提供服务
adb包含在android SDK软件包中
服务端扫描设备5554-5585并进行连接
原生app扫描5555-5585,因此仅可提供16台设备连接
3)adb常用命令
1.adb命令格式
[] 为可选参数 <>为必填参数
- -d真机
- -e模拟器
- -s通过序列号指定真机或模拟器
eg:
adb -s emulator-5554 install /Users/mac/Desktop/xueqiu.apk
2.查询设备
mac不需要连接服务器
adb devices
连接设备有问题时,可将adb服务杀掉重连:
adb kill-server
3.安装卸载应用
普通安装:原来手机无该应用
覆盖安装:原来手机有该应用<将apk包拖到命令行中即可显示路径>
eg:
adb -s emulator-5554 install -r /Users/mac/Desktop/xueqiu.apk
4.设备与电脑传输文件
5.adb shell命令(进入退出设备)
6.设备截图/录屏
7.调用Activity管理器
8.调用软件包管理器(查询包名)
9.获取系统服务信息(adb shell dumpsys)
获取系统级服务信息
adb shell dumpsys打印设备中所有服务信息
grep mFocusedActivity过滤当前页面包名activity名
windows:grep换成findstr
10.打印log信息
11.dump UI布局信息
默认保存在sdcard路径下
16-3 app常见bug解析
1)功能类bug
1、内容显示错误
可能出错原因:
- 1)前段代码错误
- 2)接口返回值错误
2、功能错误
- 一般为后端服务导致错误
3、界面展示错乱
- 一般为前段代码问题,问题多出现在兼容类测试测出
4、界面展示后台信息
- 一般为后端服务错误,且前端未过滤信息直接展示
5、推送信息错误
- 一般为后端服务错误
2)崩溃bug
1、Crash
- 降低崩溃率为app测试的一项重要指标