import XCTest final class SettingsPanelTests: XCTestCase { private let app = XCUIApplication() override func setUpWithError() throws { continueAfterFailure = false } func testOpenChangeFontAndCloseSettings() { app.launchAndOpenSampleBook() app.waitForReader() app.showReaderChromeIfNeeded() XCTAssertTrue(app.buttons[IDs.readerSettings].waitForExistence(timeout: 5)) app.buttons[IDs.readerSettings].tap() XCTAssertTrue(app.waitForSettingsPanel()) let fontValue = app.staticTexts[IDs.settingsFontValue] XCTAssertTrue(fontValue.waitForExistence(timeout: 3)) let before = fontValue.label XCTAssertTrue(app.increaseSettingsFontSize(), "字号滑块应存在") XCTAssertNotEqual(before, fontValue.label) XCTAssertTrue(app.decreaseSettingsFontSize(), "字号滑块应存在") XCTAssertTrue( app.selectSettingsPillOption(pillIdentifier: IDs.settingsFontChoice, optionTitle: "宋体"), "字体应可切换到宋体" ) let darkTheme = app.buttons[IDs.settingsTheme(5)] XCTAssertTrue(darkTheme.waitForExistence(timeout: 3)) darkTheme.tap() app.buttons[IDs.settingsDone].tap() XCTAssertTrue(app.buttons[IDs.readerBack].waitForExistence(timeout: 5)) } }