这是我的自定义 View ,其中"LondonStreet"是一个按钮。

swift - 如何在Safari中打开url,并在Xcode 7中的UITests下返回到应用程序?-LMLPHP

当我点击该按钮时,我会得到url并在Safari中打开它(它有效)。然后,我可以使用"Back to Wishlist"按钮返回(也可以使用)。

swift - 如何在Safari中打开url,并在Xcode 7中的UITests下返回到应用程序?-LMLPHP

问题是当我尝试在UITests下进行测试时。

itemsTable.cells.elementBoundByIndex(0).buttons["addressButton"].tap() //press the button to open link in Safari

伴随这行:
app.statusBars.buttons["Back to Wishlist"].tap() //go back, doesn't work, although it was recorded by Xcode itself.

是一个错误:



并在中也发布了Navigator



swift - 如何在Safari中打开url,并在Xcode 7中的UITests下返回到应用程序?-LMLPHP

最佳答案

从iOS 11开始,您可以使用XCUIApplication(bundleIdentifier :)初始化程序与其他应用程序进行交互。

要返回您的应用,您需要执行以下操作:

let myApp = XCUIApplication(bundleIdentifier: "my.app.bundle.id")
let safari = XCUIApplication(bundleIdentifier: "com.apple.mobilesafari")

// Perform action in your app that opens Safari

safari.wait(for: .runningForeground, timeout: 30)
myApp.activate() // <--- Go back to your app

10-06 02:33