如何使用Robotium单击自定义ActionbarSherlock视图

时间:2012-11-26 15:16:03

标签: android actionbarsherlock robotium

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

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

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

有Robotium和ABS经验的人吗?

3 个答案:

答案 0 :(得分:6)

由于您仍然拥有源代码访问权限,因此您可以选择在视图级别访问ActionBar项目。

View actionbarItem1 = solo.getView(R.id.notification_icon);
solo.clickOnView(actionbarItem1);

答案 1 :(得分:3)

在我目前使用Action Bar将Back Key和三个动作菜单项作为图像按钮的项目中,以下代码运行良好 -

// 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);

答案 2 :(得分:0)

这是更好的处理方式:

这应与lib robotium-actionbarsherlock @ https://github.com/atermenji/robotium-actionbarsherlock

一起使用
if (Build.VERSION.SDK_INT < 11) 
 solo.clickOnActionBarHomeButtonCompat();
else 
 solo.clickOnActionBarHomeButton();