MixboxReporting 0.2.3

MixboxReporting 0.2.3

Artyom Razinov维护。



 
依赖
MixboxArtifacts>= 0
MixboxFoundation>= 0
 

  • Avito的编码者社群

概述

Version License Build Status

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

目前它在Avito中应用,我们拥有900+个UI测试,其中95%是绿色的,25%在PR上运行,我们正在努力使100%的测试在pull request上运行。我们同时在3个平台运行这些测试,耗时1.5小时(测试总时长为55+小时),因为我们使用了Emcee,一个在多台机器上运行测试的测试运行器(注意:Mixbox不需要Emcee)。

如果您期待在您的公司中使用它,请向我们提交一个issues。我们正在努力使其可以由社区使用,但我们的主要焦点是目前制造一个100%稳定的测试套件。

功能

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

即将推出(尚未开源)

  • 页面对象的代码生成
  • 获取应用中的所有断言失败
  • 用于与springboard合作的接口
  • 报告(包括Allure,一个具有Web UI的开源报告系统)
  • 在发布和测试版本之间切换无障碍值

安装

Mmixbox有两种使用方法。

第一种在演示中描述,非常简化,基本上就是使用pod SomePod

第二种我们在Avito中使用,看起来像这样:测试(请查看那里的Podfile)。

文档还不够完善,所以你可以尝试使用链接Mixbox的简单方法(演示),但请参考测试中的代码示例。

支持的iOS/Xcode/Swift版本

  • Xcode 10.0, 10.1, 10.2.1。
  • Swift 4.0+
  • iOS 9.3.2, iOS 10.3, iOS 11.3, iOS 11.4, iOS 12.0,中间版本可能工作或不工作,提到的版本已在CI上测试

Xcode 9及旧版本不再受支持。另外,我们不知道它是否在Xcode 10.2.0上工作,我们没有在我们的CI上进行测试。

已知问题

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

其他文档