Android系统.如何从Espresso测试库中滑动NavigationDrawer?

Via*_*lav 4 android unit-testing navigation-drawer android-espresso

我在Android中使用Espresso创建单元测试.我的项目有NavigationDrawer.我创建测试,必须滑动NavigationDrawer并单击按钮.在理解中,如何在我的测试中创建幻灯片操作.

我目前的解决方案

try
    {
        runTestOnUiThread(new Runnable()
        {

            @Override
            public void run()
            {
                DrawerLayout drawer = (DrawerLayout)getActivity().findViewById(R.id.drawer_layout);
                drawer.openDrawer(Gravity.LEFT);
            }
        });
    }
    catch (Throwable e)
    {
        e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

但我认为这是糟糕的代码.

den*_*nys 8

有一个描述如何在android-test-kit组中执行此操作,由ValeraZakharov解释 - 链接.


Cha*_*ere 8

Espresso 1.1已经出现了一段时间,但我仍然完全无法在其中找到任何导航抽屉功能......也就是说,直到我发现这个功能实际上包含在一个完全独立的库文件中:espresso-contrib,这可以通过gradle与

androidTestCompile 'com.android.support.test.espresso:espresso-contrib:2.2.2'

在Espresso网站的"Why Espresso"页面上简要提到了这一点:

如果您需要contrib库中的任何功能,例如DrawerActions,请从此处复制espresso-contrib jar .

这是DrawerActions文档.而这里是使用它的一些示例代码.希望这能使你走向正确的方向; 该EspressoSamples页面有没有这个示例代码...