0

Я пытаюсь использовать 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 "); 
      } 
     } 
    } 
} 

}

ответ

0

Если тесты по проверке эмулятора это tool. Это должно помочь вам справиться с разрешением, и в качестве бонуса у него есть дополнительные вещи сверху.

Смежные вопросы