如何使用robotium导航到android emulator中的设置?

如何使用robotium导航到android emulator中的设置?,robotium,Robotium,我是Robotium的新手,在此之前,我通过直接为公共网站编写测试用例并从stackoverflow中的答案中整理出几个问题,学到了很多东西。现在,我似乎在这个(可能)琐碎的问题上碰壁了 我想使用某种“机器人独奏”方法导航到android仿真器“应用程序”菜单中的“设置”图标 这是我失败的尝试: solo.sendKey(KeyEvent.KEYCODE_HOME); //solo.clickOnImageButton(2); // no success! //solo.clickOnActio

我是Robotium的新手,在此之前,我通过直接为公共网站编写测试用例并从stackoverflow中的答案中整理出几个问题,学到了很多东西。现在,我似乎在这个(可能)琐碎的问题上碰壁了

我想使用某种“机器人独奏”方法导航到android仿真器“应用程序”菜单中的“设置”图标

这是我失败的尝试:

solo.sendKey(KeyEvent.KEYCODE_HOME);
//solo.clickOnImageButton(2); // no success!
//solo.clickOnActionBarItem(2); // no success!
solo.clickOnText("Settings");
solo.clickOnText("Music");
我检查了主屏幕“应用程序”图标的任何键码,但找不到

在DDMS中没有有用的日志消息来确定单击/点击该按钮时的启动活动。s


请指导我的方法是否好,并帮助我回答。谢谢。

您可以使用
getCurrentViews()
进行检查,并在单击菜单按钮之前和之后显示
视图的列表。通过比较,您可以获得显示的新视图的视图(即设置按钮)

获取视图后,您可以使用
solo.clickOnView(获得视图名)

这肯定会解决您的问题。

据我所知,使用robotium无法导航到设置。即使您能够到达那个里,您也不能执行任何其他操作,因为设置不是应用程序的端口。Android Instrumentation只允许在一个包内执行操作,而robotium是唯一的包装器,因此它也不能在应用程序外单击


你可以使用UI Automator来实现这一点。

你有应用程序的源代码吗,或者你有使用apk自动化的源代码吗?嗨,基尔塔纳,是的,我是单独使用apk自动化的。谢谢。这是我的代码:
public void testClearAppData(){solo.sendKey(KeyEvent.KEYCODE_HOME)//solo.clickOnImageButton(2);//solo.clickOnActionBarItem(2);//solo.clickOnView();ArrayList views=solo.GetCurrentView();for(视图i:views){System.out.println(i.toString());}
UIAutomator本身看起来很有前途,这意味着我不能在我的robotium测试用例中组合/使用它们。似乎,如果我想在我的robotium测试用例中使用这个UIAutomator功能,这似乎很困难,因为我无法继承
ActivityInstrumentationTestCase2
UIAutomatorTestCase
来创建我自己的测试用例类。任何进一步的指导都会有所帮助。