在 Swift 中测试自定义视图

Posted

技术标签:

【中文标题】在 Swift 中测试自定义视图【英文标题】:UITesting Custom Views In Swift 【发布时间】:2020-08-01 09:41:03 【问题描述】:

我是 Swift 新手,正在寻找为符合 UIView 和 UIGestureRecognizerDelegate 的自定义视图编写 UITest。这是在画布上绘制签名的一种。我正在寻找一种方法来检查绘图区域是否存在任何值。

假设 MyView.signature 返回用户在画布上绘制的签名 (UIImage)。 我想像这样测试。

let canvas = app.otherElements["SignatureAccessibilityIdentifier"]
XCTAssertNil(canvas.value) or XCTAssertNotNil(canvas.value)

非常感谢任何帮助。

【问题讨论】:

【参考方案1】:

这些值适用于 VoiceOver 用户。要使用 UI 测试检查上述行为,您应该检查其他向上更改,例如启用完成按钮。或者,您可以在与自定义元素交互之前和之后设置两个不同的可访问性标识符(用于测试目的)。

【讨论】:

最好给签名视图一个用户友好的accessibilityValue来表示是否有签名。这具有为 VoiceOver 用户提供更多上下文的额外好处,并且可以使用 XCTest 轻松测试。

以上是关于在 Swift 中测试自定义视图的主要内容,如果未能解决你的问题,请参考以下文章

swift - 快速按下集合视图单元格时如何修复自定义视图中的约束

Swift:在自定义视图中未调用 UIButton 触摸事件

如何在 swift 中使用自定义视图?

在 Swift 的警报中使用自定义视图

iOS 自定义 .xib 视图按钮点击检测在视图控制器 (Swift)

iOS swift中的自定义视图出口在视图控制器中不起作用