2

我正在使用 Robotium 为我的应用程序编写测试用例。该应用程序使用 ActionbarSherlock 将 Actionbar 移植到 4.0 之前的版本上。然而,ActionBar 项目似乎总是难以捉摸。我尝试使用这个项目 - https://github.com/atermenji/robotium-actionbarsherlock但自定义操作栏没有太多运气。我尝试了以下代码:

solo.clickOnVisibleActionbarItem(com.vtcreator.android360.R.id.notification_icon);

R.id.notification_icon 是自定义操作栏布局中定义的按钮。

任何有Robotium和ABS经验的人?

4

3 回答 3

6

由于无论如何您都可以访问源代码,因此您可以选择在视图级别访问 ActionBar 项。

View actionbarItem1 = solo.getView(R.id.notification_icon);
solo.clickOnView(actionbarItem1);
于 2012-11-27T09:00:40.247 回答
3

在我当前使用操作栏将返回键和三个操作菜单项作为图像按钮放置的项目中,以下代码运行良好 -

// Selecting Back function button on Action Bar
// com.main.myapp is the package name of the main application which is under test.
ActionBarView actionBar = (ActionBarView)solo.getView(com.main.myapp.R.id.abs__action_bar);
ImageView backUpKey = (ImageView)actionBar.findViewById(com.main.myapp.R.id.abs__home);
solo.clickOnView(backUpKey);

// Click on Tools Icon on Action Bar Menu
solo.clickOnImageButton(2);
于 2013-01-30T20:00:46.937 回答
0

这是更好的处理方式:

这应该与 lib robotium-actionbarsherlock @ https://github.com/atermenji/robotium-actionbarsherlock一起使用

if (Build.VERSION.SDK_INT < 11) 
 solo.clickOnActionBarHomeButtonCompat();
else 
 solo.clickOnActionBarHomeButton();
于 2013-11-27T11:35:12.453 回答