0

我正在Robotium为我的具有多个活动的 android 应用程序编写测试用例。该应用程序Drawer在 UI 中实现。但是当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);
}
4

2 回答 2

1

4.3版本的Robotium有问题runOnUiThread就无济于事了。

正如相关的错误报告所说,它已在 Robotium 4.3.1 版本中修复。

在这里下载。

如果您保留runOnUiThread代码并升级库,您将在 logcat 中出现更明确的异常:

E/AndroidRuntime(32201): java.lang.RuntimeException:
  This method can not be called from the main application thread

去掉runOnUiThread就好了。

于 2013-11-25T18:38:48.230 回答
1

在你的 setUp() 中:

mActivity = getActivity();

在你的测试用例中添加这个:

mActivity.runOnUiThread(new Runnable() {
    public void run() {
        solo1.clickOnActionBarHomeButton();
    }
});

但是,当您使用标准的机器人方法时,不应出现该错误。如果此解决方案不适合您,请在此处分享完整的堆栈跟踪。

于 2013-10-22T06:08:19.877 回答