Я пытаюсь использовать UIautomator и Espresso, чтобы разрешить разрешение на использование Android Marshmallow и Nougat. У меня есть простой тест, который нажимает кнопку «Разрешить». Он работает, когда я запускаю его через андроид-студию, но когда я запускаю его через командную строку с ./gradlew connectedCheck, тест не выполняется. Вот мой код:UIautomator не работает .gradlew android
@RunWith(AndroidJUnit4.class) @SdkSuppress(minSdkVersion = 18) public class AllowLocation {
@Rule
public ActivityTestRule<MainActivity> activityRule =
new ActivityTestRule<>(MainActivity.class);
public boolean isFirstTime() {
if (activityRule.getActivity() != null) {
return false;
}
return true;
}
public void checkFirstTimeOpen() {
if (isFirstTime()) {
SystemClock.sleep(1000);
onView(allOf(withId(R.id.txt_login_cross), withText("X"), isDisplayed()))
.perform(click());
}
}
@Test
public void allowLocation() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !isFirstTime()) {
checkFirstTimeOpen();
UiDevice mDevice = UiDevice.getInstance(getInstrumentation());
UiObject allowPermissions = mDevice.findObject(new UiSelector().text("Allow"));
if (allowPermissions.exists()) {
try {
allowPermissions.click();
Log.d("Permission clicked", "MainActivity.class");
} catch (UiObjectNotFoundException e) {
Log.d(e.toString(), "There is no permissions dialog to interact with ");
}
}
}
}
}