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

Support real iOS devices #686

Open
lsaudon opened this issue Jan 26, 2023 · 17 comments
Open

Support real iOS devices #686

lsaudon opened this issue Jan 26, 2023 · 17 comments
Labels
enhancement New feature request or improvement of an existing feature epic A new feature that seems to require more effort P2 Important and valid issues not at the top of the work list

Comments

@lsaudon
Copy link

lsaudon commented Jan 26, 2023

Hello,

I wanted to know if any work had been started on supporting real iOS devices.

Thank you in advance.

@dmitry-zaitsev
Copy link
Collaborator

Hey, we are gradually working towards that goal. One of the requirements for that is to move away from IDB dependency and switch over to our newest XCUITest driver. A rough estimation for real device support is Q2 2023

@dmitry-zaitsev dmitry-zaitsev added the enhancement New feature request or improvement of an existing feature label Jan 26, 2023
@apaolino
Copy link

apaolino commented Mar 9, 2023

Are there any news about this feature? Having a real device it's a requirement for testing in-app purchases on iOS

@lsaudon
Copy link
Author

lsaudon commented Mar 9, 2023

I've seen commits go by where IDB is replaced, but I think it's not over yet.

@LoC743
Copy link

LoC743 commented Jul 7, 2023

@dmitry-zaitsev
Hey, are there any updates about moving away from IDB?

@tomoakley
Copy link

tomoakley commented Jul 13, 2023

@dmitry-zaitsev we're currently evaluating UI testing for real devices for our mobile app. iOS real device support is a big deal. We need to have some sort of idea or estimate of when this might be available, especially as Q2 has been and gone. Are you able to provide this? Your silence after @LoC743's comment is slightly worrying.

@zacharyfmarion
Copy link

+1, this project looks great but without physical iOS support my team can't migrate to using it

@zacharyfmarion
Copy link

@amanjeetsingh150 does this PR move us closer to iOS device support? #1319?

@tomoakley
Copy link

tomoakley commented Aug 10, 2023

@zacharyfmarion just fyi, I believe @dmitry-zaitsev left mobile.dev earlier this year. So that'll be why he's not replying.

I emailed Maestro support and asked about iOS and they told me:

We looked into it and it was going to be a much larger investment in time and resources than initially anticipated but absolutely still on our radar for the future. Many customers haven't had a hard requirement for it to run their testing so we are just trying to prioritize what is most urgent for our users. Dev experience and time saved on testing is definitely the biggest factor for folks moving forward with Maestro.

Which is disappointing- but understandable.

I don't know about that PR but it looks interesting.

@amanjeetsingh150
Copy link
Collaborator

Hey, @zacharyfmarion yes that's right it was huge blocker for real device support getting rid of IDB moves us one step closer to the real device.

Now as @tomoakley said it is definitely a larger investment, I could name some of the blockers that still remain for physical device from maestro side:

  1. Having XCTest support for the implementations that still rely on simctl here: https://github.com/mobile-dev-inc/maestro/blob/main/maestro-ios/src/main/java/ios/simctl/SimctlIOSDevice.kt for example screen recording, launching app etc.
  2. Getting rid of applesimutils: https://github.com/mobile-dev-inc/maestro/blob/5684c215d6979e64890b89e6fa5a3d24d40bd55c/maestro-ios-driver/src/main/kotlin/util/LocalSimulatorUtils.kt#L321 Right now the way how it works is: apart from notifications permissions every permission is auto granted from applesimutils which again needs an alternative implementation for physical device. For this one, we can auto grant every permission to similar to how notifications work from this request here: https://github.com/mobile-dev-inc/maestro/blob/main/maestro-ios-xctest-runner/maestro-driver-iosUITests/Routes/Helpers/SystemPermissionHelper.swift#L6.

Contributions are welcome on this let me know if you need help 🙌

@VuchenichD-Roche
Copy link

Hey, @amanjeetsingh150 has anyone looked into go-ios (https://github.com/danielpaulus/go-ios) as a possible solution for implementing real iOS device support into Maestro?

@NilPascual
Copy link

Hey, any news on this topic? We are waiting for this feature and it was estimated for Q2. Thanks a lot!

@lucasoliveiraw00
Copy link

Hi, any news on this topic?

@bartekpacia bartekpacia added the epic A new feature that seems to require more effort label Jul 12, 2024
@tristian-azuara-sh
Copy link

Any progress on this? or in lieu of that any materials to share that could entice contributors to try and help with this?

@bartekpacia bartekpacia added the P2 Important and valid issues not at the top of the work list label Aug 19, 2024
@nalexn
Copy link

nalexn commented Sep 17, 2024

Maestro docs claim real iOS devices are supported through Facebook's IDB:

Maestro CLI can run Flows on any Android device/emulator that supports ADB connections and any iOS device/simulator that supports Facebook's IDB. You can manually orchestrate your Flow execution against any provider that supports these protocols. Just use the Maestro CLI to run your Flows like you would locally.

After running idb connect <UDID> and idb_companion --udid <UDID>, the idb is able to successfully operate on both simulators AND real devices, but maestro doesn't see the device by UDID, outputing the error "Device with id ... is not connected"

Can someone confirm this is supported or not? Is a way to make the real iOS device a valid target for running maestro on, at least through idb?

@krystofwoldrich
Copy link

Hello everyone, was there any progress toward running Maestro with real iOS devices?

@KrisLau
Copy link

KrisLau commented Jan 1, 2025

@krystofwoldrich To my knowledge, not yet

@nhaarman
Copy link
Contributor

nhaarman commented Mar 3, 2025

@Leland-Takamine You mentioned on HackerNews that this is 'in the works', what's the status?
This will decide whether or not we will start using Maestro

https://news.ycombinator.com/item?id=43221532

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature request or improvement of an existing feature epic A new feature that seems to require more effort P2 Important and valid issues not at the top of the work list
Projects
None yet
Development

No branches or pull requests