在 Xcode 7 UI 自动化中模拟按下主页按钮

Simulating pressing the Home button in Xcode 7 UI Automation

我已经归结为:

XCUIDevice.pressButton(noideawhatgoeshere)

我试过 XCUIDeviceButtonHome, home, Home, 1

如何在 iOS 上模拟按下 Xcode 中的主页按钮?

我知道没有办法模拟主页按钮 - 这可能是不可能的。您可以通过以下方式对其进行暴力破解:[[UIApplication sharedApplication] terminate]; 或者您可以通过以下方式将您的应用程序置于后台指定的持续时间:UIATarget.localTarget().deactivateAppForDuration(seconds);

(使用objc的借口)

您需要先获取设备实例。所以要模拟按下主页按钮:

XCUIDevice.sharedDevice().pressButton(XCUIDeviceButton.Home)

应该可以(在物理设备上对我有用)

谢谢!

马赞

Swift 5 版本:

XCUIDevice.shared.press(XCUIDevice.Button.home)

另外,验证它在模拟器中工作,至少在 Xcode 11.2.1 在模拟 "iPad Pro (9.7-inch)" 运行 iPadOS 13.2.2 上是这样。

Objective C

    [XCUIDevice.sharedDevice pressButton: XCUIDeviceButtonHome];

还有 XCUIDeviceButtonVolumeUp 音量增大按钮和 XCUIDeviceButtonVolumeDown 音量减小按钮。

Swift 4:

XCUIDevice.shared.press(.home)

在 Swift 版本 4.0.24.0.3:

XCUIDevice.shared().press(XCUIDeviceButton.home)

现在 Swift 4.1:

XCUIDevice.shared.press(XCUIDevice.Button.home)