【发布时间】:2022-12-05 01:52:52
【问题描述】:
我需要检查活动设备或模拟器上是否安装了具有特定 bundleIdentifier 的应用程序,我需要通过 XC UI 测试执行此操作。
我试过这样做:
import XCTest
class ServerLoop: XCTestCase {
func testRunAppInstalled() async throws {
let app = XCUIApplication("pl.bartekpacia.SomeApp")
if app.exists {
// code
}
}
}
但不幸的是,它只告诉我该应用程序当前是否打开,未安装。
我希望能够检查是否任何应用程序已安装,不仅是我的应用程序。我需要这个,因为如果没有安装带有bundleId 的应用程序而我安装了XCUIApplication(bundleId),那么测试将失败并且没有办法阻止它这样做。
【问题讨论】:
-
只是一个想法:给一些应用程序一个自定义方案。如果您能够打开该方案,则该应用程序已安装。 (我建议这样做是因为这是我的应用程序了解是否安装了某些其他应用程序的方式。)
-
我如何向 com.apple.Maps 或 com.apple.preferences 添加自定义方案?我编辑了问题以使我的意图更清楚。
-
地图有一个您可以检查的自定义方案。我不知道
com.apple.preferences指的是什么。 -
com.apple.preferences是 Settings.app :) -
不过,让我们把它留在这里,看看是否有人提供不同的信息