diff --git a/WordPress/UITestsFoundation/Screens/Editor/BlockEditorScreen.swift b/WordPress/UITestsFoundation/Screens/Editor/BlockEditorScreen.swift index ace064c4ca8b..4def7eedb799 100644 --- a/WordPress/UITestsFoundation/Screens/Editor/BlockEditorScreen.swift +++ b/WordPress/UITestsFoundation/Screens/Editor/BlockEditorScreen.swift @@ -96,7 +96,7 @@ public class BlockEditorScreen: ScreenObject { $0.staticTexts["You have unsaved changes."] } - private let turnOnImageOptimizationButtonGetter: (XCUIApplication) -> XCUIElement = { + private let leaveOnImageOptimizationButtonGetter: (XCUIApplication) -> XCUIElement = { $0.buttons["Yes, leave on"] } @@ -127,7 +127,7 @@ public class BlockEditorScreen: ScreenObject { var switchToHTMLModeButton: XCUIElement { switchToHTMLModeButtonGetter(app) } var undoButton: XCUIElement { undoButtonGetter(app) } var unsavedChangesLabel: XCUIElement { unsavedChangesLabelGetter(app) } - var turnOnImageOptimizationButton: XCUIElement { turnOnImageOptimizationButtonGetter(app) } + var leaveOnImageOptimizationButton: XCUIElement { leaveOnImageOptimizationButtonGetter(app) } var turnOffImageOptimizationButton: XCUIElement { turnOffImageOptimizationButtonGetter(app) } public init(app: XCUIApplication = XCUIApplication()) throws { @@ -197,6 +197,7 @@ public class BlockEditorScreen: ScreenObject { public func addImageGallery() throws -> BlockEditorScreen { addBlock("Gallery block") try addMultipleImages(numberOfImages: 3) + try dismissImageOptimizationPopupIfNeeded() return self } @@ -204,9 +205,10 @@ public class BlockEditorScreen: ScreenObject { /** Chooses the option of Optimize Images popup. */ + @discardableResult public func chooseOptimizeImages(option: Bool) throws -> BlockEditorScreen { if option { - turnOnImageOptimizationButton.tap() + leaveOnImageOptimizationButton.tap() } else { turnOffImageOptimizationButton.tap() @@ -215,6 +217,12 @@ public class BlockEditorScreen: ScreenObject { return self } + public func dismissImageOptimizationPopupIfNeeded() throws { + if leaveOnImageOptimizationButton.waitForIsHittable() { + try chooseOptimizeImages(option: true) + } + } + public func addVideoFromUrl(urlPath: String) -> Self { addMediaBlockFromUrl( blockType: "Video block", @@ -454,6 +462,7 @@ public class BlockEditorScreen: ScreenObject { private func addMultipleImages(numberOfImages: Int) throws { try chooseFromDevice() .selectMultipleImages(numberOfImages) + try dismissImageOptimizationPopupIfNeeded() } private func chooseFromDevice() throws -> PHPickerScreen {