相关疑难解决方法(0)

有没有办法清除/刷新辅助功能层次缓存

我有一个UI测试,它检查静态文本元素的值,等待几秒钟,然后再次检查以确认更改.起初它没有工作,因为层次结构没有更新.我在日志中注意到了这一点;

使用缓存的辅助功能层次结构

我通过简单地添加一个菜单并打开/关闭它以便合成事件并更新层次结构来为此设置解决方法.

但是,如果有一种方法可以直接清除缓存或强制更新,那就更好了.我还没有在API中找到一个.我错过了什么吗?

有任何想法吗?

这就是我在做的事情;

XCTAssertEqual(app.staticTexts["myText"].label, "Expected 1")
sleep(20)
menu.tap()
sleep(1)
menu.tap()
XCTAssertEqual(app.staticTexts["myText"].label, "Expected 2")
Run Code Online (Sandbox Code Playgroud)

我希望能够做到这一点

XCTAssertEqual(app.staticTexts["myText"].label, "Expected 1")
sleep(20)
app.elements.refresh()
XCTAssertEqual(app.staticTexts["myText"].label, "Expected 2")
Run Code Online (Sandbox Code Playgroud)

xcode-ui-testing

11
推荐指数
2
解决办法
2974
查看次数

如何使用ExpectationForPredicate并点击一个按钮

检查按钮是否启用后,如何点击它?

我在这里找到了此示例,但不适用于我的情况。

Xcode UI测试的测试用例中的延迟/等待

这是一部分代码:

    let app = XCUIApplication()
    let button = app.buttons["Tap me"]
    let exists = NSPredicate(format: "exists == 1")
    expectationForPredicate(exists, evaluatedWithObject: button){
        button.tap()
        return true
    }
 waitForExpectationsWithTimeout(5, handler: nil)
Run Code Online (Sandbox Code Playgroud)

但通过点击按钮,我的测试失败。谢谢

ios xctest swift xcode-ui-testing

2
推荐指数
1
解决办法
1224
查看次数

使用Swift在Xcode中进行异步UI测试

我正在编写一个提供大量网络请求的应用程序.像往常一样,它们是异步的,即请求方法的调用立即返回,结果通过委托方法或在一些延迟后的闭包中传递.现在,在我的注册屏幕上,我向我的后端发送了一个注册请求,并希望在请求完成时验证是否显示了成功UI.

有哪些选项可以等待请求完成,验证成功UI并且只有在离开测试方法之后?

还有比等待请求完成更聪明的选择吗?

提前致谢!

testing xcode unit-testing ios swift

2
推荐指数
1
解决办法
1865
查看次数

标签 统计

ios ×2

swift ×2

xcode-ui-testing ×2

testing ×1

unit-testing ×1

xcode ×1

xctest ×1