-
在实际的app自动化测试过程中,通常是ui自动化、逻辑自动化(白盒测试)、压力测试(monkey)、Fuzzy测试(mock)、性能测试。 但是我们通常只做单一自动化测试,关心单一自动化测试的效果,比如做性能的只关心cpu、内存、卡顿这些数据的上报,做monkey的只关心monkey能否遍历所有控件。很少相互结合从而产生1+1 > 2的效果。比如mock+逻辑自动化,monkey+性能测试,monkey+mock等等 都有可能产生神奇的化学反应,所以有必要需要一个SDK可以将这些各种各样的自动化方案就行集成。
-
在实际的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测试(完成度100%);
- 【逻辑自动化】 支持对app进行逻辑自动化测试 (100%);
- 【ui自动化】 支持对app进行ui自动化(100%);
- 【Fuzzy测试】 已完成私有网络协议的mock(这一部分暂不开源,内部产品使用),已完成http/https协议mock(完成度100%);
- 【性能测试】 可以监控app的内存、cup和FPS,待完成内存泄漏的监控(完成度50%);
- 【webview性能】 可以监控WebView的性能(完成度100%);
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;
}
- 你可以下载并运行NewLLDebugToolDemo来发现NewLLDebugTool的更多使用方式。Demo是在XCode9.3,ios 11.3,cocoapods 1.5.0下运行的,如果有任何版本兼容问题,请告诉我。
- NewLLDebugTool——一款可以快速进行ios自动化的工具
- NewLLDebugTool——http/https mock实现原理
- NewLLDebugTool——ios monkey保活
- NewLLDebugTool——一个在IOS上可以脱机运行测试用例的自动化框架
- NewLLDebugTool——随身版Monkey支持脚本功能
- 如果你需要帮助,打开一个issue。
- 如果你想问一个普遍的问题,打开一个issue。
- 如果你发现了一个bug,并能提供可靠的复制步骤,打开一个issue。
- 如果你有一个功能请求,打开一个issue。
- 如果你发现有什么不对或不喜欢的地方,就打开一个issue。
- 如果你有一些好主意或者一些需求,请发邮件[email protected]给我。
- 如果你想贡献,提交一个pull request,请发邮件[email protected]给我。
- 可以发邮件到[email protected]
- 增加WKWebView和UIWebView的性能监控,可以查看webview的白屏时间和首屏时间
- Monkey心跳上报,可以查看Monkey的运行时间和手机运行Monkey的状态
- 增加Monkey脚本功能
- FMDB以源码的方式引入,消除 duplicate symbol(重复符号) 的问题
- 通过白名单增加monkey驻留页面的功能,即如果当前控件树包含白名单控件,会优先点击白名单里面的控件
- 添加文件日志,使用C++编写,提升效率
- 增加cocos性能信息查看功能,主要有Frame Rate、Seconds Per Frame,Current Calls 和 Current Verts等指标
- 增加性能曲线的图形化展示,可以实时查看
- 增加逻辑自动化框架,在sdk中可以脱机运行测试用例
- 在逻辑自动化框架的基础上,增加cocos的ui自动化底层驱动
- 增加monkey控制开关,可以通过摇一摇手机停止monkey
- 打通提单系统,发现crash和js error自动提单
- 在原有的NSException和Signal监控的基础上增加anr监控、mach crash监控和 cpp crash监控
- 兼容低版本FMDB的api
- 修复UITabBar无法显示的bug
- 默认关闭网络抓包,以开关的方式进行控制
- 集成OHHTTPSTUBS,在原有功能的基础上进行修改,可以进行http/https在线mock,mock规则是置空和置NULL.可以结合monkey进行fuzzy测试
- ios monkey增加权重快速遍历算法和随机遍历算法
- ios monkey增加配置界面:算法设置、黑白名单设置、执行时间设置
- ios monkey增加覆盖率显示
- 修复KIF执行失败的错误
- 增加log上传接口
- 增加cocos monkey功能
- 修复横竖屏截图兼容性问题
- 使用oc重写了swift monkey paws
- ios monkey 增加控件识别能力
- 可以分享文件夹
- 增加monkey paws
- 兼容横竖屏
- 更改和优化了内存和log的实现方式
- hook私有网络、增加了延时和丢包函数来模拟弱网络
- 增加随身版monkey功能
这段代码是根据 MIT license 的条款和条件发布的。