How to open url in Safari and the get back to the app under UITests in Xcode 7?

后端 未结 2 629
时光说笑
时光说笑 2021-02-04 05:45

This is my custom view where \"LondonStreet\" is a button.

When I tap that button I get url and open it in Safari (it works). Then I can go back, u

相关标签:
2条回答
  • 2021-02-04 05:50

    UI Testing cannot interact with anything outside of your application. In your scenario, the framework can no longer do anything once your app opens Safari.

    To verify this, try printing out the app's hierarchy once Safari opens. You will notice that nothing in Safari nor the navigation bar will show up - you will only see your app's information.

    print(XCUIApplication().debugDescription)
    
    0 讨论(0)
  • 2021-02-04 05:51

    Starting in iOS 11 you can interact with other applications using the XCUIApplication(bundleIdentifier:) initializer.

    To get back to your app you'd do something like:

    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
    
    0 讨论(0)
提交回复
热议问题