NewLLDebugTool 1.3.7

NewLLDebugTool 1.3.7

haleli 维护。



NewLLDebugTool

Version CocoaPods Compatible Carthage Compatible Platform License Language

开发背景

  1. 在实际的app自动化测试过程中,通常是ui自动化、逻辑自动化(白盒测试)、压力测试(monkey)、Fuzzy测试(mock)、性能测试。但是我们通常只做单一自动化测试,关心单一自动化测试的效果,比如做性能的只关心cpu、内存、卡顿这些数据的上报,做monkey的只关心monkey能否遍历所有控件。很少相互结合从而产生1+1 > 2的效果。比如mock+逻辑自动化,monkey+性能测试,monkey+mock等等 都有可能产生神奇的化学反应,所以有必要需要一个SDK可以将这些各种各样的自动化方案集成。

  2. 在实际的app开发过程中,无论是开发还是测试都会在app中加一些小工具,比如日志上传、环境切换等。这些小工具在每个app里的作用都是相似的,所以也有必要需要一个SDK可以将这些通用的小工具集成在一起,进行沉淀,从而可以快速复用。

效果演示

功能模块

一、工具集:

  1. 【网络查看】 可以监控大部分的网络请求,包括使用NSURLSession,NSURLConnection和AFNetworking;
  2. 【Crash查看】 可以截获Crash,保存Crash信息、原因和堆栈信息;
  3. 【app信息查看】 可以监控app的内存、CPU和FPS,可以便捷的查看app的各种信息;
  4. 【沙盒】 提供了一个快捷的方式来查看和操作沙盒文件,你可以更轻松的删除沙盒中的文件/文件夹,或者通过airdrop来分享文件/文件夹。只要是apple支持的文件格式,你可以直接通过NewLLDebugTool来预览;
  5. 【日志查看】 可以方便的查看日志。

二、自动化:

  1. 【iOS monkey】 支持算法配置、黑白名单配置、运行时间设置,可以便捷地对app进行monkey测试(完成度100%);
  2. 【cocos monkey】 支持算法配置、黑白名单配置、运行时间设置,可以便捷地对app进行monkey测试(完成度100%);
  3. 【逻辑自动化】 支持对app进行逻辑自动化测试(100%);
  4. 【UI自动化】 支持对app进行UI自动化(100%);
  5. 【模糊测试】 已完成私有网络协议的mock(这部分暂时不公开,供内部产品使用),已完成HTTP/HTTPS协议mock(完成度100%);
  6. 【性能测试】 可以监控app的内存、CPU和FPS,待完成内存泄漏的监控(完成度50%);
  7. 【WebView性能】 可以监控WebView的性能(完成度100%);

安装

CocoaPods集成NewLLDebugTool

更多使用

  • 您可以通过下载并运行NewLLDebugToolDemo来发现NewLLDebugTool的更多使用方法。Demo是在XCode9.3,iOS 11.3,CocoaPods 1.5.0下运行的,如果有任何版本兼容问题,请告诉我。

相关工程

ios monkey保活

相关文档

联系

  • 如果你需要帮助,打开一个问题单。
  • 如果你想询问一个普遍的问题,打开一个问题单。
  • 如果你发现了一个bug并能提供可靠的复制步骤,打开一个问题单。
  • 如果你有一个功能请求,打开一个问题单。
  • 如果你发现有什么不对或不喜欢的地方,就打开一个问题单。
  • 如果你有一些好主意或者一些需求,请发送邮件[email protected]给我。
  • 如果你想贡献,提交一个pull request,请发送邮件[email protected]给我。

联系

更新日志

2019-11-1(tag:1.3.7)

  1. 修改SSZipArchive和FMDB的引入方式,兼容业务不能使用 use_framework!的情况
  2. 解决命名冲突问题,修改TBUIAutoTest
  3. 解决横竖屏切换代码的循环引用问题

2019-10-25(tag:1.3.6)

  1. 增加WKWebView和UIWebView的性能监控,可以查看webview的白屏时间和首屏时间
  2. Monkey心跳上报,可以查看Monkey的运行时间和手机运行Monkey的状态
  3. 增加Monkey脚本来源的功能
  4. FMDB以源码方式引入,消除 duplicate symbol(重复符号)的问题

2019-9-28(tag:1.3.5)

  1. 通过白名单增加Monkey驻留页面的功能,即如果当前控件树包含白名单控件,会优先点击白名单里面的控件
  2. 添加文件日志,使用C++编写,提升效率
  3. 增加cocos性能信息查看功能,主要有帧率、每帧耗时、当前调用次数和当前顶点数等指标
  4. 增加性能曲线的图形化展示,可以实时查看
  5. 增加逻辑自动化框架,在sdk中可以脱机运行测试用例
  6. 在逻辑自动化框架的基础上,增加cocos的ui自动化底层驱动

2019-9-2(标签:1.3.4)

  1. 增加monkey控制开关,可以通过摇晃手机停止monkey。
  2. 打通提单系统,发现crash和js error自动提单。
  3. 在原有的NSException和Signal监控基础上,增加anr监控、mach crash监控和cpp crash监控。
  4. 兼容低版本FMDB的API。

2019-7-10(标签:1.3.3)

  1. 修复UITabBar无法显示的bug。
  2. 默认关闭网络抓包,以开关的方式进行控制。
  3. 集成OHHTTPSTUBS,在原有功能的基础上进行修改,可以进行http/https在线mock,mock规则是置空和置NULL。可以结合monkey进行模糊测试。

2019-7-3(标签:1.3.2)

  1. ios monkey增加权重快速遍历算法和随机遍历算法。
  2. ios monkey增加配置界面:算法设置、黑白名单设置、执行时间设置。
  3. ios monkey增加覆盖率显示。
  4. 修复KIF执行失败的错误。
  5. 增加log上传接口。

2019-5-15(标签:1.3.1)

  1. 增加cocos monkey功能。
  2. 修复横竖屏截图兼容性问题。
  3. 使用oc重写了swift monkey paws。
  4. ios monkey 增加控件识别能力。

2019-4-09(标签:1.3.0)

  1. 可以分享文件夹。
  2. 增加monkey paws。
  3. 兼容横竖屏。

2019-2-26(标签:1.2.9)

  1. 更改和优化了内存和log的实现方式。
  2. hook私有网络、增加了延时和丢包函数来模拟弱网络。
  3. 增加随身版monkey功能。

许可

这段代码是根据 MIT许可证 的条款和条件发布的。