mobile-dev-inc / maestro

Painless Mobile UI Automation
https://maestro.mobile.dev/
Apache License 2.0
5.67k stars 257 forks source link

Support real iOS devices #686

Open lsaudon opened 1 year ago

lsaudon commented 1 year ago

Hello,

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

Thank you in advance.

dmitry-zaitsev commented 1 year ago

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

apaolino commented 1 year ago

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

lsaudon commented 1 year ago

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

LoC743 commented 1 year ago

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

tomoakley commented 1 year ago

@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 commented 1 year ago

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

zacharyfmarion commented 1 year ago

@amanjeetsingh150 does this PR move us closer to iOS device support? https://github.com/mobile-dev-inc/maestro/pull/1319?

tomoakley commented 1 year ago

@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 commented 1 year ago

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 commented 1 year ago

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 commented 11 months ago

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

lucasoliveiraw00 commented 7 months ago

Hi, any news on this topic?

tristian-azuara-sh commented 1 month ago

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