- 新增字体选择(系统/宋体/圆体/等宽)与暗色图片柔化配置 - 文本选择改为自定义手势+操作栏(拷贝/高亮/批注) - 添加 accessibilityIdentifier 支持自动化 UI 测试 - 新增 UITests 覆盖阅读器打开/关闭、工具栏、设置面板、批注等 - 添加 Demo 测试用 EPUB 书源(宝山辽墓材料与释读) - 新增文档:UI 自动化测试、功能开发计划、阅读器规划
39 lines
1.3 KiB
Swift
39 lines
1.3 KiB
Swift
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.scrollViews[IDs.settingsScroll].waitForExistence(timeout: 5))
|
|
let fontValue = app.staticTexts[IDs.settingsFontValue]
|
|
XCTAssertTrue(fontValue.waitForExistence(timeout: 3))
|
|
let before = fontValue.label
|
|
|
|
app.buttons[IDs.settingsFontIncrease].tap()
|
|
XCTAssertNotEqual(before, fontValue.label)
|
|
|
|
app.buttons[IDs.settingsFontDecrease].tap()
|
|
let fontChoice = app.segmentedControls[IDs.settingsFontChoice]
|
|
XCTAssertTrue(fontChoice.waitForExistence(timeout: 3))
|
|
fontChoice.buttons["宋体"].tap()
|
|
|
|
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))
|
|
}
|
|
}
|