【问题标题】:No matches found for Find: Elements matching predicate '"" IN identifiers' from input未找到匹配项:与输入中的谓词“”“IN 标识符”匹配的元素
【发布时间】:2018-12-03 04:33:03
【问题描述】:

我在单元测试中遇到此错误:

No matches found for Find: Elements matching predicate '"addressSearchBar" IN identifiers' from input {(
    SearchField, 0x60000038a420, traits: 146029151232, label: 'Search on Google Maps', placeholderValue: 'Search on Google Maps'
)}

这是单元测试:

func testTypeSearch() {
    app.searchFields["addressSearchBar"].typeText("Springfield")
}

我一直在看这个帖子: Xcode UITest sometimes does not find property of XCUIElement

我已经设置了 isAccessibilityElement

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(true)
    view.isAccessibilityElement = false
    view.backgroundColor = UIColor.white
    navigationController?.setNavigationBarHidden(true, animated: true)
}

这里:

searchBar = UISearchBar()
searchBar.isAccessibilityElement = false
searchBar.accessibilityIdentifier = "addressSearchBar"

我尝试了多种解决方案,但都没有解决问题。

【问题讨论】:

  • 你找到解决办法了吗?

标签: swift unit-testing uitest xctestcase


【解决方案1】:

可以尝试将可访问性属性设置为 true

此属性的默认值为 false,除非接收者是标准 UIKit 控件,在这种情况下该值为 true。

searchBar = UISearchBar()
searchBar.isAccessibilityElement = true
searchBar.accessibilityIdentifier = "addressSearchBar"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    • 2012-01-21
    • 2020-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多