XCUITest 元素快照失败闪烁光标

XCUITest Element Snapshot Fails Blinking Cursor

我们正在使用 FBSnapshottestcase 拍摄快照作为我们 XCUITest 案例的一部分。我们有一个带有 UITextField 的 ScrollView。我们在文本字段中键入文本并拍摄快照以验证元素在输入文本后的行为是否适当(出现一个清除按钮)。我们遇到的问题是,当您在文本字段中键入内容时,会出现一个闪烁的光标。测试将失败或通过,具体取决于拍摄快照时闪烁光标的状态。有没有办法禁用 XCUITest 的闪烁光标?

可以在 FBSnapshotVerifyView 调用中设置可选参数 tolerance

例如设置为0.01且图片均等99%(以像素计)以上,则测试不落下。

开发人员将此添加到 AppDelegate 文件中,这样当我们 运行 测试方案时,它会这样做:

#if LOCAL
     if CommandLine.arguments.contains("--UITests") {
        UITextField.appearance().tintColor = .clear
     }
#endif

这会隐藏光标以便进行测试。

你可以然后你 app.launchArguments 通过“--UITests”

https://developer.apple.com/documentation/xctest/xcuiapplication/1500477-launcharguments