我对Mac应用程序进行了相当正常的XCTest UI
测试,该应用程序单击应用程序菜单中的某些菜单项以打开窗口。
在某些地方 - 比如我自己的Mac - 测试工作正常。但在其他地方 - 比如Travis CI
- 他们失败了,出现了这个错误:
UI Testing Failure - Failed to receive event delivery confirmation within 2.5s of the original dispatch.
...
menuBarsQuery.menuBarItems["Top level menu item"].click()
menuBarsQuery.menuItems["Menu item in sub menu"].click()
系统:
测试用例的略微消毒版本:
import XCTest
class FooUITests: XCTestCase {
override func setUp() {
super.setUp()
continueAfterFailure = false
XCUIApplication().launch()
}
override func tearDown() {
super.tearDown()
}
func testCanDoSomething() {
let app = XCUIApplication()
let menuBarsQuery = app.menuBars
menuBarsQuery.menuBarItems["Top level menu item"].click()
menuBarsQuery.menuItems["Menu item in sub menu"].click()
let window = app.windows["Foo"]
// Rest of test, assertions, actions in window etc.
}
}
它在本地不可复制,所以我会问听众......为什么会发生这种错误?