UCTest中的XCTest Fresh安装应用程序

时间:2017-10-23 21:55:49

标签: ios xcode xcode9 uitest

从Xcode 9开始,有一个新的启动参数.topnav { overflow: hidden; background-color: #333; width: 100%; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.26); } ,我假设在干净安装后启动应用程序。然而,它似乎不起作用,谷歌搜索-StartFromCleanState不会产生任何结果,所以没有文件可以去。

source

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

  1. UITest从启动应用程序开始
  2. UITest打开野生动物园
  3. UITest进入具有深层链接链接的网页
  4. UITest点击链接,应用程序打开
  5. 通过将应用程序从后台状态置于前台状态来打开应用程序的步骤。这意味着应用程序:didFinishLaunchingWithOptions:仅在步骤1中调用一次。

    -StartFromCleanState

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

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

    有没有可用的解决方案?

1 个答案:

答案 0 :(得分:1)

在您指定为源的文档中,编写器提供了示例代码:

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

-StartFromCleanState不是"新的启动参数"。它是为XCUIApplication()。launchArguments方法提供的密钥和值,它由被测应用程序的开发人员(XCUIApplication)来处理传递的启动参数({{1} })。

这个堆栈溢出答案有一些例子: How to access launchEnvironment and launchArguments set in XCUIApplication, running UI tests in XCode?

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

发布时间: ["-StartFromCleanState", "YES"]

有关应用程序生命周期状态和委托方法的更多信息,请参阅此apple doc: https://developer.apple.com/documentation/uikit/uiapplicationdelegate