XCUITest 元素快照无法闪烁光标

Posted

技术标签:

【中文标题】XCUITest 元素快照无法闪烁光标【英文标题】:XCUITest Element Snapshot Fails Blinking Cursor 【发布时间】:2019-02-22 18:49:35 【问题描述】:

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

【问题讨论】:

以 / 结束文本。我认为它会删除闪烁光标。我有同样的问题。我忘记了实际代码。让我搜索 【参考方案1】:

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

例如,如果它设置为0.01 并且图像等于 99%(以像素计)或更多,则测试不会下降。

【讨论】:

【参考方案2】:

开发人员将此添加到 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

【讨论】:

以上是关于XCUITest 元素快照无法闪烁光标的主要内容,如果未能解决你的问题,请参考以下文章

如何让 XCTest 应用程序(XCUITest 应用程序,而不是 SUT)访问照片库?

Git Bash 不允许我输入任何内容,只会显示一个闪烁的光标

在特定JTable单元上设置焦点和闪烁光标

ubuntu 下ibus输入法在火狐下无法光标跟随

由于应用重启,XCUITest 需要运行两次才能成功

jquery 虚拟键盘 - Chrome 和 Edge 中的光标不闪烁