运行 UI 测试时的快速扫描"Failed to synthesize event",从 Xcode 工作



我为我的 Swift 项目(iOS 应用程序,Swift 5(准备了一些 UI 测试,在从 Xcode 运行它们时可以工作;但是当我使用fastlane scan运行它们时,它们总是在涉及键入文本字段的每个测试的同一点失败,我不确定为什么。

失败来自填写UITextField,然后尝试点击下一个并填写。

例:

app.textFields[“identifierOne”].tap()
app.textFields[“identifierOne”].typeText(“Text to Type”)
app.textFields[“identifierTwo”].tap()
app.textFields[“identifierTwo”].typeText(“Text to Type”)

这导致:

无法合成事件:元素和任何后代都没有键盘焦点。事件调度快照:文本字段,标签:"标识符二",占位符值:"一些"值">

正如我之前提到的,这在从 Xcode 运行完全相同的测试时有效。我对这个不知所措,非常感谢任何帮助。

所以我最后想通了。测试工作正常。

但是我的扫描电话中有disable_slide_to_type: true,这似乎导致了一些奇怪的行为。

在尝试键入之前,我还添加了以下内容:

extension XCUIElement {
var isFocused: Bool {
let isFocused = (self.value(forKey: "hasKeyboardFocus") as? Bool) ?? false
return isFocused
}
}
if textField.isFocused == false {
textField.tap()
}

它现在似乎在 100% 的时间内工作。

相关内容

  • 没有找到相关文章

最新更新