gpt4 book ai didi

android - Robotium 在简单的 Android JUnit 测试期间崩溃

转载 作者:行者123 更新时间:2023-11-28 21:05:40 26 4
gpt4 key购买 nike

我无法运行简单的 Robotium 测试:

public class TapsTest extends ActivityUnitTestCase<Ad>  {
public TapsTest() { super(Ad.class); }

Solo mSolo;

@Override
protected void setUp() throws Exception {
super.setUp();
mSolo = new Solo(getInstrumentation(), getActivity());
}

public void testTabTaps() {
assertTrue(mSolo.searchText("Latest")); // NPE thrown here
}
}

此测试始终崩溃

java.lang.RuntimeException: java.lang.NullPointerException
at com.jayway.android.robotium.solo.Searcher.searchFor(Searcher.java:113)
at com.jayway.android.robotium.solo.Searcher.searchWithTimeoutFor(Searcher.java:68)
at com.jayway.android.robotium.solo.Solo.searchText(Solo.java:442)

在我的两台设备(Android 4.1.0 和 4.0.3)和 ADV 上。最初 Robotium 提示缺少 V4 支持库(我们不需要它用于其他目的)所以我添加了 android-support-v13.jar。现在类未找到异常消失了,但 NPE 仍然存在。我还尝试手动启动 Activity :

    Ad ado = startActivity(new Intent("android.intent.action.MAIN"), null, null);
mSolo = new Solo(getInstrumentation(), ado);

但 NPE 仍然存在。我尝试了 mSolo.searchButton("Go") 并且在 UI 上有一个带有此文本的按钮,它是可见的,并且仍然是来自 Robotium 中第 113 行的相同 NPE。

如果未经过测试,应用程序本身会启动并正确运行。此外,其他 ActivityUnitTestCase 测试(没有 Robotium)运行并顺利通过。

我尝试使用来自 Robotium website 的 robotium-solo-3.6.jar .

最佳答案

有什么理由,你使用ActivityUnitTestCase吗?您应该使用 ActivityInstrumentationTestCase2。然后你必须改变你的构造函数 - 添加包作为参数。看这里:http://code.google.com/p/robotium/wiki/Getting_Started

关于android - Robotium 在简单的 Android JUnit 测试期间崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14384586/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com