【问题标题】:how to navigate to settings in android emulator using robotium?如何使用robotium导航到android模拟器中的设置?
【发布时间】:2013-08-05 15:56:06
【问题描述】:

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

我想使用某种“robotium-solo”方法导航到 android 模拟器“应用程序”菜单内的“设置”图标。

这是我失败的尝试:

solo.sendKey(KeyEvent.KEYCODE_HOME);
//solo.clickOnImageButton(2); // no success!
//solo.clickOnActionBarItem(2); // no success!
solo.clickOnText("Settings");
solo.clickOnText("Music");

我检查了主屏幕“应用程序”图标的任何 KEYCODE_var,但找不到。

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

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

【问题讨论】:

  • 你有应用程序的源代码还是你用apk文件自动化??
  • 嗨 Keerthana,是的,我仅使用 apk 进行自动化。谢谢。

标签: robotium


【解决方案1】:

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

查看后可以solo.clickOnView(ViewNameObtained); 这肯定会解决您的问题。

【讨论】:

  • 这是我的代码:public void testClearAppData() { solo.sendKey(KeyEvent.KEYCODE_HOME); //solo.clickOnImageButton(2); //solo.clickOnActionBarItem(2); //solo.clickOnView(); ArrayList <View> views = solo.getCurrentViews(); for (View i : views){ System.out.println(i.toString()); } }
【解决方案2】:

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

您可以为此使用 UI Automator。

【讨论】:

  • UIAutomator 本身看起来很有前途,这意味着我无法在我的机器人测试用例中组合/使用它们。看来,如果我想在我的机器人测试用例中使用这个 UIAutomator 功能,这似乎很困难,因为我不能同时继承 ActivityInstrumentationTestCase2UIAutomatorTestCase 来创建我自己的测试用例类。任何进一步的指导都会有所帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-06
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
  • 2013-09-29
  • 1970-01-01
相关资源
最近更新 更多