问题标签 [android-testing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
736 浏览

android - Intellij IDEA:SherlockActivity 的仪器测试中的 NoClassDefError,但从 Maven 命令行工作

我正在尝试为Activitywhich extends设置一个仪器测试SherlockActivity,它编译(并运行)但失败并出现NoClassDefError异常:

我正在使用 Maven 并ActionBarSherlock作为测试项目的 pom.xml 中的依赖项:

这是测试用例:

值得一提的是,如果我将活动更改为非 Sherlock 活动,我可以成功运行其他测试和这个测试。

此外,从 maven 命令行构建和运行测试项目可以工作,并且测试正在模拟器上运行并通过!

我怎样才能解决这个问题 ?

0 投票
0 回答
341 浏览

intellij-idea - 如何为特定的 Robolectric 测试禁用 jMockit 实例化?

我的许多 Android 单元测试都是用 Robolectric 编写的,但它非常有限,我想使用 jMockit 进行一些测试。

问题是每当 jMockit 实例化类时,Robolectric 测试运行程序都会失败。

我发现可以通过将系统属性“jmockit-mockParameters”设置为“annotated”来告诉 jMockit 仅实例化带注释的类 - http://code.google.com/p/jmockit/source/detail?r=2066

我正在使用 Intellij IDEA 并添加到测试运行配置 VM 选项-Djmockit-mockParameters=annotated中,但它不起作用..

如何正确设置此系统属性?

0 投票
1 回答
3872 浏览

android - Robolectric:使用 ViewHolder 模式测试 ListView 导致 NullPointerException

我有一个ListActivity它的适配器实现了 ViewHolder 模式。

适配器和视图:

当我在这门课上运行 Robolectric 测试时,我得到了NullPointerExceptionholder.name.setText线holder.address.setText

我的猜测是 Robolectric 不能row.findViewById正确处理。

我该如何解决?

这是一个例外:

0 投票
1 回答
244 浏览

android - 当文件不在目录 res/layout/ 中时,Robolectric 1.1 无法加载布局文件

当我在 robolectric 1.1 中运行测试时,在扩展布局文件时会发生以下错误:

有谁知道为什么会发生这个错误?据我所见,在 robolectric 1.1 版中,加载布局文件的方式没有改变,它搜索文件夹 layout/:

但是如果布局文件在另一个目录中(例如layout-normal-hdpi),就会出现这个错误..

有谁知道任何解决方案?

0 投票
2 回答
1393 浏览

android - 涉及系统应用的 Android 仪器测试

我必须在这里遗漏一些明显的东西:

我也在 Robotium 的帮助下在设备上运行仪器测试用例。在某些时候,我正在测试的应用程序会触发默认的电子邮件撰写活动。

我想知道的是:如何关闭该活动以便再次显示我的应用活动?至少出于一个原因需要这样做:在当前测试用例完成后,电子邮件活动仍处于前台,这会阻止下一个测试用例正常运行。

我尝试将所需的返回键发送到电子邮件活动 - 使用this.sendKeys(KeyEvent.KEYCODE_BACK)solo.goBack()- 但没有运气。

如果我运行solo.getCurrentActivity()获得对包中最顶层活动this.getActivity()的引用,但无法获取实际的前台活动。此外,提到的直接进入我的活动,而不是电子邮件。sendKeys/goBack

当我的应用启动 Play Store 主要活动时,也会出现同样的问题。
我意识到电子邮件活动不是我正在测试的包的一部分,这可能是问题的一部分。

那么,有没有办法关闭电子邮件活动?

编辑
现在我坚持@Joe Malin 的第一个建议:

在我的 ViewModel(或 Controller)中,有一个private static boolean _productionMode = true; 并且有一些仅在测试期间使用的辅助方法(如果在某些内部辅助类中更好):

然后在一些 ViewModel 常规方法中:

0 投票
1 回答
92 浏览

java - 反正有没有直接开始你的一项活动?

可能重复:
如何在另一个应用程序中启动活动?

我的应用程序架构是这样的;

附加信息:所有活动/操作都请求 api 调用以检索该屏幕的信息和资产。

我的场景/问题是;

反正有吗?我可以直接从我的应用程序外部启动 BanksActivty 或其他既不是启动器也不是 mainActivity 的活动之一?

这个问题有意义吗?

0 投票
2 回答
751 浏览

android - 如何编写跨越 2 个应用程序的 Android 测试用例

根据 Robotium 文档,我们不能编写跨越两个应用程序的测试用例,它说“测试项目被锁定到 targetPackage。Android 平台不允许超出该目标包。因此,您将需要 2 个测试项目,一个每个应用程序。”

目前我想做的是像猴子工具。我想在屏幕上随机触发动作以彻底触发应用程序的功能。在遍历过程中,程序流有时会跳出应用程序,然后 JUnit 或 Robotium 失去对程序的控制。我想知道有什么方法可以将程序流引导回应用程序?或者有什么方法可以同时控制多个应用程序?

谢谢!

0 投票
2 回答
98 浏览

android - 我的应用在哪些设备上有问题

所以我的问题很简单:我开发了一个非常酷的应用程序,它在我的设备上运行良好,但是我知道它不能在其他设备上运行。

是否有分析、仪表板、API 或其他东西可以帮助我找出特定设备存在哪些问题?

0 投票
1 回答
1555 浏览

junit - 为什么我不能在 android 测试项目中运行所有测试?

现在,我在单独的测试项目中编写 android 测试代码来测试应用程序。我编写了许多测试用例和类。现在,我想写一个测试服。运行所有测试。但它有一个例外。代码如下:

例外情况如下:

junit.framework.AssertionFailedError:在 android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175) 的 android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190) 的 com.netqin.myproject.test.alltest.AllTest 中找不到测试) 在 android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555) 在 android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1584)

出了什么问题,我找不到原因。任何帮助都是感激的。

0 投票
4 回答
5915 浏览

android - 当我运行我的 android UIAutomator 代码时,它显示错误

当我运行我的 android UIAutomator 代码时,它显示以下错误。

INSTRUMENTATION_RESULT:shortMsg=java.lang.RuntimeException
INSTRUMENTATION_RESULT:longMsg=com.android.ui.testing
INSTRUMENTATION_CODE:0

我刚刚运行了 developer.android.com 中给出的示例代码
如何解决这个错误?

日志附在下面: