Espresso Login Activity Test Cases
This commit is contained in:
@@ -0,0 +1,138 @@
|
|||||||
|
package in.sminnovations.arrest_tb;
|
||||||
|
|
||||||
|
|
||||||
|
import androidx.test.filters.LargeTest;
|
||||||
|
import androidx.test.rule.ActivityTestRule;
|
||||||
|
import androidx.test.runner.AndroidJUnit4;
|
||||||
|
|
||||||
|
import org.junit.Rule;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
|
import static androidx.test.espresso.Espresso.onView;
|
||||||
|
import static androidx.test.espresso.action.ViewActions.click;
|
||||||
|
import static androidx.test.espresso.action.ViewActions.closeSoftKeyboard;
|
||||||
|
import static androidx.test.espresso.action.ViewActions.replaceText;
|
||||||
|
import static androidx.test.espresso.action.ViewActions.typeText;
|
||||||
|
import static androidx.test.espresso.assertion.ViewAssertions.matches;
|
||||||
|
import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
|
||||||
|
import static androidx.test.espresso.matcher.ViewMatchers.withId;
|
||||||
|
import static androidx.test.espresso.matcher.ViewMatchers.withText;
|
||||||
|
|
||||||
|
@LargeTest
|
||||||
|
@RunWith(AndroidJUnit4.class)
|
||||||
|
public class LoginActivity {
|
||||||
|
|
||||||
|
@Rule
|
||||||
|
public ActivityTestRule<LoginScreen> mActivityTestRule = new ActivityTestRule<>(LoginScreen.class);
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void LoginSuccess_2() {
|
||||||
|
// Type text and then press the button.
|
||||||
|
onView(withId(R.id.contactnumber))
|
||||||
|
.perform(replaceText("9779057263"), closeSoftKeyboard());
|
||||||
|
onView(withId(R.id.password))
|
||||||
|
.perform(typeText("Deep"), closeSoftKeyboard());
|
||||||
|
|
||||||
|
|
||||||
|
onView(withId(R.id.showpassword)).perform(click());
|
||||||
|
onView(withId(R.id.login)).perform(click());
|
||||||
|
try {
|
||||||
|
Thread.sleep(160);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
// onView(withText("logged in Successfully...")).inRoot(new ToastMatcher()).check(matches(isDisplayed()));
|
||||||
|
|
||||||
|
|
||||||
|
// Check that the text was changed.
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void LoginInvalidNumber_3() {
|
||||||
|
// Type text and then press the button.
|
||||||
|
onView(withId(R.id.contactnumber))
|
||||||
|
.perform(typeText("977905"), closeSoftKeyboard());
|
||||||
|
onView(withId(R.id.password))
|
||||||
|
.perform(typeText("Deep"), closeSoftKeyboard());
|
||||||
|
|
||||||
|
|
||||||
|
onView(withId(R.id.showpassword)).perform(click());
|
||||||
|
onView(withId(R.id.login)).perform(click());
|
||||||
|
try {
|
||||||
|
Thread.sleep(160);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
onView(withText("No such user exists")).inRoot(new ToastMatcher()).check(matches(isDisplayed()));
|
||||||
|
|
||||||
|
|
||||||
|
// Check that the text was changed.
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void LoginWrongPassword_4() {
|
||||||
|
// Type text and then press the button.
|
||||||
|
onView(withId(R.id.contactnumber))
|
||||||
|
.perform(typeText("9779057263"), closeSoftKeyboard());
|
||||||
|
onView(withId(R.id.password))
|
||||||
|
.perform(typeText("Deep1"), closeSoftKeyboard());
|
||||||
|
|
||||||
|
|
||||||
|
onView(withId(R.id.showpassword)).perform(click());
|
||||||
|
onView(withId(R.id.login)).perform(click());
|
||||||
|
try {
|
||||||
|
Thread.sleep(160);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
onView(withText("Wrong Password")).inRoot(new ToastMatcher()).check(matches(isDisplayed()));
|
||||||
|
|
||||||
|
|
||||||
|
// Check that the text was changed.
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void EmptyPassword_5() {
|
||||||
|
// Type text and then press the button.
|
||||||
|
onView(withId(R.id.contactnumber))
|
||||||
|
.perform(typeText("9779057263"), closeSoftKeyboard());
|
||||||
|
|
||||||
|
|
||||||
|
onView(withId(R.id.showpassword)).perform(click());
|
||||||
|
onView(withId(R.id.login)).perform(click());
|
||||||
|
try {
|
||||||
|
Thread.sleep(160);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
onView(withText("Please enter all the required fields")).inRoot(new ToastMatcher()).check(matches(isDisplayed()));
|
||||||
|
|
||||||
|
|
||||||
|
// Check that the text was changed.
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void EmptyNumber_6() {
|
||||||
|
// Type text and then press the button.
|
||||||
|
onView(withId(R.id.password))
|
||||||
|
.perform(typeText("Deep1"), closeSoftKeyboard());
|
||||||
|
|
||||||
|
onView(withId(R.id.showpassword)).perform(click());
|
||||||
|
onView(withId(R.id.login)).perform(click());
|
||||||
|
try {
|
||||||
|
Thread.sleep(160);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
onView(withText("Please enter all the required fields")).inRoot(new ToastMatcher()).check(matches(isDisplayed()));
|
||||||
|
|
||||||
|
|
||||||
|
// Check that the text was changed.
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package in.sminnovations.arrest_tb;
|
||||||
|
|
||||||
|
import android.os.IBinder;
|
||||||
|
import android.view.WindowManager;
|
||||||
|
|
||||||
|
import androidx.test.espresso.Root;
|
||||||
|
|
||||||
|
import org.hamcrest.Description;
|
||||||
|
import org.hamcrest.TypeSafeMatcher;
|
||||||
|
|
||||||
|
public class ToastMatcher extends TypeSafeMatcher<Root> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void describeTo(Description description) {
|
||||||
|
description.appendText("is toast");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean matchesSafely(Root root) {
|
||||||
|
int type = root.getWindowLayoutParams().get().type;
|
||||||
|
if ((type == WindowManager.LayoutParams.TYPE_TOAST)) {
|
||||||
|
IBinder windowToken = root.getDecorView().getWindowToken();
|
||||||
|
IBinder appToken = root.getDecorView().getApplicationWindowToken();
|
||||||
|
if (windowToken == appToken) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user