mmcc007 / sylph

Runs Flutter integration tests on real devices in cloud.
GNU General Public License v3.0
157 stars 43 forks source link

IOS #7

Closed ghost closed 5 years ago

ghost commented 5 years ago

Did you send as issue to the Amazon team about the tooling to try to get it moving with IOS testing ?

Wondering where the cause of this is ?

mmcc007 commented 5 years ago

I had a phone meeting with the Device Farm's engineering team. They are interested in being able to run Flutter. As with most device farm providers, they use Appium and therefore expect to install a final app artifact and test it via an 'integration test' app (AFAIK).

While I found a way to get it to work with android devices, the Appium model does not work well with iOS devices. The main reason has to do with the build chain Flutter uses for iOS. There may well be a way to make it work. I just haven't found a way so far. The engineers I talked to on the Device Farm team are available to provide support.

If no way is found, the alternative is to try to convince the Device Farm team to change their API.

mmcc007 commented 5 years ago

I filed an issue with the Flutter team on this that they fixed back in April (which I had since forgotten about). Time permitting, I will take another look at it. https://github.com/flutter/flutter/issues/28662

mmcc007 commented 5 years ago

Looks like the 'not running on iOS' issue has been resolved.

Upon contact from the Flutter team, had another phone meeting with the Device Farm engineers a few weeks ago. This time with a Flutter team lead.

With support from both teams I was able to find a path thru both the flutter tool chain for iOS and the Device Farm runtime environment for iOS. See #8 for details.

I released an updated version of Sylph with this new feature. It should work now from a local mac (and in a CI environment).

Give it a shot and let me know how if you find any bugs or enhancements. (currently requires a forked version of flutter https://github.com/mmcc007/flutter to build a testable .ipa. There's a fix for that coming, see #13)