SBTUITestTunnelClient 10.0.0

SBTUITestTunnelClient 10.0.0

Tomas CaminDavide MazzoniTomas CaminMarco RossiMarco Pagliari维护。



  • Tomas Camin

SBTUITestTunnel

CI

Version License Platform Swift Package Manager

概述

从 Xcode 7 开始,Apple 引入了一个新的 UI Testing 功能,正如 Will Turner 在WWDC上所说的那样,这是对开发工具中测试技术的巨大扩展。框架易于使用,并且与 IDE 集成良好,然而测试的启动方式存在一个主要问题。测试代码作为一个单独的过程运行,这阻止了测试代码直接与被测试应用程序共享数据,这使得动态注入数据或模拟网络调用等功能变得困难。

SBTUITestTunnel 扩展了 UI testing 功能,允许动态:

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

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

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

我应该使用这个吗?

SBTUITestTunnel旨在扩展Apple的XCTest框架,而不是取代它。它本质上是一组XCUIApplication的单个子类,具有上述附加功能,因此非常容易与现有的测试代码集成。

文档

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

其他资源?

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

感谢

感谢以下pods的开发人员,我们在SBTUITestTunnel中使用了这些pods。

贡献

欢迎贡献!如果您有错误需要报告,请随意通过打开新的问题或发送拉取请求来协助。

作者

Tomas Camin (@tomascamin)

许可证

SBTUITestTunnel 在 Apache License, Version 2.0 下可用。有关更多信息,请参阅 LICENSE 文件。