Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Compose Multiplatform on iOS #1746

Closed
Alaksion opened this issue May 16, 2024 · 5 comments
Closed

Add support for Compose Multiplatform on iOS #1746

Alaksion opened this issue May 16, 2024 · 5 comments
Labels
bug Something isn't working framework: compose Testing apps built with Compose (incl. Multiplatform) is affected platform: ios Testing iOS apps is affected waiting for customer response More information is needed from the customer before we can progress on the issue

Comments

@Alaksion
Copy link

Alaksion commented May 16, 2024

Is your feature request related to a problem? Please describe.
I'm working on an app with 6M+ users and we are planning to refactor our E2E tests to achieve better consistency and efficiency. The team found out about Maestro and the tool looks really promising: easy to use, understand and maintain.
Our app is written with compose Multiplatform and workflows are working as expected on the Android side, on the other hand, IOS integration is not working as we expected.

Describe the solution you'd like
It would be great if there was a way of interacting with the IOS app using finders based on displayed text or accessibility identifiers. Right now it looks like this approach is not working.

Additional context
I have created a sample app to simulate the problem I'm having: CMP Sample

Test environment

Maestro version: 1.36.0
Compose Multiplatform version: 1.6.2

Steps to reproduce:

  1. Clone the repository
  2. Install the IOS app in the simulator
  3. Run the sample.yaml workflow inside the maestro folder.
  4. Assert the workflow steps are passing but nothing actually happens in the simulator
  5. Run the workflow on the android app and assert workflows are passing and emulator responds to maestro's actions

As you can see in the sample app repository I tried to force accessibility sync using accessibilitySyncOptions = AccessibilitySyncOptions.Always(null) and it worked partially. With this configuration maestro studio can identify the nodes but cannot interact with them.

@Alaksion Alaksion added the enhancement New feature request or improvement of an existing feature label May 16, 2024
@bartekpacia bartekpacia added platform: android Testing Android apps is affected bug Something isn't working framework: compose Testing apps built with Compose (incl. Multiplatform) is affected platform: ios Testing iOS apps is affected and removed enhancement New feature request or improvement of an existing feature platform: android Testing Android apps is affected labels Jul 10, 2024
@bartekpacia
Copy link
Contributor

bartekpacia commented Jul 10, 2024

Hey @Alaksion, thanks for the report!

I consider this to be a bug instead of feature request, since from what I know, Compose supports accessibility on iOS since 1.6.0, and Maestro works by querying th accessibility tree, so it should work out of the box.

@bartekpacia
Copy link
Contributor

I tried to reproduce it, but didn't succeed (commit 38a8a). The sample.yaml flow you shared fails, as is expected.

macOS Sonoma 14.5, Xcode 15.4, iOS 17.5 simulator. Please see attached video.

rec.mp4

@bartekpacia bartekpacia added the waiting for customer response More information is needed from the customer before we can progress on the issue label Jul 10, 2024
@bartekpacia bartekpacia changed the title [Feature Request] Add support for Compose Multiplatform on IOS Add support for Compose Multiplatform on iOS Jul 10, 2024
@bartekpacia
Copy link
Contributor

bartekpacia commented Jul 11, 2024

possibly related: #1549

Copy link

Without additional information, we can't resolve this issue. We're therefore reluctantly going to close it.
Feel free to open a new issue with all the required information provided, including a [minimal, reproducible sample]. When creating a new issue, please make sure to diligently fill out the issue template.
Thank you for your contribution to our open-source community!
[minimal, reproducible sample]: https://stackoverflow.com/help/minimal-reproducible-example

Copy link

github-actions bot commented Aug 1, 2024

This issue has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar problem, please file a new issue. Make sure to follow the template and provide all the information necessary to reproduce the issue.
Thank you for helping keep us our issue tracker clean!

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 1, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working framework: compose Testing apps built with Compose (incl. Multiplatform) is affected platform: ios Testing iOS apps is affected waiting for customer response More information is needed from the customer before we can progress on the issue
Projects
None yet
Development

No branches or pull requests

2 participants