一、Android单元测试类
1、TestCase包含:AndroidTestCase、InstrumentationTestCase
1)AndroidTestCase包含:ApplicationTestCase、ServiceTestCase、ProviderTestCase
2)InstrumentationTestCase包含:ActivityTestCase(ActivityInstrumentationTestCase2、ActivUnitTestCase)、SingleLuanchTestCase
二、Instrumentation框架
1、简介:①实例化是在应用代码之前完成的②能监控到系统和应用的行为
2、Instrumentation框架
三、Robotium自动化框架简介
1、简介:是一个基于AndroidInstrumentation进行扩展的第三方框架,用户安卓的UI测试。
2、Robotium白盒测试(之后再补上)
3、Robotium黑盒测试
1)应用重签名1---Re-sign.jar
下载地址:http://www.troido.de/re-sign.jar
使用:①双击文件②将apk包拖拽到弹窗上③重新生成debug包④记下Pakagename、Main activity
遇到问题:①提示找不到zipalign,需要把build-tools下的zipalign文件拷贝到tools文件下
2)应用重签名2---命令行
①下载7-zip
②使用7-zip打开apk包,删除META-INF(保存的是签名信息)文件
③重签名终端执行:jarsigner -keystore ~/.android/debug.keystore -storepass android -keypass android ~/Downloads/filename.apk androiddebugkey(jdk<1.6时使用,可以忽略执行后的警告信息)
jarsigner -keystore ~/.android/debug.keystore -storepass android -keypass android -sigalog MD5withRSA -digestalg SHA1 ~/Downloads/filename.apk androiddebugkey(jdk<=17,需要加上签名算法)
④终端执行:zipalign 4 apk包路径 重新生成的apk路径(优化apk包,使apk包运行的更有效率)
mac下操作
①下载apktool,并按照官方步骤操作:https://ibotpeaches.github.io/Apktool/install/
②终端在apk包目录下执行:apktool d -f -r release.apk会生成一个apk解码文件release
③删除生成文件中的META-INF文件
④终端下执行:apktool b -d 文件名 -o 包名.apk
⑤接下来的步骤同上
-d 是decode的意思,表示我们要对Demo.apk这个文件进行解码
-f 如果目标文件夹已存在,则强制删除现有文件夹(默认如果目标文件夹已存在,则解码失败)
-o 指定解码目标文件夹的名称(默认使用APK文件的名字来命名目标文件夹)
-s 不反编译dex文件,也就是说classes.dex文件会被保留(默认会将dex文件解码成smali文件)
-r 不反编译资源文件,也就是说resources.arsc文件会被保留(默认会将resources.arsc解码成具体的资源文件)
3、其他
1)aapt使用
①将build-tools下的aapt拷贝到tools目录下。
②运行aapt d badging apk包的路径,得到packagename、launchable-activityname。