Java 类android.support.test.espresso.assertion.ViewAssertions 实例源码
项目:polling-station-app
文件:TestElectionChoice.java
@Test
public void searchCityAndClick() throws Exception {
List<Election> unfilteredList = electionActivity.getAdapter().getList();
onView(withId(R.id.search)).perform(click());
final Election toClick = unfilteredList.get(0);
onView(withId(android.support.design.R.id.search_src_text)).perform(typeText(toClick.getPlace()));
onView (withId (R.id.election_list)).check (ViewAssertions.matches (new Matchers().withListSize (1)));
onData(instanceOf(Election.class))
.inAdapterView(withId(R.id.election_list))
.atPosition(0)
.perform(click());
// intended(hasComponent(MainActivity.class.getName()));
onView(withId(R.id.app_bar)).check(new ViewAssertion() {
@Override
public void check(View view, NoMatchingViewException noViewFoundException) {
assertEquals(((Toolbar) view).getTitle(), toClick.getKind());
assertEquals(((Toolbar) view).getSubtitle(), toClick.getPlace());
}
});
}
项目:NumberPadTimePicker
文件:NumberPadTimePickerDialogTest.java
private static void verifyViewEnabledStates(TestCase test) {
ViewInteraction[] buttonsInteractions = getButtonInteractions();
ViewInteraction[] altButtonsInteractions = getAltButtonInteractions();
for (int digit : test.sequence) {
buttonsInteractions[digit]
.check(ViewAssertions.matches(ViewMatchers.isEnabled()))
.perform(ViewActions.click());
}
for (int i = 0; i < 10; i++) {
buttonsInteractions[i].check(matchesIsEnabled(
i >= test.numberKeysEnabledStart && i < test.numberKeysEnabledEnd));
altButtonsInteractions[0].check(matchesIsEnabled(test.leftAltKeyEnabled));
altButtonsInteractions[1].check(matchesIsEnabled(test.rightAltKeyEnabled));
}
Espresso.onView(ViewMatchers.withText(android.R.string.ok))
.check(matchesIsEnabled(test.okButtonEnabled));
ViewInteraction backspaceInteraction = Espresso.onView(
ViewMatchers.withId(R.id.nptp_backspace));
// Reset after each iteration by backspacing on the button just clicked.
backspaceInteraction.check(matchesIsEnabled(true))
.perform(ViewActions.longClick())
.check(matchesIsEnabled(false));
}
项目:smart-lens
文件:InfoActivityTest.java
@Test
public void checkRealApiResponse() throws Exception {
WikiHelper.BASE_WIKI_URL = "https://en.wikipedia.org/w/";
openActivity();
//Wait for the api call
Delay.startDelay(TestConfig.DELAY_FOR_REAL_API);
onView(withId(R.id.root_view)).perform(ViewActions.closeSoftKeyboard());
//Check if there are text?
assertTrue(mWikiFragmentFragmentTestRule.getActivity().mViewFlipper.getDisplayedChild() ==
INFO_VIEW);
onView(withId(R.id.wiki_page_tv)).check(ViewAssertions.matches(CustomMatchers.hasText()));
onView(withId(R.id.wiki_page_iv)).check(ViewAssertions.matches(CustomMatchers.hasImage()));
Delay.stopDelay();
}
项目:smart-lens
文件:InfoActivityTest.java
@Test
public void checkImageApiResponseFail() throws Exception {
MockWebServer mockWebServer = startMockWebServer();
//Success response for the info api
mockWebServer.enqueue(new MockResponse()
.setResponseCode(200)
.setBody(getStringFromFile(InstrumentationRegistry.getInstrumentation().getContext(),
com.kevalpatel2106.smartlens.test.R.raw.wiki_info_success_response)));
//Fail response for the image api.
mockWebServer.enqueue(new MockResponse().setResponseCode(500));
openActivity();
//Wait for mock api
Delay.startDelay(TestConfig.DELAY_FOR_MOCK_API);
onView(withId(R.id.root_view)).perform(ViewActions.closeSoftKeyboard());
//Check if there are text?
assertTrue(mWikiFragmentFragmentTestRule.getActivity().mViewFlipper.getDisplayedChild() ==
INFO_VIEW);
onView(withId(R.id.wiki_page_tv)).check(ViewAssertions.matches(CustomMatchers.hasText()));
onView(withId(R.id.wiki_page_iv)).check(ViewAssertions.matches(not(CustomMatchers.hasImage())));
Delay.stopDelay();
mockWebServer.shutdown();
}
项目:Dryver
文件:ActivityRegistrationTests.java
/**
* Simply inputs a presumably valid string for all EditTexts and attempts to select register.
* Uses the mock ESController, so although the strings are validated, it is not actually pushed
* to the ES server. Registration leads to the Selection Activity.
*
* @see ActivityRydeOrDryve
*/
@Test
public void TestRegister() throws InterruptedException {
onView(withText("Registration")).check(ViewAssertions.matches(isDisplayed()));
onView(withId(R.id.username_edittext)).perform(typeText(username));
onView(withText(username)).check(ViewAssertions.matches(isDisplayed()));
onView(withId(R.id.firstname_edittext)).perform(typeText(firstname));
onView(withText(firstname)).check(ViewAssertions.matches(isDisplayed()));
onView(withId(R.id.lastname_edittext)).perform(typeText(lastname));
onView(withText(lastname)).check(ViewAssertions.matches(isDisplayed()));
onView(withId(R.id.phone_edittext)).perform(typeText(phoneNumber));
onView(withText(phoneNumber)).check(ViewAssertions.matches(isDisplayed()));
onView(withId(R.id.email_edittext)).perform(typeText(email));
onView(withText(email)).check(ViewAssertions.matches(isDisplayed()));
onView(withText("Done")).perform(click());
Thread.sleep(1000);
intended(hasComponent(new ComponentName(getTargetContext(), ActivityRydeOrDryve.class)));
}
项目:commitstrip-reader
文件:ListFavoriteStripTest.java
@Test
public void listFavoriteStrip_ListFavoriteActivity() throws Exception {
Context context = InstrumentationRegistry.getTargetContext();
Intent intent = new Intent(context, ListFavoriteActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
// Check that the title is there.
Espresso.onView(ViewMatchers.withId(R.id.recyclerView))
.check(ViewAssertions.matches(
RecyclerViewUtil.atPosition(0,
ViewMatchers.hasDescendant(
ViewMatchers.withText(mStrip.getTitle())
)
)
));
}
项目:commitstrip-reader
文件:AddFavoriteStripTest.java
private void addAndCheckFavorite(int idFavButton) throws Exception {
// Check that the title is there.
Espresso.onView(ViewMatchers.withId(R.id.title)).check(
ViewAssertions.matches(ViewMatchers.withText(mStrip.getTitle()))
);
// Add in favorite
Espresso.onView(ViewMatchers.withId(idFavButton)).perform(ViewActions.click());
// Check if we correctly register the strip in the database
Integer numberRow =
mDatabase
.count()
.from(StripDaoEntity.class)
.where(StripDaoEntity.ID.eq(mStrip.getId()))
.and(StripDaoEntity.IS_FAVORITE.eq(true))
.get().call();
if (numberRow != 1) {
throw new AssertionError(
"[AddFavoriteStripTest] Strips have not been added in favorite");
}
}
项目:material-components-android
文件:BottomSheetBehaviorTest.java
@Test
@MediumTest
public void testSwipeDownToHide() {
Espresso.onView(ViewMatchers.withId(R.id.bottom_sheet))
.perform(
DesignViewActions.withCustomConstraints(
ViewActions.swipeDown(), ViewMatchers.isDisplayingAtLeast(5)));
registerIdlingResourceCallback();
try {
Espresso.onView(ViewMatchers.withId(R.id.bottom_sheet))
.check(ViewAssertions.matches(not(ViewMatchers.isDisplayed())));
assertThat(getBehavior().getState(), is(BottomSheetBehavior.STATE_HIDDEN));
} finally {
unregisterIdlingResourceCallback();
}
}
项目:material-components-android
文件:BottomSheetBehaviorTest.java
@Test
@MediumTest
public void testSwipeUpToExpand() {
Espresso.onView(ViewMatchers.withId(R.id.bottom_sheet))
.perform(
DesignViewActions.withCustomConstraints(
new GeneralSwipeAction(
Swipe.FAST,
GeneralLocation.VISIBLE_CENTER,
new CoordinatesProvider() {
@Override
public float[] calculateCoordinates(View view) {
return new float[] {view.getWidth() / 2, 0};
}
},
Press.FINGER),
ViewMatchers.isDisplayingAtLeast(5)));
registerIdlingResourceCallback();
try {
Espresso.onView(ViewMatchers.withId(R.id.bottom_sheet))
.check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
assertThat(getBehavior().getState(), is(BottomSheetBehavior.STATE_EXPANDED));
} finally {
unregisterIdlingResourceCallback();
}
}
项目:material-components-android
文件:BottomSheetBehaviorTest.java
private void checkSetState(final int state, Matcher<View> matcher) throws Throwable {
registerIdlingResourceCallback();
try {
activityTestRule.runOnUiThread(
new Runnable() {
@Override
public void run() {
getBehavior().setState(state);
}
});
Espresso.onView(ViewMatchers.withId(R.id.bottom_sheet))
.check(ViewAssertions.matches(matcher));
assertThat(getBehavior().getState(), is(state));
} finally {
unregisterIdlingResourceCallback();
}
}
项目:android-testing
文件:EspressoTest.java
public void testFormSending() {
//SystemClock.sleep(2000);
// Fills the text into form
Espresso.onView(ViewMatchers.withId(R.id.name_edittext))
.perform(ViewActions.typeTextIntoFocusedView("Jana Moudra"))
.check(ViewAssertions.matches(ViewMatchers.withText("Jana Moudra")));
//SystemClock.sleep(2000);
// Opens new Activity
Espresso.onView(ViewMatchers.withId(R.id.name_btn))
.perform(ViewActions.click());
//SystemClock.sleep(2000);
// Checks the text
Espresso.onView(ViewMatchers.withId(R.id.name_textview))
.check(ViewAssertions.matches(ViewMatchers.withText("Jana Moudra")));
}
项目:mpos-ui.android.paybutton
文件:TransactionActivityTest.java
public void testApplicationSelection() {
initWithAmount(113.73);
StatefulTransactionProviderProxyIdlingResource idlingResource = new StatefulTransactionProviderProxyIdlingResource(false, true);
Espresso.registerIdlingResources(idlingResource);
Espresso.onData(Matchers.hasToString(Matchers.equalToIgnoringWhiteSpace("Mocked VISA")))
.inAdapterView(ViewMatchers.withId(R.id.mpu_selection_list_view))
.perform(ViewActions.click());
Espresso.unregisterIdlingResources(idlingResource);
idlingResource = new StatefulTransactionProviderProxyIdlingResource();
Espresso.registerIdlingResources(idlingResource);
Espresso.onView(ViewMatchers.withId(R.id.mpu_summary_account_number_view))
.check(ViewAssertions.matches(ViewMatchers.withText("************0119")));
Espresso.unregisterIdlingResources(idlingResource);
}
项目:mpos-ui.android.paybutton
文件:TransactionActivityTest.java
public void testSignatureActivityIsShown() {
initWithAmount(108.20);
StatefulTransactionProviderProxyIdlingResource idlingResource = new StatefulTransactionProviderProxyIdlingResource(true, false);
Espresso.registerIdlingResources(idlingResource);
//fake a signature by triggering a touch event
Espresso.onView(ViewMatchers.withId(R.id.mpu_signature_view))
.perform(ViewActions.click());
Espresso.onView(ViewMatchers.withId(R.id.mpu_continue_button))
.perform(ViewActions.click());
Espresso.unregisterIdlingResources(idlingResource);
idlingResource = new StatefulTransactionProviderProxyIdlingResource();
Espresso.registerIdlingResources(idlingResource);
Espresso.onView(ViewMatchers.withId(R.id.mpu_summary_scheme_view))
.check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
Espresso.unregisterIdlingResources(idlingResource);
}
项目:AndroidEspressoIdlingResourcePlayground
文件:FirstActivityEspressoTest.java
@Test
public void firstActivityTest() throws InterruptedException {
secondActivityCreatedIdlingResource = new SecondActivityCreatedIdlingResource();
GlobalApplication.activityEventStream().
subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(secondActivityCreatedIdlingResource);
// Click on button that simulates long network call and after success goes to SecondActivity
onView(withId(R.id.button1OnFirstActivity)).perform(click());
// Wait until SecondActivity is created
registerIdlingResources(secondActivityCreatedIdlingResource);
// Validate label on SecondActivity
onView(withText("Second Activity")).check(ViewAssertions.matches(isDisplayed()));
}
项目:IBM-Ready-App-for-Telecommunications
文件:TextPageTest.java
/**
* Tests that the Current Cycle UI updates on the Text page after changing base text plan
*/
@Test
public void testTextCurrentCycleUpdate() {
onView(withChild(withText(textTabText))).perform(click());
SystemClock.sleep(1000);
Matcher<View> usageView = allOf(withId(R.id.bottom_left_text), isDescendantOfA(withId(R.id.my_text_recyclerview)), isDescendantOfA(withId(R.id.cycle_viewer)));
Matcher<View> progressBar = allOf(withId(R.id.progress_bar), isDescendantOfA(withId(R.id.my_text_recyclerview)), isDescendantOfA(withId(R.id.cycle_viewer)));
// Get initial text values out of String
String usedTexts = getText(usageView).split("\\/")[0];
String totalTexts = getText(usageView).split("\\/")[1].split(" ")[0];
float usedTextsFloat = Float.parseFloat(usedTexts);
int totalTextsInt = Integer.parseInt(totalTexts);
int percentUsed = (int)(((double)usedTextsFloat/ (double)totalTextsInt) * 100.0);
onView(progressBar).check(ViewAssertions.matches(withProgress(percentUsed)));
// Increase the number of texts and confirm changes in Current Cycle
onView(allOf(withId(R.id.up_arrow), isDescendantOfA(withId(R.id.my_text_recyclerview)))).perform(click());
onView(allOf(withId(R.id.confirm), isDescendantOfA(withId(R.id.my_text_recyclerview)))).perform(click());
totalTextsInt += textInterval;
String newString = usedTextsFloat+"/"+totalTextsInt+" SMS";
onView(usageView).check(matches(withText(newString)));
}
项目:BioStar2Android
文件:ExtTest.java
public static int checkListCount(final int viewId) {
final Integer[] result = {0};
onView(withId(viewId)).check(ViewAssertions.matches(new TypeSafeMatcher<View>() {
@Override
public boolean matchesSafely(View view) {
ListView listView = (ListView) view;
result[0] = listView.getCount();
return true;
}
@Override
public void describeTo(Description description) {
}
}));
return result[0];
}
项目:BioStar2Android
文件:UserTestUtil.java
public static void checkUserList(final int viewId) {
onView(withId(viewId)).check(ViewAssertions.matches(new TypeSafeMatcher<View>() {
@Override
public boolean matchesSafely(View view) {
ListView listView = (ListView) view;
try {
ListUser user = (ListUser) listView.getItemAtPosition(0);
} catch (Exception e) {
Log.e(TAG, "fail Not match UserList");
return false;
}
// ListUser user = (ListUser) listView.getItemAtPosition(0);
return true;
}
@Override
public void describeTo(Description description) {
}
}));
}
项目:BioStar2Android
文件:UserTestUtil.java
public static void saveUserID() {
Log.e(TAG, "case: User/User 등록/UserID입력/1/3. User ID를 선택한다.");
w(1000);
onView(withId(R.id.user_id)).perform(ViewActions.click());
w(1000);
// onView(withId(R.id.user_id))
// .check(ViewAssertions.matches(ViewMatchers.hasImeAction(EditorInfo.IME_ACTION_DONE)));
onView(withId(R.id.user_id))
.check((ViewAssertions.matches(ExtTest.hasImeInputType(InputType.TYPE_CLASS_NUMBER))));
Log.e(TAG, "result: 3) 숫자 키패드가 표시되며 숫자만 입력 가능한지 확인한다.");
Log.e(TAG, "case: User/User 등록/UserID입력/2/1. 최대 입력값을 입력한다. 4294967294");
w(1000);
onView(withId(R.id.user_id)).perform(ViewActions.typeText("4294967294")); //id
w(1000);
onView(withId(R.id.user_id)).perform(ViewActions.closeSoftKeyboard());
}
项目:BioStar2Android
文件:UserTest.java
private void inputOperator() {
Log.e(TAG, "start: inputOperator");
UserTestUtil.addUserCheck(mActivityRule.getActivity().getResources().getString(R.string.new_user));
Log.e(TAG, "case: User/User 등록/operator/BioStar Operator 초기값을 확인한다.");
onView(withId(R.id.operator)).check(ViewAssertions.matches(ViewMatchers.withText(mActivityRule.getActivity().getResources().getString(R.string.none))));
// onView(isRoot()).perform(ExtTest.waitInvisibleGoneId(R.id.operator_expand, 3000));
Log.e(TAG, "result: 초기값은 None으로 출력된다.");
UserTestUtil.selectOperation(0);
UserTestUtil.selectOperation(-1);
UserTestUtil.selectOperation(0);
UserTestUtil.saveUserID();
// UserTestUtil.inputEdit(R.id.login_id, 32, R.id.login_id_edit);
UserTestUtil.inputPassword();
onView(withId(R.id.action_save)).perform(ViewActions.click());
w(1000);
ExtTest.checkPopupType(false, true, Popup.PopupType.ALERT);
Log.e(TAG, "result: 입력한 특수기호 표시,입력한 Password로 설정이 가능해야한다.");
UserTestUtil.searchDeleteUserID("4294967294", false);
Log.e(TAG, "end: inputOperator");
}
项目:BioStar2Android
文件:UserTest.java
private void inputGroup() {
Log.e(TAG, "start: inputGroup");
UserTestUtil.addUserCheck(mActivityRule.getActivity().getResources().getString(R.string.new_user));
Log.e(TAG, "case: User/User 등록/operator/BioStar Operator 초기값을 확인한다.");
onView(withId(R.id.operator)).check(ViewAssertions.matches(ViewMatchers.withText(mActivityRule.getActivity().getResources().getString(R.string.none))));
// onView(isRoot()).perform(ExtTest.waitInvisibleGoneId(R.id.operator_expand, 3000));
Log.e(TAG, "result: 초기값은 None으로 출력된다.");
UserTestUtil.selectOperation(0);
UserTestUtil.selectOperation(-1);
UserTestUtil.selectOperation(0);
UserTestUtil.saveUserID();
// UserTestUtil.inputEdit(R.id.login_id, 32, R.id.login_id_edit);
UserTestUtil.inputPassword();
onView(withId(R.id.action_save)).perform(ViewActions.click());
w(1000);
ExtTest.checkPopupType(false, true, Popup.PopupType.ALERT);
Log.e(TAG, "result: 입력한 특수기호 표시,입력한 Password로 설정이 가능해야한다.");
UserTestUtil.searchDeleteUserID("4294967294", false);
Log.e(TAG, "end: inputGroup");
}
项目:PrettyBundle
文件:InjectPrimaryTypeExtrasFragmentTest.java
public void testStartPrimaryTypeDisplayWithExtras() throws Exception {
final String integerExtra = "1";
final String longExtra = "2";
final String floatExtra = "3.4";
final String doubleExtra = "5.6";
final String stringExtra = "String value";
final String charSequenceExtra = "CharSequence value";
Espresso.onView(ViewMatchers.withText(integerExtra)).check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
Espresso.onView(ViewMatchers.withText(longExtra)).check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
Espresso.onView(ViewMatchers.withText(floatExtra)).check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
Espresso.onView(ViewMatchers.withText(doubleExtra)).check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
Espresso.onView(ViewMatchers.withText("true")).check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
Espresso.onView(ViewMatchers.withText(stringExtra)).check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
Espresso.onView(ViewMatchers.withText(charSequenceExtra)).check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
}
项目:PrettyBundle
文件:InjectArrayExtrasTest.java
public void testArrayExtrasDisplay() throws Exception {
// Open TestArrayActivity
Espresso.onView(ViewMatchers.withText(R.string.test_array_extras)).perform(ViewActions.click());
// Verify result.
// int arrays
Espresso.onView(ViewMatchers.withText("{1,2,3}")).check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
// long arrays
Espresso.onView(ViewMatchers.withText("{4,5,6}")).check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
// float arrays
Espresso.onView(ViewMatchers.withText("{4.1,5.1,6.1}")).check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
// double arrays
Espresso.onView(ViewMatchers.withText("{7.2,8.2,9.2}")).check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
// boolean arrays
Espresso.onView(ViewMatchers.withText("{true,false,false,true}")).check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
// string arrays
Espresso.onView(ViewMatchers.withText("{One,Two,Three}")).check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
// people
Espresso.onView(ViewMatchers.withText("{{name='p1',age=18},{name='p2',age=19}}")).check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
}
项目:PrettyBundle
文件:InjectPrimaryTypeExtrasFragment4Test.java
public void testStartPrimaryTypeDisplayWithExtras() throws Exception {
final String integerExtra = "1";
final String longExtra = "2";
final String floatExtra = "3.4";
final String doubleExtra = "5.6";
final String stringExtra = "String value";
final String charSequenceExtra = "CharSequence value";
Espresso.onView(ViewMatchers.withText(integerExtra)).check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
Espresso.onView(ViewMatchers.withText(longExtra)).check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
Espresso.onView(ViewMatchers.withText(floatExtra)).check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
Espresso.onView(ViewMatchers.withText(doubleExtra)).check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
Espresso.onView(ViewMatchers.withText("true")).check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
Espresso.onView(ViewMatchers.withText(stringExtra)).check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
Espresso.onView(ViewMatchers.withText(charSequenceExtra)).check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
}
项目:polling-station-app
文件:TestManualInputActivity.java
@Test
public void testInvalidData() {
closeSoftKeyboard();
onView(withId(R.id.submit_button)).perform(click());
onView(ViewMatchers.withId(R.id.doc_num))
.check(ViewAssertions.matches(
ViewMatchers.hasErrorText(
activityRule.getActivity().getString(R.string.errInputDocNum))));
}
项目:polling-station-app
文件:TestElectionChoice.java
@Test
public void performSearch() throws Exception {
List<Election> unfilteredList = electionActivity.getAdapter().getList();
onView (withId (R.id.election_list)).check (ViewAssertions.matches (new Matchers().withListSize (unfilteredList.size())));
onView(withId(R.id.search)).perform(click());
onView(withId(android.support.design.R.id.search_src_text)).perform(typeText("something"));
List<Election> filteredList = electionActivity.getAdapter().getList();
onView (withId (R.id.election_list)).check (ViewAssertions.matches (new Matchers().withListSize (filteredList.size())));
}
项目:NumberPadTimePicker
文件:NumberPadTimePickerDialogTest.java
@Test
public void verifyInitialViewEnabledStates() {
openTimePicker();
Espresso.onView(ViewMatchers.withId(R.id.nptp_input_time)).check(
ViewAssertions.matches(ViewMatchers.withText("")));
// Check that the am/pm view is set to the correct visibility.
//
// Rather than use the isDisplayed() matcher, which, on top of matching the view to a
// View.VISIBLE state, matches the view to being drawn with visible bounds, we use
// the withEffectiveVisibility() matcher to match only the former criterion.
Espresso.onView(ViewMatchers.withId(R.id.nptp_input_ampm)).check(
ViewAssertions.matches(ViewMatchers.withEffectiveVisibility(mInitiallyIn24HourMode ?
ViewMatchers.Visibility.GONE : ViewMatchers.Visibility.VISIBLE)));
if (!mInitiallyIn24HourMode) {
Espresso.onView(ViewMatchers.withId(R.id.nptp_input_ampm)).check(
ViewAssertions.matches(isNthChildOf(
ViewMatchers.withId(R.id.nptp_input_time_container),
mLocaleModel.isAmPmWrittenBeforeTime() ? 0 : 1)));
}
Espresso.onView(ViewMatchers.withId(R.id.nptp_backspace)).check(
matchesIsEnabled(false));
// We can easily manually verify whether the divider is focused, so it's not worth the
// trouble of writing a test.
for (int i = 0; i < 10; i++) {
Espresso.onView(withDigit(i)).check(matchesIsEnabled(mInitiallyIn24HourMode || i > 0));
}
Espresso.onView(ViewMatchers.withId(R.id.nptp_text9)).check(matchesIsEnabled(false));
Espresso.onView(ViewMatchers.withId(R.id.nptp_text11)).check(matchesIsEnabled(false));
Espresso.onView(ViewMatchers.withText(android.R.string.ok)).check(matchesIsEnabled(false));
}
项目:NumberPadTimePicker
文件:NumberPadTimePickerDialogTest.java
/**
* @param enabled Whether the view should be matched to be enabled or not.
* @return A {@link ViewAssertion} that asserts that a view should be matched
* to be enabled or disabled.
*/
private static ViewAssertion matchesIsEnabled(boolean enabled) {
// TODO: When we're comfortable with the APIs, we can statically import them and
// make direct calls to these methods and cut down on the verbosity, instead of
// writing helper methods that wrap these APIs.
return ViewAssertions.matches(enabled ? ViewMatchers.isEnabled() : Matchers.not(ViewMatchers.isEnabled()));
}
项目:smart-lens
文件:InfoActivityTest.java
@Test
public void checkInfoFoundApiResponse() throws Exception {
MockWebServer mockWebServer = startMockWebServer();
//Success response for the info api
mockWebServer.enqueue(new MockResponse()
.setResponseCode(200)
.setBody(getStringFromFile(InstrumentationRegistry.getInstrumentation().getContext(),
com.kevalpatel2106.smartlens.test.R.raw.wiki_info_success_response)));
//Success response for the image api.
mockWebServer.enqueue(new MockResponse()
.setResponseCode(200)
.setBody(getStringFromFile(InstrumentationRegistry.getInstrumentation().getContext(),
com.kevalpatel2106.smartlens.test.R.raw.wiki_image_success_response)));
openActivity();
//Wait for mock api
Delay.startDelay(TestConfig.DELAY_FOR_REAL_API);
onView(withId(R.id.root_view)).perform(ViewActions.closeSoftKeyboard());
//Check if there are text?
assertTrue(mWikiFragmentFragmentTestRule.getActivity().mViewFlipper.getDisplayedChild() ==
INFO_VIEW);
onView(withId(R.id.wiki_page_tv)).check(ViewAssertions.matches(CustomMatchers.hasText()));
onView(withId(R.id.wiki_page_iv)).check(ViewAssertions.matches(CustomMatchers.hasImage()));
Delay.stopDelay();
mockWebServer.shutdown();
}
项目:Dryver
文件:ActivityOpeningPageTests.java
/**
* Tests selecting the registration button whcich goes to the registration Activity
* @see ActivityRegistration
*/
@Test
public void TestSelectRegistration() {
onView(withText("New user?")).check(ViewAssertions.matches(isDisplayed()));
onView(withText("Sign Up")).perform(click());
intended(hasComponent(new ComponentName(getTargetContext(), ActivityRegistration.class)));
}
项目:commitstrip-reader
文件:SwapStripTest.java
@Test
public void swapStrip_StripActivity() {
Context context = InstrumentationRegistry.getTargetContext();
Intent intent = new Intent(context, StripActivity.class);
intent.putExtras (StripActivity.newInstance(Long.valueOf(SampleStrip.STRIP_ID_ONE)));
intent.setFlags(FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
// Check that the title is there.
Espresso.onView(ViewMatchers.withId(R.id.title)).check(
ViewAssertions.matches(ViewMatchers.withText(SampleStrip.STRIP_ID_ONE_TITLE)));
// Check that we can use swipe left, the goal is just to test that we have no error
Espresso.onView(ViewMatchers.withId(R.id.strip)).perform(
ViewActions.swipeRight());
// Check that the title is always there.
Espresso.onView(ViewMatchers.withId(R.id.title)).check(
ViewAssertions.matches(ViewMatchers.withText(SampleStrip.STRIP_ID_ONE_TITLE)));
// Check that we can use swipe left
Espresso.onView(ViewMatchers.withId(R.id.strip)).perform(
ViewActions.swipeLeft());
// Expect a new strip to be displayed
Espresso.onView(ViewMatchers.withId(R.id.title)).check(
ViewAssertions.matches(ViewMatchers.withText(SampleStrip.STRIP_ID_TWO_TITLE)));
}
项目:material-components-android
文件:BottomSheetBehaviorTest.java
@Test
@MediumTest
public void testHalfExpandedToExpanded() throws Throwable {
getBehavior().setFitToContents(false);
checkSetState(BottomSheetBehavior.STATE_HALF_EXPANDED, ViewMatchers.isDisplayed());
Espresso.onView(ViewMatchers.withId(R.id.bottom_sheet))
.perform(
DesignViewActions.withCustomConstraints(
new GeneralSwipeAction(
Swipe.FAST,
GeneralLocation.VISIBLE_CENTER,
new CoordinatesProvider() {
@Override
public float[] calculateCoordinates(View view) {
return new float[] {view.getWidth() / 2, 0};
}
},
Press.FINGER),
ViewMatchers.isDisplayingAtLeast(5)));
registerIdlingResourceCallback();
try {
Espresso.onView(ViewMatchers.withId(R.id.bottom_sheet))
.check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
assertThat(getBehavior().getState(), is(BottomSheetBehavior.STATE_EXPANDED));
} finally {
unregisterIdlingResourceCallback();
}
}
项目:material-components-android
文件:BottomSheetBehaviorTest.java
@Test
@MediumTest
public void testCollapsedToExpanded() throws Throwable {
getBehavior().setFitToContents(false);
checkSetState(BottomSheetBehavior.STATE_COLLAPSED, ViewMatchers.isDisplayed());
Espresso.onView(ViewMatchers.withId(R.id.bottom_sheet))
.perform(
DesignViewActions.withCustomConstraints(
new GeneralSwipeAction(
Swipe.FAST,
GeneralLocation.VISIBLE_CENTER,
new CoordinatesProvider() {
@Override
public float[] calculateCoordinates(View view) {
return new float[] {view.getWidth() / 2, 0};
}
},
Press.FINGER),
ViewMatchers.isDisplayingAtLeast(5)));
registerIdlingResourceCallback();
try {
Espresso.onView(ViewMatchers.withId(R.id.bottom_sheet))
.check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
assertThat(getBehavior().getState(), is(BottomSheetBehavior.STATE_EXPANDED));
} finally {
unregisterIdlingResourceCallback();
}
}
项目:material-components-android
文件:BottomSheetBehaviorTest.java
@Test
@MediumTest
public void testDynamicContent() throws Throwable {
registerIdlingResourceCallback();
try {
activityTestRule.runOnUiThread(
new Runnable() {
@Override
public void run() {
ViewGroup.LayoutParams params = getBottomSheet().getLayoutParams();
params.height = ViewGroup.LayoutParams.WRAP_CONTENT;
getBottomSheet().setLayoutParams(params);
View view = new View(getBottomSheet().getContext());
int size = getBehavior().getPeekHeight() * 2;
getBottomSheet().addView(view, new ViewGroup.LayoutParams(size, size));
assertThat(getBottomSheet().getChildCount(), is(1));
// Shrink the content height.
ViewGroup.LayoutParams lp = view.getLayoutParams();
lp.height = (int) (size * 0.8);
view.setLayoutParams(lp);
// Immediately expand the bottom sheet.
getBehavior().setState(BottomSheetBehavior.STATE_EXPANDED);
}
});
Espresso.onView(ViewMatchers.withId(R.id.bottom_sheet))
.check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
assertThat(getBehavior().getState(), is(BottomSheetBehavior.STATE_EXPANDED));
// Make sure that the bottom sheet is not floating above the bottom.
assertThat(getBottomSheet().getBottom(), is(getCoordinatorLayout().getBottom()));
} finally {
unregisterIdlingResourceCallback();
}
}
项目:material-components-android
文件:BottomSheetDialogTest.java
@Test
public void testShortDialog() throws Throwable {
activityTestRule.runOnUiThread(
new Runnable() {
@Override
public void run() {
showDialog();
}
});
// This ensures that the views are laid out before assertions below
Espresso.onView(ViewMatchers.withId(R.id.design_bottom_sheet))
.perform(setTallPeekHeight())
.check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
activityTestRule.runOnUiThread(
new Runnable() {
@Override
public void run() {
FrameLayout bottomSheet = dialog.findViewById(R.id.design_bottom_sheet);
CoordinatorLayout coordinator = (CoordinatorLayout) bottomSheet.getParent();
BottomSheetBehavior<FrameLayout> behavior = BottomSheetBehavior.from(bottomSheet);
assertThat(bottomSheet, is(notNullValue()));
assertThat(coordinator, is(notNullValue()));
assertThat(behavior, is(notNullValue()));
// This bottom sheet is shorter than the peek height
assertThat(bottomSheet.getHeight(), is(lessThan(behavior.getPeekHeight())));
// Confirm that the bottom sheet is bottom-aligned
assertThat(bottomSheet.getTop(), is(coordinator.getHeight() - bottomSheet.getHeight()));
}
});
}
项目:espresso-errortext-matcher
文件:ApplicationTest.java
@Test
public void checkWithRawText() {
Espresso
.onView(ViewMatchers.withId(R.id.email_sign_in_button))
.perform(ViewActions.click());
Espresso
.onView(ViewMatchers.withId((R.id.email)))
.check(ViewAssertions.matches(ErrorTextMatchers.withErrorText("This field is required")));
}
项目:espresso-errortext-matcher
文件:ApplicationTest.java
@Test
public void checkWithStringId() {
Espresso
.onView(ViewMatchers.withId((R.id.email)))
.perform(ViewActions.typeText("invalid"));
Espresso
.onView(ViewMatchers.withId(R.id.email_sign_in_button))
.perform(ViewActions.click());
Espresso
.onView(ViewMatchers.withId((R.id.email)))
.check(ViewAssertions.matches(ErrorTextMatchers.withErrorText(R.string.error_invalid_email)));
}
项目:grocery-reminder
文件:RemindersActivityTest.java
@Test
public void testGivenAReminderHasBeenAddedWhenTheClearIconIsTappedThenTheReminderIsDismissed() {
addArbitraryReminder();
onView(withId(R.id.clear_icon)).perform(click());
onView(withText(ARBITRARY_REMINDER)).check(ViewAssertions.doesNotExist());
}
项目:grocery-reminder
文件:RemindersActivityTest.java
@Test
public void testGivenAReminderHashBeenAddedWhenItIsSwipedLeftThenItIsDismissed() {
addArbitraryReminder();
onView(withText(ARBITRARY_REMINDER)).check(matches(isDisplayed()));
onView(withText(ARBITRARY_REMINDER)).perform(swipeLeft());
onView(withText(ARBITRARY_REMINDER)).check(ViewAssertions.doesNotExist());
}