问题标签 [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 投票
2 回答
1262 浏览

android - 错误活动的 Android Espresso 测试

我的应用程序上有两个活动:登录活动 (loginActivity) 和第二个活动 (mainActivity)。我想用 Espresso 来测试 loginActivity 上的登录,所以我写了这个测试:

问题是,当应用程序启动时,如果用户以前登录过,loginActivity 会立即启动 mainActivity,并且在执行测试时它会失败并出现错误:

注意:如果我在运行测试之前启动应用程序并注销,错误就会消失。

提前致谢!

0 投票
1 回答
2687 浏览

android - Android Studio + Gradle 和 AndroidTest res/raw

我有一个安卓应用。我想编写仪器测试。

我想将一些特定文件放在res/raw测试 apk 的文件夹中。

我将它们放在androidTest/src/res/raw文件夹中,并在代码中使用R.raw.file. 但是,该应用程序引用了其他一些资源文件,这是我的main源集中的一个。

如何确保我的测试 apk 从其自己的res/raw文件夹中获取正确的文件?

0 投票
2 回答
2195 浏览

android - MultiDexTestRunner 不适用于 MultiDexApplication

我在用着:

  • 安卓工作室 1.1.0
  • 摇篮 2.2.1
  • Gradle 的 Android 插件:1.1.0

我们最近搬到了 Android Studio,我们正在努力使我们的仪器测试工作。但是,当我运行测试时,它给了我错误

运行测试测试运行开始测试运行失败:找不到仪器信息:ComponentInfo{com.xxx.xxx.test/android.test.InstrumentationTestRunner} 空测试套件。

我不确定我在这里做错了什么。请看下面的配置:

应用类:

应用程序构建.gradle

测试班

顶级 build.gradle

0 投票
1 回答
1768 浏览

android - 应用程序何时启动?

我有一个 Xamarin Android 应用程序正在生产中,我在 Google Play 开发者控制台的报告中看到了很多以下崩溃:

因为这看起来像 Xamarin 错误,所以我问了他们,​​我被告知问题出在这一行:

使用仪器启动应用程序是不正常的,这意味着有人正在“修补”我的应用程序。

但是我可以从许多不同的设备上看到许多这样的错误,一些用户甚至在他们的崩溃报告中留下了“它停止工作”的消息......

我尝试用谷歌搜索“android.app.Instrumentation.callApplicationOnCreate”,我发现许多应用程序日志都在日志中有这一行。

所以我的问题是,“android.app.Instrumentation.callApplicationOnCreate”真的是什么意思?普通用户什么时候会发生这种情况?

0 投票
1 回答
43 浏览

android - 检查 WebView 的内容

我正在对 Android 应用程序进行一些仪器单元测试。我试图找到一种方法来检查 WebView 的内容。具体来说,我正在寻找一个示例来确定 HTML 表格是否具有包含特定字符串值的单元格。任何想法或建议表示赞赏。

谢谢-安德鲁

0 投票
2 回答
16660 浏览

android - Android Studio 中的 UI Automator 2.0 项目

我想在 Android Studio 中建立一个项目。但是,我不想要一个 Android 应用程序,只想要一个测试项目。

在UiAutomator的最新版本之后,我试图设置一个扩展 ActivityInstrumentationTestCase2 的类并从那里开始我的测试。

但是,我偶然发现了一件事:如果不将其变成应用程序,我无法弄清楚如何创建该项目。

创建新项目的选项有:

  • 启动一个新的 Android Studio 项目
  • 打开现有项目
  • 导入项目

我做了:

  1. 开始一个新项目,给它一个名字,设置 minSDK 并选择“No activity”
  2. 打开 build.gradle(在 app 下)并添加测试支持库末尾提到的依赖项和检测信息
  3. 在src下打开androidTest,修改主文件:改为ActivityInstrumentationTestCase2,添加setUp和tearDown;定义 RunWith Junit4 (如测试支持库中所示)
  4. 我构建项目(构建成功) - 按旁边的绿色箭头在“操作栏”中构建

我的问题是:

  • 如何在设备中安装它?
  • 如何在设备中运行它?
  • 我需要在 AndroidManifest 中做任何事情吗?
  • 我在正确的地方编辑吗?我应该在 src/main 下做些什么吗?

我很感激安装和运行说明将同时用于如何通过 Android Studio 和使用命令行(如果您只知道其中一个,请无论如何发布它)。

注意:这是我第一次使用 Android Studio

提前致谢。

编辑:

现在我可以构建和运行,但它告诉我没有要运行的测试(空测试套件)。这是我的 graddle 和我的代码。

我的 build.graddle 如下:

我的源代码(在 src/androidTest/java/package 下)是:

控制台上的运行日志是:

我究竟做错了什么?

0 投票
1 回答
711 浏览

android - 在 Android 中跨单元测试和仪器测试共享资源

0 投票
1 回答
922 浏览

android - Android黑盒测试,找不到测试目标类

我在测试一个 android 项目时遇到了麻烦。

我有一个没有源的调试 apk。开始活动类是

我安装它使用

然后我使用以下 build.gradle 和 AndroidManifest.xml 创建一个新项目

但是当我运行测试时,它报告找不到“com.restfriedchicken.android.MainActivity”:

似乎仪器没有成功?

0 投票
2 回答
1895 浏览

android - 如何模拟期末课?

在 AndroidStudio 中工作。想用 PowerMock 模拟 AndroidInstrumentalTest 的最终类。在 gradle 中添加库:

制作测试类:

堆栈跟踪:

我检查了这个问题的解决方案,没有运气。显然解决方案有助于 mockito-core,而不是 powermock。由另一个问题证明

我看到了docs,然后尝试在测试类上添加注释 @RunWith(PowerMockRunner.class) 和 @PrepareForTest(BluetoothGatt.class) 。结果 :

0 投票
1 回答
1009 浏览

java - 使用 Mockito-core 创建最终类的模拟?

在 github 示例中找到了如何使用标准 Mockito 创建最终类 (BluetoothGatt.class) 的实例:

但从 Mockito 常见问题解答

Mockito 的局限性是什么

  • 需要java 1.5+
  • 无法模拟最终课程
  • ...

我检查了它是来自标准 android-sdk 的 BluetoothGatt,所以它看起来像模拟最终类。现在我尝试构建项目,确保这个测试有效。它如何使用核心模拟在这里制作模拟最终课程?如果它的代码最终无法正常工作,您知道如何模拟最终类以进行 android 仪器测试吗?(我已经尝试过 PowerMock)。谢谢