前言

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

Objective - C

  1. 添加 pod 'NewLLDebugTool' 到你的 Podfile 里。如果只想在 Debug 模式下使用,则添加pod 'NewLLDebugTool' ,:configurations => ['Debug'] 到你的 Podfile 里 。
  2. 终端输入pod install来进行集成。搜索不到NewLLDebugTool或者搜不到最新版本时,可先运行pod repo update,再执行pod install
  3. 在 AppDelegate 中添加头文件#import "<NewLLDebugTool/LLDebug.h>"
  4. "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;
}

更多使用


↙↙↙阅读原文可查看相关链接,并与作者交流