首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xcode 9:如何使用XCUIElement创建XCUIElementQuery实例?

Xcode 9:如何使用XCUIElement创建XCUIElementQuery实例?
EN

Stack Overflow用户
提问于 2017-06-15 22:53:12
回答 1查看 1.8K关注 0票数 1

在观看了2017年的WWDC和XCTest视频之后,我更新了我的测试以使用XCTests中的最新添加。

我最近升级到Xcode 9 Beta,运行OS塞拉利昂10.12.4

之后,我使用XCUIElement()创建元素实例的所有测试都失败了。

XCTAssertTrue(XCUIElement().scrollToElement(tablesQuery.cells.staticTexts"Featured").exists)示例代码行:

--这是我得到的错误: 'init()‘不可用:使用XCUIElementQuery创建XCUIElement实例。

如果您想知道scrollToElement()是什么,如果它在当前视图中不可见,滚动到要查询的元素是一个自定义函数。这是我编写的XCUIElement自定义扩展的一部分。

作为解决方案的一部分,您可以建议:现在如何创建XCUIElement实例?

参考:scrollToElement()

代码语言:javascript
复制
open func scrollToElement(_ element: XCUIElement) -> XCUIElement {
    while !element.visible() {
        swipeUp()
    }
    return element
}

open func visible() -> Bool {
    guard self.exists && !self.frame.isEmpty else { return false }
    return XCUIApplication().windows.element(boundBy: 0).frame.contains(self.frame)
}

任何帮助都是非常感谢的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-16 18:20:18

您不能直接初始化XCUIElements -您必须通过XCUIApplication访问它们,这是XCUIElement的一个子类。如果您从XCUIApplication调用滚动方法,它将工作。

代码语言:javascript
复制
let app = XCUIApplication()
XCTAssertTrue(app.scrollToElement(app.tables.cells.staticTexts["Featured"]).exists)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44578200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档