mirror of
https://codeberg.org/OpenTracksApp/OpenTracks.git
synced 2026-10-20 17:33:06 +02:00
UI tests slightly more robust.
This commit is contained in:
@@ -5,18 +5,14 @@ import static androidx.test.espresso.Espresso.onView;
|
|||||||
import static androidx.test.espresso.Espresso.openContextualActionModeOverflowMenu;
|
import static androidx.test.espresso.Espresso.openContextualActionModeOverflowMenu;
|
||||||
import static androidx.test.espresso.action.ViewActions.click;
|
import static androidx.test.espresso.action.ViewActions.click;
|
||||||
import static androidx.test.espresso.action.ViewActions.closeSoftKeyboard;
|
import static androidx.test.espresso.action.ViewActions.closeSoftKeyboard;
|
||||||
|
import static androidx.test.espresso.action.ViewActions.longClick;
|
||||||
import static androidx.test.espresso.action.ViewActions.replaceText;
|
import static androidx.test.espresso.action.ViewActions.replaceText;
|
||||||
import static androidx.test.espresso.action.ViewActions.scrollTo;
|
import static androidx.test.espresso.action.ViewActions.scrollTo;
|
||||||
import static androidx.test.espresso.assertion.ViewAssertions.matches;
|
import static androidx.test.espresso.assertion.ViewAssertions.matches;
|
||||||
import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
|
import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
|
||||||
import static androidx.test.espresso.matcher.ViewMatchers.withClassName;
|
|
||||||
import static androidx.test.espresso.matcher.ViewMatchers.withId;
|
import static androidx.test.espresso.matcher.ViewMatchers.withId;
|
||||||
import static androidx.test.espresso.matcher.ViewMatchers.withParent;
|
|
||||||
import static androidx.test.espresso.matcher.ViewMatchers.withText;
|
import static androidx.test.espresso.matcher.ViewMatchers.withText;
|
||||||
import static org.hamcrest.Matchers.allOf;
|
import static org.hamcrest.Matchers.allOf;
|
||||||
import static org.hamcrest.Matchers.is;
|
|
||||||
import static de.dennisguse.opentracks.util.EspressoUtils.childAtPosition;
|
|
||||||
import static de.dennisguse.opentracks.util.EspressoUtils.veryLongTouch;
|
|
||||||
import static de.dennisguse.opentracks.util.EspressoUtils.waitFor;
|
import static de.dennisguse.opentracks.util.EspressoUtils.waitFor;
|
||||||
|
|
||||||
import androidx.test.espresso.ViewInteraction;
|
import androidx.test.espresso.ViewInteraction;
|
||||||
@@ -25,7 +21,6 @@ import androidx.test.ext.junit.runners.AndroidJUnit4;
|
|||||||
import androidx.test.filters.LargeTest;
|
import androidx.test.filters.LargeTest;
|
||||||
import androidx.test.rule.GrantPermissionRule;
|
import androidx.test.rule.GrantPermissionRule;
|
||||||
|
|
||||||
import org.hamcrest.core.IsInstanceOf;
|
|
||||||
import org.junit.Rule;
|
import org.junit.Rule;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
@@ -58,7 +53,7 @@ public class EspressoEditTrackRecordingTest {
|
|||||||
ViewInteraction trackControllerStopButton = onView(withId(R.id.track_recording_fab_action));
|
ViewInteraction trackControllerStopButton = onView(withId(R.id.track_recording_fab_action));
|
||||||
|
|
||||||
// wait; stay recording
|
// wait; stay recording
|
||||||
trackControllerStopButton.perform(waitFor(15000));
|
trackControllerStopButton.perform(waitFor(4000));
|
||||||
|
|
||||||
// open menu
|
// open menu
|
||||||
openContextualActionModeOverflowMenu();
|
openContextualActionModeOverflowMenu();
|
||||||
@@ -67,23 +62,10 @@ public class EspressoEditTrackRecordingTest {
|
|||||||
onView(withText(R.string.menu_edit)).perform(click());
|
onView(withText(R.string.menu_edit)).perform(click());
|
||||||
|
|
||||||
// change name for "New Name"
|
// change name for "New Name"
|
||||||
ViewInteraction textInputEditText = onView(
|
ViewInteraction textInputEditText = onView(withId(R.id.track_edit_name));
|
||||||
allOf(withId(R.id.track_edit_name),
|
|
||||||
childAtPosition(
|
|
||||||
childAtPosition(
|
|
||||||
withClassName(is("com.google.android.material.textfield.TextInputLayout")),
|
|
||||||
0),
|
|
||||||
1)));
|
|
||||||
textInputEditText.perform(scrollTo(), replaceText("New Name"));
|
textInputEditText.perform(scrollTo(), replaceText("New Name"));
|
||||||
|
|
||||||
ViewInteraction textInputEditText2 = onView(
|
ViewInteraction textInputEditText2 = onView(allOf(withId(R.id.track_edit_name), withText("New Name"), isDisplayed()));
|
||||||
allOf(withId(R.id.track_edit_name), withText("New Name"),
|
|
||||||
childAtPosition(
|
|
||||||
childAtPosition(
|
|
||||||
withClassName(is("com.google.android.material.textfield.TextInputLayout")),
|
|
||||||
0),
|
|
||||||
1),
|
|
||||||
isDisplayed()));
|
|
||||||
textInputEditText2.perform(closeSoftKeyboard());
|
textInputEditText2.perform(closeSoftKeyboard());
|
||||||
|
|
||||||
// save edition
|
// save edition
|
||||||
@@ -91,7 +73,7 @@ public class EspressoEditTrackRecordingTest {
|
|||||||
appCompatButton.perform(click());
|
appCompatButton.perform(click());
|
||||||
|
|
||||||
// stop;
|
// stop;
|
||||||
trackControllerStopButton.perform(veryLongTouch(1600));
|
trackControllerStopButton.perform(longClick());
|
||||||
|
|
||||||
// it's on track stopped activity and there are two buttons
|
// it's on track stopped activity and there are two buttons
|
||||||
ViewInteraction resumeButton = onView(withId(R.id.resume_button));
|
ViewInteraction resumeButton = onView(withId(R.id.resume_button));
|
||||||
@@ -100,5 +82,4 @@ public class EspressoEditTrackRecordingTest {
|
|||||||
finishButton.check(matches(isDisplayed()));
|
finishButton.check(matches(isDisplayed()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user