Repository navigation
feat(ios): support permissions for multiple apps - #1019
Open
alvar-bolt wants to merge 1 commit into
Open
alvar-bolt wants to merge 1 commit into
alvar-bolt wants to merge 1 commit into
Conversation
Preserve the existing permissions.grant behavior for the application under test while allowing per-bundle grants with optional lifecycle overrides.\n\nThis lets simulator test farms pre-grant system applications such as Apple Maps before each batch and avoid cross-test permission prompts.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds support for granting iOS simulator permissions to additional applications by bundle identifier.
Today
permissions.grantonly applies to the application under test. This change preserves that behavior and adds an optionalpermissions.applicationsmap so test farms can pre-grant permissions to system or companion apps, for example Apple Maps, before running UI tests.All permission grants use the existing top-level
permissions.lifecycle.Motivation
We have UI tests that launch Apple Maps. Apple Maps immediately requests permissions, and today Marathon can only pre-grant permissions for the application under test.
Those tests are expected to handle/grant that access themselves, but if that path fails for any reason, the simulator can be left with an Apple Maps permission alert still open. That leaks state into the environment and can cause following test runs on the same simulator to fail.
This change lets us pre-grant permissions for Apple Maps through Marathon config, avoiding that cross-run simulator state leak.
Example