swift 使用URL启动选项启动XCode UI测试

mrwjdhj3  于 2023-11-16  发布在  Swift
关注(0)|答案(1)|浏览(165)

我想为我的iOS应用程序编写一个测试,以验证从自定义注册的URL方案启动应用程序时显示的屏幕内容是否正确。
例如,用户收到一封电子邮件,其中包含myapp://action1/1234的链接。当他们点击此链接时,我的应用程序将启动,屏幕显示“1234”。
didFinishLaunchingWithOptions中,AppDelegate检查launchOptions?[UIApplicationLaunchOptionsURLKey]是否存在并采取适当的操作。
如何编写UI测试,以便在应用启动时,应用launchOptions字典包含预期的URL?

mu0hgdu0

mu0hgdu01#

您可以通过在XCUIApplication上使用launchEnvironment并在目标应用中使用几行自定义代码来实现这一点。基本上,您将为此测试设置一个自定义启动环境变量,然后在您的应用中检查该变量,并以与处理您期望的特定UIApplicationLaunchOptionsURLKey存在相同的方式处理它。
在你的应用中,你可以通过NSProcessInfo.processInfo.environment来检查这个值,它会返回一个环境变量的字典。
(Take注意,Xcode 7中的默认XCTestCase模板包括对setup中的XCUIApplication -launch的调用,这将终止任何先前运行的示例,并默认启动一个新示例。

  • 编辑:想补充一下,我在一篇关于Xcode 7 UI Testing Tips的文章中写了更多关于这个的内容,如果它有帮助的话。

相关问题