我有一个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) 我有一系列的UITests我想作为单独的测试运行,但我不想在每次测试之间重新启动应用程序.如何启动应用程序并使其保持打开状态,以便它不会在测试之间关闭和重新启动.
我尝试在init()中放置XCUIApplication().launch()但是出错了.