MixboxIpcClients 0.0.2

MixboxIpcClients 0.0.2

Artyom Razinov 维护。



  • Avito 的程序员社区

概览

Version License Build Status

强大的 iOS 端到端 UI 测试框架。

目前它在 Avito 中使用,我们已经有 900 多个 UI 测试,其中的 95% 是绿色的,其中 5% 在 PR 上运行,我们正在努力使 100% 的测试在拉请求上运行。我们在 3 个平台上运行这些测试,耗时 1 小时(测试总时长为 40 多小时),因为我们使用的是 Emcee,一个可以在多台机器上运行测试的测试运行程序。

如果您想在公司中使用它,请给我们提交一个问题。我们正在努力使其被社区使用,然而,这并不是我们现在的重点。我们现在的重点是打造一个 100% 稳定的套件。

特性

  • 操作和检查(当然)
  • 每像素可见性检查
  • 每个检查都有轮询
  • 完全自动滚动
  • UICollectionView 中的每个单元格在测试中都是可见的(包括屏幕外的单元格)
  • 可自定义的进程间通信(APP 和测试之间)
  • 测试中可见的视图的自定义值
  • 页面对象
  • 网络模拟(通过 NSURLSessionProtocol)
  • 设置权限(相机/地理位置/通知等)
  • 推送通知模拟(限制:仅在活动应用内!)
  • 从测试中打开 URL
  • 地理位置模拟
  • 硬件键盘(定义的键码很少,但可以轻松实现)
  • 无需分支仓库即可自定义
  • 一切都可以禁用
  • Swift & Objective-C
  • 已测试(尽管测试不彻底)

即将推出(尚未开源)

  • 页面对象的代码生成
  • 获取所有应用程序中的断言失败
  • Springboard 的工作界面
  • 报告(包括 Allure,一个带有网络界面的开源报告系统)
  • 在发布和测试构建之间切换辅助功能值

支持的 iOS/Xcode/Swift 版本

  • Xcode 9, Xcode 10
  • Swift 4.1, Swift 4.2
  • iOS 9.3.2, iOS 10.3, iOS 11.3, iOS 11.4, iOS 12.0,中级版本可能工作或不工作,所提及的版本已在 CI 上测试

已知问题

  • 在 iOS 11.2 上崩溃(在 iOS 11.3、iOS 11.4 上运行正常)
  • 在物理设备上设置权限不工作(可能还有其他,我们未在物理设备上进行测试;基本功能正常工作)
  • 未测试设备旋转,我认为我们可能存在与其相关的 bug
  • 未测试 iPad

其他文档