繁体   English   中英

运行 UI 测试时 Fastlane 扫描“无法合成事件”,适用于 Xcode

[英]Fastlane Scan “Failed to synthesize event” when running UI Tests, works from 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”)

这导致:

无法合成事件:元素和任何后代都没有键盘焦点。 事件调度快照:TextField,label:'identifierTwo',placeholderValue:'Some 'Value''

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

所以我最终想通了这一点。 测试工作正常。

但是我的 scan 调用中有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% 的时间都在工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM