XCode UI 测试未通过“找不到元素”检查

Posted

技术标签:

【中文标题】XCode UI 测试未通过“找不到元素”检查【英文标题】:XCode UI Test fails 'element not found' check 【发布时间】:2017-05-17 07:34:02 【问题描述】:

我正在编写从XCTestCase 扩展的类来执行一些 UI 自动化测试。在我的测试基类中,我有类似的东西:

- (BOOL)isOnLoginFormView

    return self.app.textFields[@"User ID"] != nil && self.app.secureTextFields[@"Password"] != nil &&  self.app.buttons[@"<b>Login</b>"] != nil;

我在另一个测试用例方法中使用了这个方法。在登录表单不存在的情况下,它应该继续执行一些其他代码(检查是否存在另一个视图),但如果上述方法返回NO,我的 UI 测试无论如何都会失败。如果上述方法返回NO,我能做些什么以使测试不会失败?理想情况下,只有当我使用断言明确地使测试用例失败时,测试用例才会失败。

【问题讨论】:

【参考方案1】:

没关系!我发现它适用于此:

return self.app.textFields[@"User ID"].exists && self.app.secureTextFields[@"Password"].exists &&  self.app.buttons[@"<b>Login</b>"].exists;

【讨论】:

以上是关于XCode UI 测试未通过“找不到元素”检查的主要内容,如果未能解决你的问题,请参考以下文章

在 Xcode UI 测试期间检查电子邮件?

Nightwatch测试在Headless chrome模式下找不到元素

如何检查是不是在 Xcode UI 测试中创建了新场景?

Xcode 10 UI 测试原因:Cocoapods 未找到图像

如何使用 Xcode 7 UI 测试检查表格视图中的单元格是不是可见?

Xcode UI 测试:如何在继续测试之前检查下一个 XCUIElement 是啥