我想为我的iOS应用程序编写一个测试,以验证从自定义注册的URL方案启动应用程序时显示的屏幕内容是否正确。
例如,用户收到一封电子邮件,其中包含myapp://action1/1234
的链接。当他们点击此链接时,我的应用程序将启动,屏幕显示“1234”。
在didFinishLaunchingWithOptions
中,AppDelegate检查launchOptions?[UIApplicationLaunchOptionsURLKey]
是否存在并采取适当的操作。
如何编写UI测试,以便在应用启动时,应用launchOptions字典包含预期的URL?
1条答案
按热度按时间mu0hgdu01#
您可以通过在
XCUIApplication
上使用launchEnvironment
并在目标应用中使用几行自定义代码来实现这一点。基本上,您将为此测试设置一个自定义启动环境变量,然后在您的应用中检查该变量,并以与处理您期望的特定UIApplicationLaunchOptionsURLKey
存在相同的方式处理它。在你的应用中,你可以通过
NSProcessInfo.processInfo.environment
来检查这个值,它会返回一个环境变量的字典。(Take注意,Xcode 7中的默认XCTestCase模板包括对
setup
中的XCUIApplication -launch
的调用,这将终止任何先前运行的示例,并默认启动一个新示例。