问题标签 [android-instrumentation]

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 投票
3 回答
10922 浏览

android-studio - Android Studio Instrumentation 测试构建变体

因此,我正在尝试使用自定义构建变体 mock 编写仪器测试。在这个构建变体中,我模拟了我的类和服务器。当我自己尝试使用模拟构建时,它工作正常,但我似乎无法使用我的模拟构建进行测试。这是我在 Android Studio 中的配置。

构建变体

我在运行测试时遇到了一些问题,所以我尝试卸载我的应用程序的所有版本,除了我的模拟版本,我一直收到这个错误:

测试运行开始测试运行失败:找不到检测目标包:com.teamtreehouse.review.debug

但是,当我尝试针对调试构建变体运行测试时,它可以正常工作。它安装我的调试版本,然后继续运行测试。

0 投票
1 回答
40 浏览

android - 带有通用文件的 Android Instrumentation

我是 android 中的 Instrumentation 新手。所以请帮助我实现这一点 - 我有一个包含类和方法的 android apk。我需要使用一种脚本文件或某个文件来监视其中所有方法和类的执行时间(我的意思是说,对于任何 apk,此脚本/通用文件应该适合对文件进行一些编辑,例如更改方法和类名称而不是在每个 apk 中编辑它)。有没有办法我可以做到这一点。任何形式的支持都会帮助我:)

0 投票
2 回答
1624 浏览

java - java.lang.AbstractMethodError 当在 Android 中监视 LinkedList

我想在 android 中监视 Linkedlist。

然而,异常发生了。

库的依赖项是

即使我更新mockito-core-1.10.19.jarmockito-core-2.0.31-beta.jar

问题依然存在。

但是Mockito.mock(Linkedlist.class)没关系,我对这个问题没有任何想法。

谢谢你。

0 投票
1 回答
1351 浏览

android - 我可以让仪器测试杀死并重新启动应用程序进程吗?

我需要测试一个应用程序从干净状态启动的用例 - 即在测试开始之前该进程尚未运行。从我所见logcat,所有的仪器测试都在一个单一的流程实例/会话下运行,所以在我的案例中测试的结果取决于它是否作为#1 运行。不应该这样——众所周知,单元测试(或仪器测试)应该是自主的。

标准的 Android 仪器测试工具和功能有什么方法可以强制 TestRunner 在给定测试之前重新启动进程?如果没有,是否有黑客或第三方库可以帮助我实现这一目标?或者有什么办法我可以明确地说必须首先运行测试 X(最坏的选择,但仍然如此)?

具体来说,我的测试与通过意图启动活动有关FLAG_ACTIVITY_CLEAR_TOP,除了活动启动模式(例如singleTop)和流程状态之外,意图标志(例如)在很大程度上决定了测试的结果。

0 投票
1 回答
13840 浏览

android - 等到视图通过 IdleResource 变得可见

我正在使用 Espresso 2.2 编写仪器测试。

我要测试的流程:

  1. 测试单击的单选按钮
  2. onClick 向 API 发起请求
  3. 每次不同时间后我收到回复
  4. 肯定响应触发活动中调用的接口方法
  5. onRequestSuccess 我正在屏幕上显示名为 vSetupAmount 的附加面板

我想在单击 radioButton 后注册 IdleResource,以便它等到 vSetupAmount 变得可见。但我不能让它工作。请告诉我我做错了什么。

我写过这样的 IdleResource:

所以我将活动传递给 IdleResource,用变量链接视图。我知道 IdleResource 不会让测试通过,直到 isIdleNow() 返回值 true。所以如果 view 是 View.GONE 那么它不会走得更远。

它在测试中的样子:

所以我点击了radioButton。IdleResource 已成功注册,但没有任何反应。在我的设备上,API 响应来了。vSetupAmount 正在显示,但

永远被检查(但我在屏幕上看到我的视图)总是返回错误。

我究竟做错了什么?

0 投票
3 回答
1343 浏览

android - 启用多索引的仪器测试随机失败

在我的 android 应用程序中,我启用了 multidexing。该应用程序在模拟器上运行良好。我正在使用 robotsium 来测试应用程序。但是当我执行仪器测试用例时,有时测试会通过,但大多数情况下它们在系统重启后也会失败。在它通过和失败之间没有代码更改。

默认gradle配置:

还为测试添加依赖项:

在 AndroidManifest.xml 中,我提到了应用程序标签:

我在 StartupActivity 中扩展了“android.support.multidex.MultiDexApplication”。仪器测试用例下降的时间我收到以下错误:

logcat 中的错误信息是:

测试类看起来有点像:

我正在将测试用例作为 android 测试运行。我无法理解哪个依赖项弄乱了代码。除此之外,代码的随机故障令人怀疑。请帮忙。

0 投票
4 回答
1582 浏览

android - 为 Spoon Gradle 插件设置 applicationApk 和 instrumentationApk

我想设置 .apk 文件,这些文件将用于使用 SpoonGradlePlugin 运行我的测试。

我可以从 gradle 文件中以编程方式设置可用的属性:

https://github.com/stanfy/spoon-gradle-plugin/blob/master/src/main/groovy/com/stanfy/spoon/gradle/SpoonExtension.groovy

但是我的项目有各种风格和名称,我想测试它们。使用当前设置,我得到:

我的构建名称是:

这就是为什么我想在 gradle 代码或控制台中的某个地方设置我的 .apk。到目前为止,我发现 Spoon Gradle Plugin 中有可用的字段:

https://github.com/stanfy/spoon-gradle-plugin/blob/master/src/main/groovy/com/stanfy/spoon/gradle/SpoonRunTask.groovy

有名字:

但是我无法访问像 SpoonExtension.groovy 中的 gradle 这样的属性。

有没有办法设置这些字段?

//编辑 - 添加了一些尝试:这是我的基本勺子配置:

以及扩展它并覆盖 instumentationArgs 以设置包和启动其他类型的测试的任务。

现在我尝试编辑 applicationApk 或 instrumentationApk 文件:

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

Edit2:我尝试了新事物:

和终端响应:

0 投票
0 回答
1366 浏览

android - Robolectric InstrumentationTestCase IllegalStateException 未注册仪器

我正在尝试编写一个非常简单的仪器测试用例,其中包含在 UI 线程上运行的代码。这是测试类:

但是当我尝试调用时,injectInstrumentation(InstrumentationRegistry.getInstrumentation())我得到

如何运行此测试?

0 投票
0 回答
240 浏览

java - 私有 Android 库项目的仪器测试

我正在编写一个 android 库项目,并想向它添加单元测试和仪器测试。

我很难理解这怎么可能。我首先查看了这个页面并尝试实现第二个要点描述的内容。我遇到的问题是被测库只有几个公共方法,其余的都是包私有的。因此,当我尝试将应用程序模块添加到我的项目时,应用程序模块无法获得对我实际尝试测试的包私有类的引用。

链接中的第一个要点太模糊了,我不明白它在指导我做什么。

有没有人有在需要测试的包私有类的 android 库项目上运行单元测试/仪器测试的经验?如果是这样,您能否帮助我了解测试所需的设置?

0 投票
1 回答
250 浏览

android - androidTest 和 android studio 中的 test 文件夹的不同测试用例示例

Android Studio 正在创建 2 个文件夹 androidTest 和test。任何人都可以举两个文件夹的测试用例示例。