【问题标题】:Swift UI Test Find Custom UIView XCUIElementSwift UI 测试 查找自定义 UIView XCUIElement
【发布时间】:2015-11-22 02:15:43
【问题描述】:

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

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

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

我尝试在情节提要中设置可访问性,但在运行单元测试时所有可访问性似乎都消失了。

这似乎应该是非常基本的,如果我在这里遗漏了什么,非常抱歉。

【问题讨论】:

  • 您使用的是最新的 Xcode 吗? Beta 6 我认为...如果您分享您的代码,我可以看看。
  • 哇,他们似乎每周都会发布这个测试版的新版本,不,我是 5。我真的没有太多代码要分享,因为我不知道该怎么做;理想的代码看起来像 self.app.xxx.elementBoundByIndex(UInt(0)) ,其中 xxx 是视图,类似于访问其他元素的方式
  • 你找到解决办法了吗?
  • @Tomte 我还没找到办法

标签: swift coded-ui-tests swift2


【解决方案1】:

据我了解,XCUI 使用可访问性信息来访问对象。在我的应用程序中,我有一个在语义上表现得像图像的自定义视图(它显示了一些图形内容)。它是使用界面生成器设置的,因此在故事板中,我选择了它并打开了以下辅助功能元素。

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

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

这样,录制模式可以很好地找到我所有的自定义视图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-14
    • 1970-01-01
    • 1970-01-01
    • 2016-10-26
    • 1970-01-01
    • 1970-01-01
    • 2018-06-15
    • 1970-01-01
    相关资源
    最近更新 更多