В доступе к тесту эспрессо отказано в выполнении команды оболочки "geo fix .." - PullRequest
0 голосов
/ 21 июня 2019

Ищите решение этой проблемы с разрешением, выполняя тест эспрессо, который отправляет команды "geo fix".

@Test
public void test_geofix() { 
   // ...throws exception
   InstrumentationRegistry.getInstrumentation().
       getUiAutomation().executeShellCommand("geo fix -70 40 3");
}

выдает это исключение (появляется в журнале, но перехватывается UIAutomation):

java.lang.RuntimeException: Error running shell command
    at android.app.UiAutomationConnection$1.run(UiAutomationConnection.java:300)
 Caused by: java.io.IOException: Cannot run program "geo": error=13, Permission denied
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:983)
    at java.lang.Runtime.exec(Runtime.java:691)
    at java.lang.Runtime.exec(Runtime.java:524)
    at java.lang.Runtime.exec(Runtime.java:421)
    at android.app.UiAutomationConnection$1.run(UiAutomationConnection.java:286)
 Caused by: java.io.IOException: error=13, Permission denied
    at java.lang.UNIXProcess.forkAndExec(Native Method)
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:133)
    at java.lang.ProcessImpl.start(ProcessImpl.java:128)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:964)
    at java.lang.Runtime.exec(Runtime.java:691) 
    at java.lang.Runtime.exec(Runtime.java:524) 
    at java.lang.Runtime.exec(Runtime.java:421) 
    at android.app.UiAutomationConnection$1.run(UiAutomationConnection.java:286) 

Попытка добавления разрешения ACCESS_MOCK_LOCATION к тестируемому приложению (в отладочном манифесте), но при этом появилось «разрешение, предоставленное только системным приложениям».

Заранее спасибо.

...