Cliquez sur pas entièrement visible imageButton avec Espresso

J'ai un custom ImageButton qui n'est pas entièrement visible, de par sa conception, alors quand j'ai effectuer un clic, j'obtiens cette erreur:

android.support.test.espresso.PerformException: Error performing 'single click' on view 'with id: test.com.myproject.app:id/navigationButtonProfile'.
Caused by: java.lang.RuntimeException: Action will not be performed because the target view does not match one or more of the following constraints:
at least 90 percent of the view's area is displayed to the user.
at android.support.test.espresso.ViewInteraction$1.run(ViewInteraction.java:138)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5356)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
at dalvik.system.NativeStart.main(Native Method)

Une petite partie de la touche est en dehors de l'écran (c'est à dire qu'il est rognée sur le haut), peut-être que 12% de la touche est en dehors de l'écran. C'est par la conception, et il n'est pas possible de faire défiler ou d'exécuter toute action vue de le rendre visible.
Tout savoir comment sortir de cette à 90% par la contrainte?

Solution:
J'ai créé mon propre cliquez sur action, comme l'a suggéré, et il a parfaitement fonctionné.
J'ai copié la classe de Google Espresso et changé de 90 à 75 dans cette méthode:

    @Override
    @SuppressWarnings("unchecked")
    public Matcher<View> getConstraints() {
        Matcher<View> standardConstraint = isDisplayingAtLeast(75);
        if (rollbackAction.isPresent()) {
            return allOf(standardConstraint, rollbackAction.get().getConstraints());
        } else {
            return standardConstraint;
        }
    }
  • le rollbackAction partie du code a été de me donner le message d'erreur de compilation, et il ne pouvait pas être automatiquement importées
InformationsquelleAutor HowieH | 2015-03-03