MixboxGrey 0.0.2

MixboxGrey 0.0.2

Artyom Razinov 维护。



 
依赖
MixboxUiTestsFoundation>= 0
MixboxIpcClients>= 0
MixboxUiKit>= 0
 

  • 来自 Avito 的编码者聚集地

概述

Version License Build Status

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

目前它在 Avito 上使用,我们有 900 多个 UI 测试,95% 都是绿色的,5% 在 PR 上运行,我们正在努力使 100% 的测试在 pull request 上运行。我们在 3 个平台上运行这些测试,用时 1 小时(测试总时间为 40 多小时),因为我们使用了 Emcee,一个在多台机器上运行测试的测试运行器。

如果您对在公司中使用它感兴趣,与我们提交一个 issues。我们正在使其成为社区可用,然而,目前这并不是我们的主要关注点。我们的主要关注点是构建一个 100% 稳定的测试套件。

功能

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

即将推出(尚未开源)

  • 页面对象的代码生成
  • 从应用程序获取所有断言失败信息
  • 用于操作春季板的界面
  • 报告(包括 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 上工作良好)
  • 在物理设备上设置权限不起作用(可能还有其他内容,我们没有在物理设备上进行测试;基本功能工作)
  • 未测试设备旋转,我认为我们在其中有一些错误
  • 未测试 iPad

其他文档