【发布时间】:2021-02-05 14:51:34
【问题描述】:
我正在尝试寻找一种可靠的方法来检查应用程序是否通过 MDM 下载并在设备上可用。我认为以下方法可行:
let authenticatorApp = XCUIApplication(bundleIdentifier: "com.microsoft.azureauthenticator")
XCTAssert(authenticatorApp.waitForExistence(timeout: 60))
但这似乎总是超时,即使应用程序已安装。
我能想到的唯一方法是检查 URL 方案的存在,但我认为这不适用于所有应用程序,因为有些应用程序没有。
有没有更好的办法?
更新:我尝试了launch()的do-catch,但它似乎没有抛出异常并且总是无法通过测试,所以这不起作用。我还尝试在 for 循环中观察状态(带有睡眠),但这也不起作用。
UPDATE2:我什至无法使用 canOpenURL() 路由来解决这个问题。即使我在“LSApplicationQueriesSchemes”中添加一个条目,我也会收到“不允许查询此应用程序”,我听说这在某些版本的 iOS(13?)上坏了
【问题讨论】:
-
我找到的唯一答案要求应用程序有一个 URL 方案并使用它。
-
不幸的是,我无法让它在 iOS 14.3 上运行。如果可以,请告诉我,如果可以,请告诉我 iOS 版本。
标签: xcode unit-testing testing automated-tests xcuitest