使用UIAutomator打开抽屉而无需修改应用程序代码

时间:2015-04-02 15:25:29

标签: android ui-automation uiautomator android-uiautomator

我试图在我正在启动测试的项目之外的应用程序上使用UIAutomator运行UI测试。因为我正在使用我的测试项目之外的应用程序,所以我不能使用Espresso(据我所知)。我想打开这个应用程序的左抽屉。 Espresso有一种非常简单的方法可以做到这一点

openDrawer(R.id.drawer_layout)

但UIAutomator看起来更复杂。

有人在其他地方问了类似的问题,给他们的建议是他们应该修改他们正在测试的应用程序的源代码中的抽屉,以便UIAutomator可以更简单地打开它。但是,我无法访问我想要测试的应用程序的源代码,所以我很遗憾不能这样做。看起来使用一般的拖动和滑动功能似乎也没有那么好用,但我对此并不确定。

是否可以使用UIAutomator打开抽屉?如果是这样,最好的方法是什么?

2 个答案:

答案 0 :(得分:1)

您必须使用ActionBarDrawerToggle的内容说明。如果您查看doc,您会看到ActionBarDrawerToggle只有两个构造函数,它们都有openDrawerContentDescRescloseDrawerContentDescRes。因此,在不更改代码的情况下,您可以使用此topic的答案。

答案 1 :(得分:0)

如果你想做的唯一事情是打开侧抽屉,你可以像用户那样做:

  • 点击操作栏中的应用按钮

  • 从左边缘向右滑动(到屏幕中间应该足够了但是我发现有时它没有完全打开它会引起立即关闭。所以我建议你滑动直到右边缘,例如)

使用第二个选项,您甚至不必知道任何元素的ID。