问题标签 [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 回答
578 浏览

android - 使用 Robolectric 进行测试时,SparseIntArray 不会改变

我是新手Robolectric,我正在尝试对一个简单的 getter/setter 代码进行单元测试,但SparseIntArray在测试时似乎没有按预期工作,Robolectric而且它根本没有改变。(我总是用 get 方法得到'0')。

我还尝试为自身添加一个静态getter,SparseIntArray发现调用setter后,数组大小为0。

我在这里想念什么?

这是我要测试的代码:

这是测试:

0 投票
5 回答
11767 浏览

android - 如何使用 Robolectric 测试 IntentService?

我正在尝试测试using的onHandleIntent()方法。IntentServiceRobolectric

我开始服务:

似乎startedIntent不是空的,但onHandleIntent()似乎没有被调用。

我应该如何测试它?

0 投票
1 回答
6413 浏览

testing - 使用 Loadrunner 11.5 测试 Android 移动应用程序会出错

我在 Windows 7-64 位上使用 Loadrunner 11.5 评估副本。

我正在尝试使用 Loadrunner 11.5 提供的协议选项“移动应用程序 - HTTP/HTML”来测试基于 Android 的移动应用程序(基于 Android 2.2 构建)。

我创建了一个名为“Test_1”的 AVD,目标名称:Android 2.2,平台:2.2,API 级别 8 和 CPU/ABI:ARM(armeabi)。

我正在执行以下步骤:

  1. 打开 VuGen。
  2. 文件 --> 新脚本和解决方案 --> 协议:移动应用程序 – HTTP/HTML
  3. 录制选项:端口映射 --> 捕获级别 --> 套接字级别数据(默认只有一个选项且不可编辑)
  4. Record --> Recording Type --> Record Emulator – 使用移动设备模拟器录制脚本
  5. 模拟器录制:F:\android-sdk-windows-1.5_r2\android-sdk-windows-1.5_r2\AVD_Manager.exe
  6. 命令行:-avd Test_1 -netspeed full -netdelay none其中 Test_1 是打开 AVD 管理器时显示的“AVD 名称”。
  7. 工作目录:F:\android-sdk-windows-1.5_r2\android-sdk-windows-1.5_r2
  8. 记录在行动:行动
  9. 结束

我在不同的时间得到 3 个不同的结果:

结果 1: 录制开始,我得到一个名为Critical Error显示的弹出窗口Unable to determine AUT's bit capacity(据我所知,AUT 表示“正在测试的应用程序”。)以及标题为“F:\android-sdk-windows-1.5_r2\”的命令窗口android-sdk-windows-1.5_r2\AVD_Manager.exe' 稍后我必须关闭两个弹出窗口。

结果 2: 录制开始,我得到一个名为Critical Error显示的弹出窗口Unable to determine AUT's bit capacity(据我所知,AUT 的意思是“正在测试的应用程序”。)以及标题为“F:\android-sdk-windows-1.5_r2\”的命令窗口android-sdk-windows-1.5_r2\AVD_Manager.exe' 然后当我在弹出窗口中按 OK 时,AVD 管理器打开。然后我选择设备名称即Test_1 并单击开始。模拟器启动,然后我可以录制。但这只发生过一次。

结果 3: 录制开始,我收到名为 emulator-arm.exe 的弹出窗口已停止工作。

请让我知道我哪里出错了,或者我需要输入更多信息吗?

我需要在上面的第 5 步中提供 \tools\emulator.exe 吗?

快速回复会很好,因为我的评估副本将于 2012 年 8 月 26 日到期。

0 投票
0 回答
372 浏览

android - 如何将 Robolectric 测试与 Android 测试框架混合使用?

我对 Android 测试还很陌生,这真的让我很难过,我发现使用 Android 的仪器测试框架更容易测试一些东西,而使用 Robolectric 的阴影对象更容易测试一些东西。

有没有办法拥有一个混合了 Robolectric 和 Android 测试的测试项目,或者唯一的方法是拥有两个独立的测试项目?

0 投票
0 回答
245 浏览

java - 扩展 AndroidTestCase 时缺少文件,TestCase 工作正常

我有一个 Android 测试项目,它将几个文件写入 sdcard,其层次结构为:

如果我让我的 Test.java 文件扩展AndroidTestCase,我的测试将正确运行,但是当我这样做时adb pull,一些文件将丢失,即结果目录中的任何内容。奇怪的是,gen 目录中的文件会涓涓细流进来。也就是说,我会做得到adb pull4,然后再次运行它,得到 8,依此类推,直到它们都出现。

但是,如果我让我的 Test.java 文件扩展TestCaseadb pull会发现所有文件都没有问题。

tearDown()无所事事地认为super.tearDown()可能是AndroidTestCase场景中的差异,但这并没有帮助。

我在测试方法的最后添加了日志,查询我缺少的文件的名称、大小和最后修改时间,据我所知,它返回了适当的值,直到我的测试运行的最后一秒,该文件是当下。

我还注意到AndroidTestCase做了一个额外的testAndroidTestCaseSetupProperly,但从我所看到的,所有这些都是确保上下文不为空:

所以我想我的问题是,是否会AndroidTestCaseAndroid 4.0.3.您清理文件?如果是这样,为什么它会清理一些文件而不清理其他文件?


根据请求,下面是显示我在做什么的代码:

该代码将返回两个警告,例如:

Name: some pathSize: 5

表明a)文件是在正确的位置创建的,并且b)大小正确,写入成功。但是一旦我的测试退出,bam,adb pull那个目录上就没有输出了。(结果一)

0 投票
3 回答
170 浏览

android - Is there a way to wait for an application to be created before continue in android testing?

I'm also using Robotium testing framework. My application does some setup work that is necessary to be done first in order for the tests to work.

I know that ActivityInstrumentationTestCase2#getActivity is called, the activity is started if it hasn't already. But I need something setup first by the app or the code stops in error.

0 投票
4 回答
1530 浏览

android - Android 源文件夹

我有一个 Android 项目,它有一个“src”源文件夹,我还创建了一个“test”源文件夹。这两个文件夹里面有一个同名的包。我在test文件夹中添加了一个activity并将其设置为主要activity,但是Android无法识别它,尽管正如我所说,它的包名与“src”文件夹的包名相同,这也是包名的应用程序。我错过了什么?我必须使用单独的项目进行测试吗?

0 投票
1 回答
301 浏览

android - 用于测试android应用程序的记录工具

是否有任何应用程序可以用来记录用户在 Android 应用程序中的活动?

我想在测试应用程序时获取用户步骤。是否可以记录他们的步骤(可能是截图)?

0 投票
1 回答
119 浏览

android - 每个最常见的 android 设备

有大量关于 Android 操作系统版本采用以及哪些版本最常见的可用信息(例如,此处

是否存在包含基于流行度的有关物理设备特性的类似信息的资源?也就是说,例如,哪些屏幕尺寸最常见等?

0 投票
1 回答
2187 浏览

android - 如何设置 Android 的 MockContentProvider

我目前正在测试 Android 的 ContentProvider 并遇到了一些模拟它的问题。我已经在互联网上花了几天时间,但除了Android Developer Site上的介绍外,没有找到任何有用的示例。

我实现了一个 ContentProvider 并编写了一些测试。一切都在这里工作得很好。测试结果符合我的预期。

我还实现了一个封装 ContentProvider 并提供比删除、插入、查询和更新更复杂的方法的类。看一看!

最后,我们要解决我为这门课编写测试的问题。我想使用模拟的 ContentResolver 为这个类编写独立的测试。我找到了这个 [example] (http://www.androidadb.com/source/npr-android-app-read-only/Npr_Test/src/org/npr/android/util/PlaylistProviderTest.java.html)上网并尝试使用 MockContentResolver。

首先,我创建了一个新的 ContentProvider,它将从测试类中检索删除、插入、查询和更新调用,以一次又一次地创建相同的答案。

在此之后,我修改了我的 setUp 方法以创建一个 MockContentResolver 并在上面添加了我的 ContentProvider

最后但同样重要的是,我为我的 isStored 方法编写了一个测试用例。

不幸的是,android.content.ContentProvider 总是抛出 NullPointerException。我resolver.query(...)在 DirectMessageDataAccessImpl 的第 72 行调用