Swift UI 测试查找自定义 UIView XCUIElement

标签 swift coded-ui-tests swift2

我想找到一个 UIView XCUIElement,但我似乎找不到它。这个 UIView 用于向用户显示某些信息,我需要能够测试它在某些情况下是否在屏幕上。我将 view.userInteractionEnabled 设置为 YES。

我试过点击“记录”并选择它,但它似乎无法选择,因为它没有编写在我点击它时找到它的代码。

我已经尝试以编程方式定位它,但 XCUIElementType Any 和 Other 似乎没有找到它,而且我没有看到更适合 View 的。

我已经尝试在 Storyboard 中设置辅助功能,但在运行单元测试时所有辅助功能似乎都消失了。

这看起来应该是非常基础的,如果我在这里遗漏了什么,我深表歉意。

最佳答案

据我了解,XCUI 使用可访问性信息来访问对象。在我的应用程序中,我有一个自定义 View ,其语义行为类似于图像(它显示一些图形内容)。它是使用界面构建器设置的,因此在 Storyboard 中,我选择了它并打开了以下辅助功能元素。

snapshot of interface builder

我的应用程序的其他元素是自定义 UIView,其作用类似于按钮,并且捆绑在另一个自定义 uiview 中,因此我无法从界面构建器中设置它们的辅助功能属性。所以我在代码中设置它们:

    self.accessibilityTraits = UIAccessibilityTraitButton
    self.accessibilityIdentifier = "commit"
    self.accessibilityLabel = "Commit"

有了它,记录模式可以很好地找到我所有的自定义 View 。

关于Swift UI 测试查找自定义 UIView XCUIElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32253752/

相关文章:

ios - UINavigationBar 不会设置标题文本属性

.net - UI 测试自动化模式

ios - 在 UCollectionView 底部添加 Activity/Loading Indicator

ios - Swift 的 TwitterKit 不显示图像

ios - Microsoft Face API - 错误 401,iOS

swift - 结合 CoreML 和 ARKit

objective-c - 如何将未知类( Controller )作为 AnyObject 分配给其他类的委托(delegate)?在 swift

c# - 使用 CUI 测试生成器测试 winform 应用程序上的接受按钮

c# - 在 UITestControl 而不是 BrowserWindow 的范围内搜索时,CodedUI 无法识别 HtmlControl

xcode - & 和 | 是做什么的运营商呢?它们与 && 和 || 有何不同? swift