问题标签 [testing-support-library]

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 投票
19 回答
76263 浏览

android - 无法解析符号“AndroidJUnit4”

显然我需要正确的导入语句来解决这个问题。根据文档AndroidJUnit4,这应该是

当我这样做时,Android Studiorunner以红色突出显示并抱怨“无法解析符号 'runner'”。

背景

我通过遵循 Android 开发者网站上的教程使用 UI Automator 设置测试来达到这一点。我遇到的第一个问题是,com.android.support:support-v4:22.2.0并且com.android.support.test:runner:0.2依赖于不同版本的com.android.support:support-annotations. 我遵循了这个 Android 错误报告中的建议,并将以下内容添加到allprojects中的建议,并在我的项目中build.gradle

这解决了直接错误,但我怀疑它会导致我当前的问题。有人对如何解决这个问题有任何建议吗?

来自 `./gradlew :app:dependencies 的相关部分

0 投票
1 回答
1426 浏览

android - 用 Espresso 测试 AutoCompleteTextView

我正在使用 Espresso 测试具有多个 AutoCompleteTextViews 的应用程序。对于一个特定的测试,会出现自动完成弹出窗口,但我只想忽略它并移至下一个TextView. 我怎样才能做到这一点?我的想法是模拟“返回”按下或模拟弹出窗口中的点击。

更新:

我正在尝试以下操作以单击自动完成弹出窗口:

现在的问题是,在某些情况下,输入的文本没有任何自动完成匹配项,因此不会出现弹出窗口。如何根据视图是否匹配有条件地执行点击?

0 投票
1 回答
992 浏览

android - 适用于 Android 的参数化检测测试

AndroidJUnit4 和 Parameterized 测试的答案链接到 Google 示例以使用@RunWith(Parameterized.class). 但是,这是一个简单的单元测试。如何运行参数化检测测试?

0 投票
4 回答
8871 浏览

android - 使用测试支持库销毁并重新启动 Activity

在 Android 中使用旧的 JUnit3 样式测试,我可以执行以下操作来破坏和重新启动活动:

如何使用新的测试支持库完成同样的事情?我可以使用 Espresso 和/或 UI Automator 或新库提供的任何其他机制。

更新:

我尝试了以下方法:

但是,似乎ActivityTestRule.getActivity()不会重新启动活动。

0 投票
3 回答
1395 浏览

android - 无法解析符号“LargeTest”

我正在将我的所有测试都转换到测试支持库。但是,当我尝试LargeTest像这样导入注释时

我明白了Cannot resolve symbol 'LargeTest'。我需要向我的 gradle 文件添加什么依赖项来解决此错误?

0 投票
1 回答
78 浏览

android - 运行 androidTest 文件夹空测试抛出 errnoexception

我在下面的 MainActivity 类代码中有一个空的 android UI 测试。

公共类 MainActivityTest {

它抛出异常,我不知道为什么。

日志消息是

“测试未能完成。原因:'仪器运行因'android.system.ErrnoException'而失败'。检查设备logcat以获取详细信息测试运行失败:仪器运行因'android.system.ErrnoException'而失败”

我在文档 https://developer.android.com/reference/android/system/ErrnoException.html中找到了这个

但它并没有真正解释太多。也尝试过谷歌搜索,但没有运气。在这里找到了一些旧答案,但没有使用测试支持库,并且没有一个问题有这种特殊类型的异常。我想知道有人可以帮助我吗?这可能是一个边缘情况。谢谢。

0 投票
1 回答
3287 浏览

android - GrantPermissionRule 导致 PermissionException

我今天尝试了新的 android 测试支持库。我的测试需要写入外部存储权限,因此我使用新的 GrantPermissionRule 创建了以下测试。

外部目录测试.java

应用程序.java

我正式获得了许可(在应用程序设置中可见)。尽管如此,我得到以下异常:

如果我测试代码手册,它会完美运行。

是否有人面临同样的问题,或者可能是图书馆本身的错误?

0 投票
3 回答
2832 浏览

android - GrantPermissionRule 停止工作

我于 2018 年 1 月 3 日在我的 Android 应用程序中成功实施的 GrantPermissionRule 不再有效。当我通过 Android Studio 运行 Espresso 测试时,模拟器会阻塞等待权限。但是,当我从命令行运行测试时,./gradlew dist; ./gradlew connectedDebugAndroidTest --stacktrace它不会请求权限。注意我会在每次运行之前手动擦除模拟器中的数据,以确保它是对 GrantPermissionRule 的正确测试。

以下是我用来实现 GrantPermissionRule 的原始参考资料: https://www.kotlindevelopment.com/runtime-permissions-espresso-done-right/ https://developer.android.com/reference/android/support/test/rule /GrantPermissionRule.html

app/build.gradle 中的版本:

  • com.android.support.test.espresso:espresso-core:'3.0.1'
  • com.android.support.test:runner:'1.0.1'

GrantPermissionRule 是否已停止向其他人宣传?