Robotium测试选项菜单项单击

时间:2013-12-16 12:35:14

标签: android listview robotium options-menu

我想写一个测试类,我必须测试clickmenu项目的点击(我在选项菜单中有3个项目)。所以点击选项菜单项我显示列表视图,其中包含我从SD卡中检索的数据。

如果发生运行时异常,应用程序应该崩溃。

请帮我一些代码段/示例。

这是我的代码,但它不起作用。

private Solo solo;

@SuppressWarnings("deprecation")
public Mytest(
    super("com.attt.ui",Activity.class);
}

@Override
protected void setUp() throws Exception {
    super.setUp();
    solo = new Solo(getInstrumentation(), getActivity());
}

public void TestOptionsmenuItemclick() {
    solo.sendKey(Solo.MENU);
    solo.sendKey(KeyEvent.KEYCODE_MENU);
    solo.clickOnMenuItem("view");
    solo.assertCurrentActivity("hai", getName());

}

@Override
public void tearDown() throws Exception {
    solo.finishOpenedActivities();
}

     }

永远感谢帮助!

由于

4 个答案:

答案 0 :(得分:4)

当然它不起作用,因为它不是C# - 测试方法应该以“test”开头。顺便说一下:

solo.sendKey(Solo.MENU);
solo.sendKey(KeyEvent.KEYCODE_MENU);
solo.clickOnMenuItem("Review");

也没有意义,因为clickOnMenuItem会打开菜单并点击正确的文字。

您的测试方法应该是这样的:

public void testOptionsmenuItemclick() {
    solo.clickOnMenuItem("Review");
    solo.sleep(1000); // give it time to change activity
    solo.assertCurrentActivity("some message", SomeActivity.class);
}

答案 1 :(得分:3)

我解决了这个问题:

solo.clickOnView(solo.getView(R.id.menu_item_id));

答案 2 :(得分:1)

您应该更新到最新版本的robotium以解决此问题。

答案 3 :(得分:0)

那些疯狂的机器人家伙已经在5.4.4(https://github.com/RobotiumTech/robotium/wiki/Changelog

中添加了这个
select 
case 
        when right(column_1,2) = '.' then left(column_1,len(column_1)-2)
        when right(column_1,3) = '.' then left(column_1,len(column_1)-3)
        else column_1 end,
FROM 
table_1

哪个适合我。