当前位置: 首页 > 知识库问答 >
问题:

Android TestRunner由于IllegalState异常失败

毕霖
2023-03-14

我正在运行android Instrumentation测试来进行单元测试活动,特别是WebView是否加载了如下代码,但每次都会出现异常

运行测试运行启动的测试未能运行到完成。原因:“由于”java,检测运行失败。lang.IllegalStateException“”。检查设备日志以了解测试运行失败的详细信息:由于“java”,检测运行失败。“非法州例外”

有没有Logcat日志,只是这个消息在控制台,尝试Genymotion以及设备都在android 5.0.

代码如下

public class WebViewActivityTest extends ActivityInstrumentationTestCase2 <WebViewActivity> {

    WebView webView;
    WebViewActivity testActivity;

    public WebViewActivityTest()
    {
        super(WebViewActivity.class);
    }

    @Override
    protected void setUp() throws Exception {
        super.setUp();
        testActivity = getActivity();

    }

    public void testWebView()
    {
        webView = (WebView)testActivity.findViewById(R.id.webView);
        assertNotNull(webView);
    }

    public void testPreconditions() {

        assertNotNull("Webview activity is null",testActivity);
    }
}

我尝试过搜索,但没有线索为什么会发生这种异常,请帮助。

共有1个答案

艾自强
2023-03-14

在try语句之后添加catch语句,并给try语句一个execption。syntext可能有点不对劲,但这会解决你的问题

public class WebViewActivityTest extends ActivityInstrumentationTestCase2 <WebViewActivity> {

WebView webView;
WebViewActivity testActivity;

public WebViewActivityTest()
{
    super(WebViewActivity.class);
}

@Override
protected void setUp() throws(exeption e) {
    super.setUp();
    testActivity = getActivity();
    catch(exeption e)
    System.out.println("Nope!);

}

public void testWebView()
{
    webView = (WebView)testActivity.findViewById(R.id.webView);
    assertNotNull(webView);
}

public void testPreconditions() {

    assertNotNull("Webview activity is null",testActivity);
}

}

 类似资料:
  • 问题内容: 我们无法运行在Genymotion模拟器上运行的基于IONIC框架构建的Android应用程序,尽管该应用程序可以在真实的硬件(真实的android手机)上正常运行。 我可以看到抛出了错误 以下是logcat文件中完整日志的片段: 问题答案: 我遇到了这个问题,原来是包含一些ES6粗箭头的JavaScript ()=> {…} 删除它们并返回匿名函数后 函数(){…} Genymoti

  • 我有一个开发项目,使用SpringDataJPA和MapStruct在实体和DTO之间进行映射。上周我决定是时候解决vs问题了,我已经推迟了一段时间。我选择使用和在需要时加载属性。但是,在执行从实体到dto的映射时,我遇到了这个问题。我想我知道这在哪里发生,但我不知道如何通过它。 密码 我已经跟踪了当映射器试图映射角色依赖关系时发生的。对象有 中,这不再有效。 有人知道如何避免异常,同时正确映射我

  • 我正在尝试创建我的第一个颤振应用程序,但当我运行它时,它会给我这个错误 失败:生成失败,出现异常。 > 无法打开设置文件'C:\JavaDemos\sea_ok\android\settings.gradle'的设置通用类缓存(C:\用户\Emre.gradle\缓存\5.6.2\脚本\b4ieilm7vkknhwvoai8y4gzba\设置\settins8410a2d21ed2f87c8a03

  • 我遵循了以下教程: 在GlassFish应用服务器中创建和配置MySQL数据源 在步骤10中,我提供的信息如下(假设我的数据库名为Jsf_demo): 数据库名称:jsf_demo 密码:thehung1724(这是我的MySQL密码) URL: jdbc:mysql://localhost:3306/jsf_demo.jsf_demo是库名。 Url: jdbc:mysql://localhos

  • 我在启动标准Eclipse Neon IDE时遇到问题。我正在使用Javajdk 1.8.0运行Eclipse Neon 1。重新启动我的计算机后,Eclipse将无法启动(上次使用期间没有安装新的插件/软件)。我尝试删除,但它仍然无法启动。请帮助。 附言。日志的日期似乎已关闭;我不确定为什么,但这是此日志文件中唯一的。 这是

  • 我正在尝试发布mvn,但由于git的问题,它失败了。我以前多次这样做都没有遇到这个问题,我真的不明白为什么会发生这种情况。 我首先是在mvn release:prepare中得到它的,但通过在我的根pom中添加下面显示的最后一行来绕过它: 但是现在,当我尝试做mvn发布:执行时,我再次收到错误消息: 我不明白它从哪里得到的想法,我的git安装文件夹应该是一个git存储库!错误发生前记录的git c