类android.support.test.espresso.ViewAction源码实例Demo

下面列出了怎么用android.support.test.espresso.ViewAction的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: u2020-mvp   文件: ViewActions.java
/**
 * Perform action of waiting for a specific time. Useful when you need
 * to wait for animations to end and Espresso fails at waiting.
 * <p/>
 * E.g.:
 * onView(isRoot()).perform(waitAtLeast(Sampling.SECONDS_15));
 *
 * @param millis
 * @return
 */
public static ViewAction waitAtLeast(final long millis) {
    return new ViewAction() {
        @Override
        public Matcher<View> getConstraints() {
            return anything();
        }

        @Override
        public String getDescription() {
            return "wait for at least " + millis + " millis.";
        }

        @Override
        public void perform(final UiController uiController, final View view) {
            uiController.loopMainThreadUntilIdle();
            uiController.loopMainThreadForAtLeast(millis);
        }
    };
}
 
private static ViewAction showControls() {
    return new ViewAction() {
        @Override
        public Matcher<View> getConstraints() {
            return isAssignableFrom(MovieView.class);
        }

        @Override
        public String getDescription() {
            return "Show controls of MovieView";
        }

        @Override
        public void perform(UiController uiController, View view) {
            uiController.loopMainThreadUntilIdle();
            ((MovieView) view).showControls();
            uiController.loopMainThreadUntilIdle();
        }
    };
}
 
private static ViewAction showControls() {
    return new ViewAction() {
        @Override
        public Matcher<View> getConstraints() {
            return isAssignableFrom(MovieView.class);
        }

        @Override
        public String getDescription() {
            return "Show controls of MovieView";
        }

        @Override
        public void perform(UiController uiController, View view) {
            uiController.loopMainThreadUntilIdle();
            ((MovieView) view).showControls();
            uiController.loopMainThreadUntilIdle();
        }
    };
}
 
源代码4 项目: polling-station-app   文件: TestMainActivity.java
/**
 * Test if the manual input activity opens.
 */
@Test
public void testGoToManual() {
    onView(withId(R.id.manual_input_button)).check(matches(allOf( isEnabled(), isClickable()))).perform(
            new ViewAction() {
                @Override
                public Matcher<View> getConstraints() {
                    return isEnabled(); // no constraints, they are checked above
                }

                @Override
                public String getDescription() {
                    return "click manual input button";
                }

                @Override
                public void perform(UiController uiController, View view) {
                    view.performClick();
                }
            }
    );
    intended(hasComponent(ManualInputActivity.class.getName()));
}
 
源代码5 项目: Villains-and-Heroes   文件: CustomActions.java
public static ViewAction typeQuery(final String value) {
    return new ViewAction() {

        @Override
        public Matcher<View> getConstraints() {
            return allOf(isDisplayed(), isAssignableFrom(SearchView.class));
        }

        @Override
        public void perform(UiController uiController, View view) {
            ((SearchView) view).setQuery(value, false);
        }

        @Override
        public String getDescription() {
            return String.format("type query(%s)", value);
        }
    };
}
 
源代码6 项目: px-android   文件: ViewText.java
public static String getTextFromMatcher(final Matcher<View> matcher) {
    final String[] stringHolder = { null };
    onView(matcher).perform(new ViewAction() {
        @Override
        public Matcher<View> getConstraints() {
            return isAssignableFrom(TextView.class);
        }

        @Override
        public String getDescription() {
            return "getting text from a TextView";
        }

        @Override
        public void perform(final UiController uiController, final View view) {
            final TextView tv = (TextView) view;
            stringHolder[0] = tv.getText().toString();
        }
    });
    return stringHolder[0];
}
 
源代码7 项目: TokenAutoComplete   文件: InputConnectionTest.java
public static ViewAction forceCommitText(final String text) {
    return new ViewAction() {
        @Override
        public Matcher<View> getConstraints() {
            return isAssignableFrom(ContactsCompletionView.class);
        }

        @Override
        public String getDescription() {
            return null;
        }

        @Override
        public void perform(UiController uiController, View view) {
            ContactsCompletionView completionView = (ContactsCompletionView)view;
            InputConnection connection = completionView.testAccessibleInputConnection;
            connection.commitText(text, 1);
        }
    };
}
 
源代码8 项目: mobile-android-samples   文件: MapActivityTest.java
public static ViewAction waitFor(final long millis) {
    return new ViewAction() {
        @Override
        public Matcher<View> getConstraints() {
            return isRoot();
        }

        @Override
        public String getDescription() {
            return "Wait for " + millis + " milliseconds.";
        }

        @Override
        public void perform(UiController uiController, final View view) {
            uiController.loopMainThreadForAtLeast(millis);
        }
    };
}
 
源代码9 项目: Anecdote   文件: AnecdoteRecyclerViewAction.java
public static ViewAction clickChildViewWithId(final int id) {
    return new ViewAction() {
        @Override
        public Matcher<View> getConstraints() {
            return null;
        }

        @Override
        public String getDescription() {
            return "Click on a child view with specified id.";
        }

        @Override
        public void perform(UiController uiController, View view) {
            View v = view.findViewById(id);
            if (v != null) {
                v.performClick();
            }
        }
    };
}
 
源代码10 项目: Anecdote   文件: AnecdoteRecyclerViewAction.java
public static ViewAction clickAnecdoteTextViewWithId(final int id) {
    return new ViewAction() {
        @Override
        public Matcher<View> getConstraints() {
            return null;
        }

        @Override
        public String getDescription() {
            return "Click on a child view with specified id.";
        }

        @Override
        public void perform(UiController uiController, View view) {
            View v = view.findViewById(id);
            if (v != null) {
                v.performClick();
            }
        }
    };
}
 
源代码11 项目: ChipsLayoutManager   文件: ColumnTest.java
@Test
public synchronized void smoothScrollToPosition_ScrollItemIsNotVisible_FirstVisiblePositionsEqualsScrollingTarget() throws Exception {
    //arrange
    InstrumentalUtil.waitForIdle();

    //act
    ViewAction scrollAction = smoothScrollToPosition(18);
    //noinspection SynchronizationOnLocalVariableOrMethodParameter
    synchronized (scrollAction) {
        recyclerView.perform(scrollAction);
        //wait for completion of SmoothScrollAction
        scrollAction.wait();
    }

    //assert
    int actual = layoutManager.findFirstCompletelyVisibleItemPosition();
    assertEquals(18, actual);
}
 
源代码12 项目: ChipsLayoutManager   文件: ColumnTest.java
@Test
public synchronized void smoothScrollToPosition_ScrollItemIsVisible_ScrollItemDockedToStartBorder() throws Exception {
    //arrange
    InstrumentalUtil.waitForIdle();

    //act
    ViewAction scrollAction = smoothScrollToPosition(3);
    //noinspection SynchronizationOnLocalVariableOrMethodParameter
    synchronized (scrollAction) {
        recyclerView.perform(scrollAction);
        //wait for completion of SmoothScrollAction
        scrollAction.wait();
    }

    //assert
    int actual = layoutManager.findFirstCompletelyVisibleItemPosition();
    assertEquals(3, actual);
}
 
源代码13 项目: ChipsLayoutManager   文件: RowTest.java
@Test
public synchronized void smoothScrollToPosition_LMInInitialState_FirstVisiblePositionsEqualsScrollingTarget() throws Exception {
    //arrange
    InstrumentalUtil.waitForIdle();

    //act
    ViewAction scrollAction = smoothScrollToPosition(8);
    //noinspection SynchronizationOnLocalVariableOrMethodParameter
    synchronized (scrollAction) {
        recyclerView.perform(scrollAction);
        //wait for completion of SmoothScrollAction
        scrollAction.wait();
    }

    //assert
    int actual = layoutManager.findFirstCompletelyVisibleItemPosition();
    assertEquals(8, actual);
}
 
源代码14 项目: espresso-macchiato   文件: AppBarLayoutAction.java
public static ViewAction collapse() {
    return new ViewAction() {
        @Override
        public Matcher<View> getConstraints() {
            return ViewMatchers.isAssignableFrom(AppBarLayout.class);
        }

        @Override
        public String getDescription() {
            return "Collapse AppBarLayout inside of a CollapsingToolbarLayout.";
        }

        @Override
        public void perform(UiController uiController, View view) {
            AppBarLayout appBarLayout = (AppBarLayout) view;
            appBarLayout.setExpanded(false, false);
        }
    };
}
 
源代码15 项目: espresso-macchiato   文件: AppBarLayoutAction.java
public static ViewAction expand() {
    return new ViewAction() {
        @Override
        public Matcher<View> getConstraints() {
            return ViewMatchers.isAssignableFrom(AppBarLayout.class);
        }

        @Override
        public String getDescription() {
            return "Expand AppBarLayout inside of a CollapsingToolbarLayout.";
        }

        @Override
        public void perform(UiController uiController, View view) {
            AppBarLayout appBarLayout = (AppBarLayout) view;
            appBarLayout.setExpanded(true, false);
        }
    };
}
 
源代码16 项目: espresso-macchiato   文件: EspWait.java
public static void forIdle() {
    onView(isRoot()).perform(new ViewAction() {
        @Override
        public Matcher<View> getConstraints() {
            return isRoot();
        }

        @Override
        public String getDescription() {
            return null;
        }

        @Override
        public void perform(UiController uiController, View view) {
            uiController.loopMainThreadForAtLeast(1000);
            uiController.loopMainThreadUntilIdle();
        }
    });
}
 
/**
 * Custom ViewAction to click on dedicated coordinates
 * @param x -
 * @param y -
 * @return ViewAction -
 */
private ViewAction clickXY( final int x, final int y ){
    return new GeneralClickAction(
            Tap.SINGLE,
            new CoordinatesProvider() {
                @Override
                public float[] calculateCoordinates( View view ){

                    final int[] screenPos = new int[2];
                    view.getLocationOnScreen(screenPos);

                    final float screenX = screenPos[0] + x;
                    final float screenY = screenPos[1] + y;

                    return new float[]{screenX, screenY};

                }
            },
            Press.FINGER);
}
 
源代码18 项目: SmoothClicker   文件: ItClickerActivity.java
/**
 * Custom ViewAction to click on dedicated coordinates
 * @param x -
 * @param y -
 * @return ViewAction -
 */
private ViewAction clickXY( final int x, final int y ){
    return new GeneralClickAction(
            Tap.SINGLE,
            new CoordinatesProvider() {
                @Override
                public float[] calculateCoordinates( View view ){

                    final int[] screenPos = new int[2];
                    view.getLocationOnScreen(screenPos);

                    final float screenX = screenPos[0] + x;
                    final float screenY = screenPos[1] + y;

                    return new float[]{screenX, screenY};

                }
            },
            Press.FINGER);
}
 
/**
 * Clicks the Next button.
 */
public static ViewAction clickNext() {
    return new AbstractStepperNavigationAction() {

        @Override
        public String getDescription() {
            return "Click on the Next button";
        }

        @Override
        protected void performAction(StepperLayout stepperLayout) {
            View nextButton = stepperLayout.findViewById(com.stepstone.stepper.R.id.ms_stepNextButton);
            nextButton.performClick();
        }

    };
}
 
/**
 * Clicks the Back button.
 */
public static ViewAction clickBack() {
    return new AbstractStepperNavigationAction() {

        @Override
        public String getDescription() {
            return "Click on the Back button";
        }

        @Override
        protected void performAction(StepperLayout stepperLayout) {
            View backButton = stepperLayout.findViewById(com.stepstone.stepper.R.id.ms_stepPrevButton);
            backButton.performClick();
        }

    };
}
 
/**
 * Clicks the Complete button.
 */
public static ViewAction clickComplete() {
    return new AbstractStepperNavigationAction() {

        @Override
        public String getDescription() {
            return "Click on the Complete button";
        }

        @Override
        protected void performAction(StepperLayout stepperLayout) {
            View completeButton = stepperLayout.findViewById(com.stepstone.stepper.R.id.ms_stepCompleteButton);
            completeButton.performClick();
        }

    };
}
 
public static ViewAction setProgress(int progress) {
    return new ViewAction() {
        @Override
        public void perform(UiController uiController, View view) {
            SeekBar seekBar = (SeekBar) view;
            seekBar.setProgress(progress);
        }
        @Override
        public String getDescription() {
            return "Set a progress on a SeekBar";
        }
        @Override
        public Matcher<View> getConstraints() {
            return ViewMatchers.isAssignableFrom(SeekBar.class);
        }
    };
}
 
public static ViewAction setProgress(int progress) {
    return new ViewAction() {
        @Override
        public void perform(UiController uiController, View view) {
            SeekBar seekBar = (SeekBar) view;
            seekBar.setProgress(progress);
        }
        @Override
        public String getDescription() {
            return "Set a progress on a SeekBar";
        }
        @Override
        public Matcher<View> getConstraints() {
            return ViewMatchers.isAssignableFrom(SeekBar.class);
        }
    };
}
 
源代码24 项目: cameraview   文件: CameraViewActions.java
static ViewAction setAspectRatio(@NonNull final AspectRatio ratio) {
    return new ViewAction() {

        @Override
        public Matcher<View> getConstraints() {
            return isAssignableFrom(CameraView.class);
        }

        @Override
        public String getDescription() {
            return "Set aspect ratio to " + ratio;
        }

        @Override
        public void perform(UiController controller, View view) {
            ((CameraView) view).setAspectRatio(ratio);
        }
    };
}
 
源代码25 项目: friendly-plans   文件: StepListFragmentTest.java
public static ViewAction clickChildViewWithId(final int id) {
    return new ViewAction() {
        @Override
        public Matcher<View> getConstraints() {
            return null;
        }

        @Override
        public String getDescription() {
            return null;
        }

        @Override
        public void perform(UiController uiController, View view) {
            View v = view.findViewById(id);
            v.performClick();
        }
    };
}
 
源代码26 项目: Equate   文件: EspressoTestUtils.java
/**
 * Clicks on the tab for the provided Unit Type name. Note that the Unit Type
 * doesn't need to be visible.
 */
public static void selectUnitTypeDirect(final String unitTypeName) {
	onView(allOf(withText(unitTypeName))).perform(
			  new ViewAction() {
				  @Override
				  public Matcher<View> getConstraints() {
					  return isEnabled(); // no constraints, they are checked above
				  }

				  @Override
				  public String getDescription() {
					  return "click unit type" + unitTypeName;
				  }

				  @Override
				  public void perform(UiController uiController, View view) {
					  view.performClick();
				  }
			  }
	);
}
 
源代码27 项目: u2020-mvp   文件: ViewActions.java
/**
 * Perform action of waiting until UI thread is free.
 * <p/>
 * E.g.:
 * onView(isRoot()).perform(waitUntilIdle());
 *
 * @return
 */
public static ViewAction waitUntilIdle() {
    return new ViewAction() {
        @Override
        public Matcher<View> getConstraints() {
            return anything();
        }

        @Override
        public String getDescription() {
            return "wait until UI thread is free";
        }

        @Override
        public void perform(final UiController uiController, final View view) {
            uiController.loopMainThreadUntilIdle();
        }
    };
}
 
源代码28 项目: PrettyBundle   文件: ExtViewActions.java
/**
 * Perform action of waiting for a specific time. Useful when you need
 * to wait for animations to end and Espresso fails at waiting.
 * <p/>
 * E.g.:
 * onView(isRoot()).perform(waitAtLeast(Sampling.SECONDS_15));
 *
 * @param millis
 * @return
 */
public static ViewAction waitAtLeast(final long millis) {
    return new ViewAction() {
        @Override
        public Matcher<View> getConstraints() {
            return anything();
        }

        @Override
        public String getDescription() {
            return "wait for at least " + millis + " millis.";
        }

        @Override
        public void perform(final UiController uiController, final View view) {
            uiController.loopMainThreadUntilIdle();
            uiController.loopMainThreadForAtLeast(millis);
        }
    };
}
 
源代码29 项目: TokenAutoComplete   文件: InputConnectionTest.java
public static ViewAction forceComposingText(final String text) {
    return new ViewAction() {
        @Override
        public Matcher<View> getConstraints() {
            return isAssignableFrom(ContactsCompletionView.class);
        }

        @Override
        public String getDescription() {
            return null;
        }

        @Override
        public void perform(UiController uiController, View view) {
            ContactsCompletionView completionView = (ContactsCompletionView)view;
            InputConnection connection = completionView.testAccessibleInputConnection;
            connection.setComposingText(text, -1);
        }
    };
}
 
private String getText(final Matcher<View> matcher) {
    final String[] stringHolder = {null};
    onView(matcher).perform(new ViewAction() {
        @Override
        public Matcher<View> getConstraints() {
            return isAssignableFrom(TextView.class);
        }

        @Override
        public String getDescription() {
            return "getting text from a TextView";
        }

        @Override
        public void perform(UiController uiController, View view) {
            TextView tv = (TextView) view;
            stringHolder[0] = tv.getText().toString();
        }
    });
    return stringHolder[0];
}
 
 类所在包
 类方法
 同包方法