【21-8-4笔记】安卓CTS测试的研究

一、自带的CTS示例测试用例中,部分方法的解释:

1)Context类中的getSharedPreferences(),Activity类中的getPreferences(),PreferenceManager类中的getDefaultSharePreferences()方法都是用来获取Android的SharedPreferences对象
参考:Android SharedPreferences对象的获取
2)System.setProperty()用法:
System.setProperty("Property2","def");
//这样就把第一个参数设置成为系统的全局变量!
可以在项目的任何一个地方通过System.getProperty("变量");来获得
参考:
Java中System.setProperty()
3)PackageManager().hasSystemFeature():模块判断函数,通过该函数判断系统是否有特定的模块功能。
参考:android-getPackageManager().hasSystemFeature(String string)的应用
android hasSystemFeature函数及系统特性配置
4)reinterpret_cast :强制类型转换运算符。
参考:C++强制类型转换运算符
5)StringBuilder:代表可变字符串对象。
参考:String、StringBuffer和StringBuilder的区别
6) ArgumentCaptor.forClass:模拟验证执行过程中对象的值。
参考:关于测试中使用ArgumentCaptor来验证执行过程中对象的值

二、构造简易安卓APP,方便于源码的梳理和cts用例的编写

1)模仿APP的文件结构,将主体代码放在main文件夹下,cts代码放在androidTest文件夹下;
2)同时加入整项目的settings.gradle,项目和APP的build.gradle
3)main文件夹下的AndroidManifest.xml可加可不加,不影响。
4)也可以直接先把源码和CTS代码中的路径更改为自定的APP路径,以避免AndroidStudio会自动将依赖指向电脑的SDK上:如将代码中的”android.hardware.xx“全部替换为”com.xxx.xxx“,再在APP的src下自建相应文件夹放代码。
5)或者先在AS中新建一个空白项目,再创建一个名为android.hardware.xx的APP,最后再将源码和CTS用例复制进去即可。

三、各模块的Manager和各层Service/SystemService可以百度结合代码进行分析

四、继承ActivityInstrumentationTestCase2测试较好。继承AndroidTestCase测试可能出问题

,如调用CameraManager.openCamera报错:在这里插入图片描述
参考:ActivityInstrumentationTestCase2的研究成果

五、可以用adb命令查看部门硬件的使用情况和分析。

如Camera:
我们想查看camera 相关的一些基本配置信息,可以dump media.camera来查看:adb shell dump media.camera > camera.txt
参考:Dump media.camera分析
Android Camera的一些调试技巧总结
adb ps shell 查看进程_adb常用命令总结
Android进阶——你所知道的Camera2和你所不知道的Camera2完全解析
Android Camera使用总结与那些坑
Android 8.0系统源码分析–openCamera启动过程源码分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值