// // AuthenticatedUITestCase.swift // suixinkanUITests // // Created by Codex on 2026/6/26. // import XCTest /// 需要已登录态的 UI Test 基类,每个测试类只启动并登录一次。 class AuthenticatedUITestCase: XCTestCase { private static var sharedApp: SuixinkanApp? var app: SuixinkanApp! override class func setUp() { super.setUp() guard sharedApp == nil else { return } guard UITestLaunchConfiguration.credentials != nil else { return } sharedApp = try? UITestAuthenticatedSession.launchLoggedIn() } override class func tearDown() { sharedApp?.application.terminate() sharedApp = nil super.tearDown() } override func setUpWithError() throws { try super.setUpWithError() continueAfterFailure = false guard let sharedApp = Self.sharedApp else { throw XCTSkip("缺少 UI Test 账号或登录失败。") } app = sharedApp app.application.activate() app.waitForGlobalLoadingToDisappear() } }