0

我想编写一个测试类,我必须在单击选项菜单项时进行测试(我在选项菜单中有 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

4 回答 4

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);
}
于 2013-12-16T17:43:16.377 回答
3

我解决了这个问题:

solo.clickOnView(solo.getView(R.id.menu_item_id));
于 2015-07-17T17:53:53.320 回答
1

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

于 2015-03-30T08:54:45.477 回答
0

那些疯狂的机器人家伙在 5.4.4 中添加了这个(https://github.com/RobotiumTech/robotium/wiki/Changelog

solo.scrollRecyclerViewToBottom(0);

这对我有用。

于 2016-04-04T20:20:23.973 回答