所以我有一个带有4个面板的向导,第一个有一个DatePicker,我在默认的日历模式下。
运行此代码时:
@RunWith(AndroidJUnit4.class) 公共类OnboardActivityTest {
@Rule
public ActivityTestRule<MainActivity> mActivityTestRule = new ActivityTestRule<>(MainActivity.class);
@Test
public void onboardActivityTest() {
ViewInteraction appCompatButton = onView(
allOf(withId(R.id.button), withText("Start Setup"),
withParent(allOf(withId(R.id.activity_main),
withParent(withId(android.R.id.content)))),
isDisplayed()));
appCompatButton.perform(click());
onView(withId(R.id.onboardingPager)).perform(swipeLeft());
测试会向左滑动日历,然后是下个月,而不是下一页。
当我在旋转模式下使用DatePicker之前,我有这个工作,它正确地使用了寻呼机。
我唯一能想到的是它无法找到寻呼机,因此滑动只是针对视图根运行?
如果我将其更改回微调模式,则页面会前进。
答案 0 :(得分:0)
再次不确定它是否有帮助(因为我不知道您的确切布局如何):您可以尝试自定义滑动事件,您可以从中精确定义滑动的执行位置:
public static ViewAction customLeftSwipe() {
return new GeneralSwipeAction(Swipe.FAST, GeneralLocation.BOTTOM_RIGHT,
GeneralLocation.BOTTOM_LEFT, Press.FINGER);
}
用法:
onView(withId(R.id.onboardingPager)).perform(customLeftSwipe());