import XCTest /// Die Blätter im Player — Qualität, Tonspur, Untertitel. /// /// Dieser Test ist aus einem Fehlerbericht entstanden: der Qualitätsknopf /// ließ die App hängen. Solange niemand darauf tippen konnte, fiel das nicht /// auf — die Knöpfe lagen unter der Fensterleiste des Macs. /// /// Braucht die Attrappe: `python3 Tools/JellyfinStub/server.py`. final class PlayerSheets: XCTestCase { func testQualitySheetOpens() { let app = XCUIApplication() app.launchArguments = ["-HaloStubServer", "http://127.0.0.1:8096"] app.launch() XCTAssertTrue(app.staticTexts["Weiterschauen"].waitForExistence(timeout: 30)) // Der Aufmacher wechselt alle sechs Stunden, und der Knopf heißt je // nach Titel anders: „Abspielen" bei einem unangefasten, bei einem // angefangenen „Weiterschauen". Beide sind derselbe Weg in den // Player — der Test darf sich nicht auf einen von beiden festlegen. let start = app.buttons.matching( NSPredicate(format: "label IN {'Abspielen', 'Weiterschauen'}") ).firstMatch XCTAssertTrue(start.waitForExistence(timeout: 10), "Kein Weg in den Player") start.tap() var quality = app.buttons["Qualität"].firstMatch if !quality.waitForExistence(timeout: 25) { // Die Bedienelemente blenden sich nach ein paar Sekunden aus. app.tap() quality = app.buttons["Qualität"].firstMatch } XCTAssertTrue(quality.waitForExistence(timeout: 15), "Der Qualitätsknopf ist nicht da") quality.tap() XCTAssertTrue( app.staticTexts["Alle Stufen"].waitForExistence(timeout: 20), "Das Qualitätsblatt öffnet nicht" ) } }