2013-12-16 61 views
0

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

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

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

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

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(); 
} 

    } 

帮助总是感激!

感谢

+0

你是什么意思“它不工作”?有一些例外吗?如果是这样的调用堆栈是什么? –

+1

@Dave C,运行应用程序时显示错误TestContentManagement]安装错误:INSTALL_FAILED_MISSING_SHARED_LIBRARY – Randroid

+0

使用真实设备或lanuch模拟器与谷歌api – maszter

回答

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

你可能想编辑你的答案从“TestOptionsmenuItemclick”到“testOptionsmenuItemclick”,我会这样做但它不会让我作为编辑太小(但我认为你会同意重要的! –

1

您应该更新robotium的最新版本,以解决这个问题。

3

我解决了这一点:

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