SBTUITestTunnelCommon 10.0.0

SBTUITestTunnelCommon 10.0.0

Tomas CaminTomas CaminDavide MazzoniMarco RossiMarco Pagliari 维护。



  • Tomas Camin

SBTUITestTunnel

CI

Version License Platform Swift Package Manager

概述

从 Xcode 7 开始,苹果引入了一个新的 UI 测试功能,正如 Will Turner 在 WWDC 会上所说,在开发者工具中对测试技术的重大扩展。框架易于使用,与 IDE 的集成也很好,但是测试启动的方式存在一个主要问题。测试代码作为一个独立的进程运行,这防止了测试进程与正在测试的应用程序直接共享数据,这使得动态注入数据或模拟网络调用变得困难。

SBTUITestTunnel 扩展了 UI 测试功能,允许动态地

  • 模拟网络调用
  • 从/到应用沙箱下载/上传文件
  • 监控网络调用
  • 重写网络调用
  • 阻止 Cookie
  • 与 NSUserDefaults 交互
  • 定义在应用程序目标执行的代码块
  • 表格/集合/滚动视图中的精细粒度快速滚动
  • CLLocationManager 模拟
  • UNUserNotificationCenter 模拟

该库支持并发并行测试,因此可以同时使用多个模拟器。

该库由两个独立的组件组成,它们相互通信,一个在应用程序目标中实例化,另一个在测试目标中实例化。

我是否应该使用这个?

SBTUITestTunnel旨在扩展Apple的XCTest框架,而不是替代它。它归结为XCUIApplication的一个子类,附带上面列出的额外功能,因此它非常容易与您现有的测试代码集成。

文档

  • 安装:描述如何安装库
  • 配置:描述如何将库集成到您的代码中
  • 使用:描述如何使用库
  • 示例:描述如何配置和使用示例应用程序

其他资源?

我们提供额外资源以改善UI测试体验

感谢

感谢以下pods的开发者,我们在SBTUITestTunnel中使用这些pods

贡献

欢迎贡献!如果您有bug需要报告,请随意打开新问题或发送拉取请求以帮助解决问题。

作者

Tomas Camin (@tomascamin)

许可协议

SBTUITestTunnel遵循Apache License,版本2.0。有关更多信息,请参阅LICENSE文件。