Skip to content

Appium tests do not detect content inside Flyout Detail on iOS #16245

@kyurkchyan

Description

@kyurkchyan

Description

Overview

We are currently in the process of Migrating Xamarin.Forms to .NET MAUI. To ensure that our features are working as expected we Utilize set of unit, integration and UI tests. UI Tests are written using Appium.

Our application's UX is heavily based on Flyout page. Unfortunately, on iOS platform, the Appium driver is not able to recognize the content inside the flyout details page.

This behavior can be observed using Appium Inspector as well. Take a look at the bellow screenshots that show the Appium inspector running against the Maui app with a Flyout page and comparing it with the Forms equivalent

Appium inspector running against the Maui app

Flyout selected inside a Maui app

Maui_Flyout_Selected

Detail selected inside a Maui app

Maui_Detail_Selected

As you can see in the second screenshot the selected node that corresponds to the Detail page is completely empty and when you click on it the whole screen becomes "blue" denoting that the detail page is not actually selected.

Appium inspector running against the Forms app

Flyout selected inside the Forms app

Forms_Flyout_Selected

Detail selected inside the Forms app

Forms_Detail_Selected

Notice how the node that corresponds to the detail page has children and you can drill until you reach the Page2Label

Version details

Appium - 2.0.0
XCUITest - 4.32.6

Steps to Reproduce

  1. Clone the sample on a Mac
  2. Ensure that Appium together with XCUITest drivers are installed
  3. Launch the appium server
  4. Run the FlyoutPlayground.Forms.iOS in a simulator with a Release mode to generate the *.app package
  5. Run the FlyoutPlayground.Maui in a simulator with a Release mode to generate the *.app package
  6. Set the SampleToRun property inside the UITests\appsettings.json to "Forms"
  7. Run the UI tests and observe they are working as expected
  8. Set the SampleToRun property inside the UITests\appsettings.json to "Maui"
  9. Run the UI tests and observe they failing

Link to public reproduction project repository

https://github.com/kyurkchyan/MauiFormsAppiumTests

Version with bug

7.0.49

Last version that worked well

6.0

Affected platforms

iOS

Affected platform versions

Tested iOS 16

Did you find any workaround?

No response

Relevant log output

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions