使用URL启动选项

时间:2016-03-28 17:34:39

标签: ios xcode swift xcode-ui-testing

我想为我的iOS应用编写一个测试,用于验证从自定义注册的URL方案启动应用时是否显示正确的屏幕内容。

例如,用户会收到一封包含myapp://action1/1234链接的电子邮件。当他们点击此链接时,我的应用程序将启动,屏幕显示“1234”。

didFinishLaunchingWithOptions我的AppDelegate检查是否存在launchOptions?[UIApplicationLaunchOptionsURLKey]并采取相应措施。

如何编写UI测试,以便应用程序launchOptions字典包含应用程序启动时的预期URL?

1 个答案:

答案 0 :(得分:1)

您可以利用launchEnvironment上的XCUIApplication结合目标应用中的几行自定义代码来完成这项工作。基本上你会为这个测试设置一个自定义的启动环境变量,在你的应用程序中,你将检查该变量并处理它,就像处理你期望的特定UIApplicationLaunchOptionsURLKey的存在一样。 / p>

在您的应用中,您可以通过NSProcessInfo.processInfo.environment检查该值,该值会返回环境变量字典。

(请注意,Xcode 7中的默认 XCTestCase 模板包含对XCUIApplication -launchsetup的调用,该调用将终止任何以前运行的实例,并通过以下方式启动新实例默认。)

编辑:想要补充一下,我已经在Xcode 7 UI Testing Tips的文章中写了一些关于这一点的内容,以防它有用。