2016-03-28 22 views
3

我想爲我的iOS應用程序編寫一個測試,驗證從應用程序從自定義註冊URL方案啓動時顯示的屏幕內容是否正確。使用URL啓動選項啓動XCode UI測試

例如,用戶收到帶有指向myapp://action1/1234的鏈接的電子郵件。當他們點擊此鏈接時,我的應用程序啓動並且屏幕顯示「1234」。

didFinishLaunchingWithOptions我的AppDelegate檢查是否存在launchOptions?[UIApplicationLaunchOptionsURLKey]並採取適當的措施。

如何編寫UI測試,以便應用程序啓動時應用程序launchOptions字典包含預期的URL?

回答

1

您可以利用launchEnvironmentXCUIApplication與您的目標應用中的幾行自定義代碼結合使用,從而完成此項工作。基本上你會爲這個測試設置一個自定義的啓動環境變量,並且在你的應用程序中,你將檢查該變量,並以與你期望的特定UIApplicationLaunchOptionsURLKey相同的方式處理它。

在您的應用程序中,您可以通過NSProcessInfo.processInfo.environment檢查該值,該值返回環境變量的字典。

(請注意,默認在Xcode 7 XCTestCase模板包括setupXCUIApplication -launch通話將終止任何一次運行,默認情況下啓動一個新的實例。)

編輯:想補充一點,我在Xcode 7 UI Testing Tips的一篇文章中寫了更多關於這方面的內容,以防萬一它有幫助。