Xcode UI测试按钮没有点击

时间:2016-06-07 17:15:42

标签: ios xcode swift user-interface

您好我是UI测试的新手。

我要做的只是点击右上角的"+"按钮,然后点按显示的"first option"。 Xcode说我的测试成功,但我的水龙头都没有做任何事情。这是我的代码

func test1() {
    let app = XCUIApplication()
    let addButtonButton = app.navigationBars["Timesheets"].buttons["add button"]
    waitForElementToHittable(addButtonButton)
    addButtonButton.tap()

    let tablesQuery = app.tables
    tablesQuery.cells.elementBoundByIndex(0).forceTap()
}

这里是waitForElementToHittable()和forceTap()的定义

 func waitForElementToHittable(element: XCUIElement,
                            file: String = #file, line: UInt = #line) {
    let existsPredicate = NSPredicate(format: "hittable == true")
    expectationForPredicate(existsPredicate,
                            evaluatedWithObject: element, handler: nil)

    waitForExpectationsWithTimeout(30) { (error) -> Void in
        if (error != nil) {
            let message = "Failed to hit \(element) after 30 seconds."
            self.recordFailureWithDescription(message,
                                              inFile: file, atLine: line, expected: true)
        }
    }
}

extension XCUIElement {
    func forceTap() {
        if self.hittable {
            self.tap()
        } else {
            let coordinate: XCUICoordinate =     self.coordinateWithNormalizedOffset(CGVectorMake(0.0, 0.0))
            coordinate.tap()
        }
    }
}

非常感谢任何指导。谢谢。

1 个答案:

答案 0 :(得分:0)

您确实忘了启动该应用:

let app = XCUIApplication()
app.launch() // missing in your code