1、在实际的 app 自动化测试过程中,通常是 ui 自动化、逻辑自动化 (白盒测试)、压力测试 (monkey)、Fuzzy 测试 (mock)、性能测试。 但是我们通常只做单一自动化测试,关心单一自动化测试的效果,比如做性能的只关心 cpu、内存、卡顿这些数据的上报,做 monkey 的只关心 monkey 能否遍历所有控件。很少相互结合从而产生 1+1 > 2 的效果。比如 mock+ 逻辑自动化,monkey+ 性能测试,monkey+mock 等等 都有可能产生神奇的化学反应,所以有必要需要一个 SDK 可以将这些各种各样的自动化方案就行集成。
2、在实际的 app 开发过程中,无论是开发还是测试都会在 app 中加一些小工具,比如日志上传、环境切换等。这些小工具在每个 app 里的作用都是相似的, 所以也有必要需要一个 SDK 可以将这些通用的小工具集成在一起,进行沉底,从而可以快速复用。
【网络查看】 可以监控大部分的网络请求,包括使用 NSURLSession,NSURLConnection 和 AFNetworking;
【Crash 查看】 可以截获 Crash,保存 Crash 信息、原因和堆栈信息;
【app 信息查看】 可以监控 app 的内存、CPU 和 FPS,可以便捷的查看 app 的各种信息;
【沙盒】 提供了一个快捷的方式来查看和操作沙盒文件,你可以更轻松的删除沙盒中的文件/文件夹,或者通过 airdrop 来分享文件/文件夹。只要是 apple 支持的文件格式,你可以直接通过 NewLLDebugTool 来预览;
【日志查看】 可以方便的查看日志。
【iOS monkey】 支持算法配置、黑白名单配置、运行时间设置,可以便捷的对 app 进行 monkey 测试(完成度 100%);
【cocos monkey】 支持算法配置、黑白名单配置、运行时间设置,可以便捷的对 app 进行 monkey 测试(完成度 80%);
【逻辑自动化】 支持对 app 进行逻辑自动化测试(0%);
【ui 自动化】 支持对 app 进行 ui 自动化(0%);
【Fuzzy 测试】 已完成私有网络协议的 mock(这一部分暂不开源,内部产品使用),待完成 http 协议 mock(完成度 50%);
【性能测试】 可以监控 app 的内存、cup 和 FPS,待完成内存泄漏的监控(完成度 50%);
CocoaPods 集成NewLLDebugTool
。
- 添加
pod 'NewLLDebugTool'
到你的 Podfile 里。如果只想在 Debug 模式下使用,则添加pod 'NewLLDebugTool' ,:configurations => ['Debug']
到你的 Podfile 里 。- 终端输入
pod install
来进行集成。搜索不到NewLLDebugTool
或者搜不到最新版本时,可先运行pod repo update
,再执行pod install
。- 在 AppDelegate 中添加头文件
#import "<NewLLDebugTool/LLDebug.h>"
。- 在
"application:(UIApplication * )application didFinishLaunchingWithOptions:(NSDictionary * )launchOptions"
中添加[[LLDebugTool sharedTool] startWorking]
如下所示:
#import "AppDelegate.h"
#import "LLDebug.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// The default color configuration is green background and white text color.
// Start working.
[[LLDebugTool sharedTool] startWorking];
// Write your project code here.
return YES;
}