SBTUITestTunnel
概览
苹果从 Xcode 7 开始引入了一项新的 UI 测试功能,正如 Will Turner 在 WWDC 的舞台上所说,这是对开发者工具中测试技术的巨大扩展。该框架易于使用,与 IDE 的集成很好,然而在测试启动的方式上存在一个主要问题。测试代码作为一个单独的进程运行,这阻止了与正在测试的应用程序直接共享数据,使得像动态注入数据或模拟网络调用这样的操作变得困难。
SBTUITestTunnel 扩展了 UI 测试功能,允许动态地
- 模拟网络调用
- 从/到应用程序沙盒下载数据/上传文件
- 监控网络调用
- 重写网络调用
- 阻止 Cookie
- 交互 NSUserDefaults
- 定义在应用程序目标中执行的代码块
- 表格/集合/滚动视图中的细粒度快速滚动
- CLLocationManager 模拟
- UNUserNotificationCenter 模拟
该库包含两个独立的部分,它们相互通信,一个在应用程序目标中实例化,另一个在测试目标中。
我应该使用这个吗?
SBTUITestTunnel旨在扩展Apple的XCTest框架,而不是取代它。它实际上是一个XCUIApplication的子类,附带了一些额外功能,因此与现有测试代码集成(或至少尝试一下)非常简单。
文档
其他资源吗?
我们提供了额外的资源,以改善UI测试体验。
- Mendoza:并行化多个物理机器上的UI测试
- Cachi:解析Xcode的11 .xcresult文件包
- SBTUITestTunnelHost:从您的测试目标访问mac主机
感谢
感谢以下pod的开发者,我们在SBTUITestTunnel中使用它们
贡献
欢迎贡献!如果您要报告一个错误,请通过打开一个新的问题或发送一个pull请求来帮助我们。
作者
许可证
SBTUITestTunnel遵循Apache许可证版本2.0。有关更多信息,请参阅LICENSE文件。