执行

时间:2015-06-16 17:19:26

标签: android testing swipe android-espresso

我目前正在使用Espresso库测试我的NavigationDrawer。 此测试的目的只是打开抽屉并单击每个项目。

所有这一切都很有效,除了一旦我在抽屉的中间,我执行一个perform(swipeUp())也可以,但是在滑动之后,等待大约30秒,然后执行其余的测试

以下是我的测试代码:

public void testNavigate() {
    String[] frags = new String[] {
            authActivity.getString(R.string.title_fragment_vehicles),
            authActivity.getString(R.string.title_fragment_smartphones),
            authActivity.getString(R.string.title_fragment_tools),
            authActivity.getString(R.string.title_fragment_pool),
            authActivity.getString(R.string.title_fragment_users),
            authActivity.getString(R.string.title_fragment_reporting),
            authActivity.getString(R.string.title_fragment_taxes),
            authActivity.getString(R.string.title_fragment_support),
            authActivity.getString(R.string.title_fragment_settings)
    };
    for (String elem : frags) {
        openDrawer(R.id.drawer_layout);
        if (elem.equals(frags[frags.length / 2]))
            onView(withId(R.id.drawer_layout)).perform(swipeUp());
        onView(withText(elem)).perform(click());
    }
}

这个测试通过,唯一的问题是它需要太长时间。

我甚至尝试通过更改参数来覆盖swipeUp()方法:

    private static ViewAction swipeUp() {
    return new GeneralSwipeAction(Swipe.FAST, GeneralLocation.CENTER_LEFT,
            GeneralLocation.TOP_LEFT, Press.FINGER);
}

仅供参考,我正在刷卡,因为我的抽屉的最后一个元素不可见,因此我无法在不滑动的情况下对其执行onClick()。 我只刷一个元素,也许这个方法用于更多元素,这就是我尝试使用其他位置的原因。

提前谢谢。

0 个答案:

没有答案