我正在使用Robotium
为我的Android应用程序编写Testcase,它有多个活动。该应用在UI中实现Drawer
。但是当solo打开抽屉时,它会给出异常Called From Wrong Thread Exception
。单击ActionBar Home时,抽屉会加载。
public void test4Drawer()
{
solo1.clickOnActionBarHomeButton();
Boolean actual=solo1.searchText("About");
Boolean expected =true;
assertEquals("Drawer Not Loaded",expected,actual);
}
答案 0 :(得分:1)
在你的setUp()中:
mActivity = getActivity();
在你的测试用例中加上这个:
mActivity.runOnUiThread(new Runnable() {
public void run() {
solo1.clickOnActionBarHomeButton();
}
});
但是当您使用标准robotium方法时,不应出现错误。如果此解决方案不适合您,请在此处共享完整堆栈跟踪。
答案 1 :(得分:1)
4.3版本的Robotium runOnUiThread
中存在问题无济于事。
正如关联的bug report所说,它已在Robotium 4.3.1版本中得到修复。
下载here。
如果保留runOnUiThread
代码并升级lib,则logcat中会有更明确的异常:
E/AndroidRuntime(32201): java.lang.RuntimeException:
This method can not be called from the main application thread
删除runOnUiThread
即可。