Open bartekpacia opened 1 year ago
Additionally, I'd like patrol_cli to have a clearer lifecycle:
patrol build
builds the app binaries (app under test and instrumentation app)patrol install
installs the app binaries to simulator/device, but doesn't run them. Requires the app binaries to be built beforehand.patrol run
runs the installed instrumentation app. Requires the apps to be installed beforehand.Of course, we'll keep the patrol test
command, which does all the 3 things in a single invocation.
Notes:
patrol install
on iOS can use:
xcrun simctl install booted <Runner.app path>
ios install --path=<ipaOrAppFolder>
(using go-ios)The same changes should also be applied for Android, to keep behavior consistent.
patrol_cli
doesn't depend on ios-deploy
anymore (see #1303), but this issue still stands, especially the comment above about splitting the lifecycle.
Note for the future: ios runtest
fails to run tests and I don't know why. Meanwhile patrol test --release
works fine (it uses xcodebuild test-without-building
under the hood).
To run tests on a physical iOS device,
patrol_cli
usesios-deploy
(the user has tobrew install ios-deploy
. They can also runpatrol doctor
to see the status).I'd call
ios-deploy
a fragile dependency:Meanwhile
go-ios
:ios-deploy
(for example,ios lang
orios ps
)xcode test-without-building
, which is kinda annoying (see #850)I tested
go-ios
and it already does what we currently do withios-deploy
.Install the app under test:
Install the UI test instrumentation:
Run the app under test:
and then run the UI test instrumentation:
Works just fine (tested with
notifications_test.dart
).