我正在使用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经验的人吗?
答案 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();