gpt4 book ai didi

ios - XCTest 在 UITest 中全新安装应用程序

转载 作者:行者123 更新时间:2023-11-29 00:09:39 25 4
gpt4 key购买 nike

从 Xcode 9 开始,有一个新的启动参数 -StartFromCleanState,我假设它会在全新安装后启动应用程序。然而,它似乎不起作用,谷歌搜索 -StartFromCleanState 没有产生任何结果,因此没有文档可以使用。

source

我的目标是使用深层链接启动我的应用程序。我的测试流程是这样的:

  1. UITest 从启动应用程序开始
  2. UITest 打开 safari
  3. UITest进入有deeplink链接的网页
  4. UITest 单击链接并打开应用

Step for 通过将应用程序从后台状态切换到前台状态来打开应用程序。这意味着 application:didFinishLaunchingWithOptions: 仅在第 1 步被调用一次。

func test_deeplink() {
programmaticallyTapDeepLink()
XCUIApplication().launchArguments = ["-StartFromCleanState", "YES"]
}

理想情况下,我想在应用程序全新/干净安装时测试深层链接。

我曾尝试在以编程方式点击深层链接之前/之后设置启动参数,但它似乎没有按照我希望的方式工作。

是否有任何可用的解决方案?

最佳答案

在您指定为来源的文档中,作者提供了示例代码:

XCTContext.runActivity(named: "Given I have launched app in clean state") { _ in {
XCUIApplication().launch()
XCUIApplication().launchArguments = ["-StartFromCleanState", "YES"]
}}

-StartFromCleanState 不是“新启动参数”。它是提供给 XCUIApplication().launchArguments 方法的键和值,由被测应用程序 (XCUIApplication) 的开发人员处理传递的启动参数 (["-StartFromCleanState", "YES "]).

这个堆栈溢出答案有一些例子:

您可能还想考虑阅读 userDefaults;您可能希望根据以下两种生命周期方法之一中传递的 launchArguments 触发对它们的重置:

启动时间:

application(_:willFinishLaunchingWithOptions:)
application(_:didFinishLaunchingWithOptions:)

有关应用程序生命周期状态和每个状态期间可用的委托(delegate)方法的更多信息,请参阅此 apple 文档:

关于ios - XCTest 在 UITest 中全新安装应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46899143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com