Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Grant Permissions Rule errors out while connecting to UiAutomation

Aberta
#332 1 comentário 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
20/100
Tipo de issue
Bug
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
android, java
Domínio
mobile-dev, testing

Direção de pesquisa

Comece reproduzindo a falha intermitente relacionada a GrantPermissionRule.grantPermissions e ao stack trace de UiAutomation.connect, usando a declaração de permissão mostrada na issue. Rastreie a chamada desde BaseTest.java:40 passando por PermissionRequester e UiAutomationShellCommand e, em seguida, determine por que executá-la novamente às vezes tem sucesso. O trabalho estará concluído quando a causa estiver estabelecida e a configuração de permissões não falhar mais de forma intermitente.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

I keep getting these errors for few of my automation tests. Most of the times, on re-running the tests, it works fine again

java.lang.RuntimeException: Error while connecting UiAutomation
	at android.app.UiAutomation.connect(UiAutomation.java:239)
	at android.app.Instrumentation.getUiAutomation(Instrumentation.java:2045)
	at android.app.Instrumentation.getUiAutomation(Instrumentation.java:2002)
	at androidx.test.runner.permission.UiAutomationShellCommand.<init>(UiAutomationShellCommand.java:65)
	at androidx.test.runner.permission.PermissionRequester.addPermissions(PermissionRequester.java:92)
	at androidx.test.rule.GrantPermissionRule.grantPermissions(GrantPermissionRule.java:100)
	at androidx.test.rule.GrantPermissionRule.grant(GrantPermissionRule.java:94)
	at com.example.package.tests.BaseTest.<init>(BaseTest.java:40)
	at com.example.package.tests.ReportFragmentTest.<init>(ReportFragmentTest.java:22)
	at java.lang.reflect.Constructor.newInstance0(Native Method)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:334)
	at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:217)
	at org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4ClassRunner.java:266)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:263)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at androidx.test.runner.AndroidJUnit4.run(AndroidJUnit4.java:104)

I am granting permissions in the following manner

public GrantPermissionRule grantPermissionRule = GrantPermissionRule.grant(Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_PHONE_STATE, Manifest.permission.READ_EXTERNAL_STORAGE);

Any help in this regards will be appreciated.

Linguagem predominante
Java
Estrelas
9.3k
Forks
3.6k
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de android/testing-samples

Todas as issues de android/testing-samples

Issues semelhantes

Mais issues de Java

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.