问题
I've got it down to:
XCUIDevice.pressButton(noideawhatgoeshere)
I've tried XCUIDeviceButtonHome, home, Home, 1
How do I simulate pressing the home button in Xcode on iOS?
回答1:
You need to get the device instance first. So to simulate pressing the home button:
XCUIDevice.sharedDevice().pressButton(XCUIDeviceButton.Home)
should work (it does for me on a physical device)
Thanks!
Mazen
Swift 5 Version:
XCUIDevice.shared.press(XCUIDevice.Button.home)
Also, verified it works in the simulator, at least in Xcode 11.2.1 on a simulated "iPad Pro (9.7-inch)" running iPadOS 13.2.2.
回答2:
Swift 4:
XCUIDevice.shared.press(.home)
回答3:
In Swift version 4.0.2 and 4.0.3:
XCUIDevice.shared().press(XCUIDeviceButton.home)
回答4:
I know of no way to simulate the home button - this might not be possible. You can sorta brute force it with: [[UIApplication sharedApplication] terminate];
or you can put your app in the background for a specified duration with: UIATarget.localTarget().deactivateAppForDuration(seconds);
(excuses for using objc)
回答5:
Objective C
[XCUIDevice.sharedDevice pressButton:1];
Home button = 1, Volume up button = 2, Volume down button = 3.
回答6:
Now in Swift 4.1:
XCUIDevice.shared.press(XCUIDevice.Button.home)
来源:https://stackoverflow.com/questions/32853818/simulating-pressing-the-home-button-in-xcode-7-ui-automation