android-testing相关内容

Espresso AutoCompleteTextView 点击

所以我最近开始在我现有的一个 Android 项目中使用 Espresso. 一切都很顺利,直到我在我的程序中找到了 AutoCompleteTextView.我似乎不明白如何正确单击自动完成列表中的第一件事.在这种情况下,我实际上甚至不确定要使用哪个,onView() 或 onData(). 解决方案 所以我终于想通了,感谢之前的这个问题:使用 espresso 工具测试自动完成文 ..
发布时间:2021-11-30 18:55:32 移动开发

Gradle:如何为课堂运行仪器测试

我正在 Android Studio 中运行仪器测试,运行配置定义如下(不要介意警告): 所以这是为特定类调用测试服.我想如何使用命令行实现这一点,我想使用 ./gradlew 命令? 解决方案 如 AndroidTestingBlueprint 中所述 你可以使用 android.testInstrumentationRunnerArguments.class 属性: ./gra ..
发布时间:2021-11-27 22:32:12 移动开发

如何使用 Gradle Android 运行单个仪器测试

我正在尝试使用这一行运行测试...但这会启动所有测试: ./gradlew -DconnectedAndroidTest.single=LandingActivityTests connectedAndroidTest 如何启动单个测试? 解决方案 可以分两步运行单个android测试: ./gradlew installDebugAndroidTest adb shell a ..
发布时间:2021-11-27 22:32:02 移动开发

浓缩咖啡意图测试失败

我正在学习使用 espresso 进行 android 仪器测试.我有一个应用程序,它有一个抽屉菜单,还有一个名为 About 的菜单.我正在测试单击该菜单项和活动内容. 测试功能: @Test公共无效 testNavigationDrawerAboutMenu() {onView(withId(R.id.drawer_layout)).perform(DrawerActions.ope ..
发布时间:2021-11-27 22:31:46 移动开发

androidx.test.InstrumentationRegistry 已弃用

切换到 AndroidX 并收到弃用:import androidx.test.InstrumentationRegistry. 如果我进行了下一次导入:import androidx.test.platform.app.InstrumentationRegistry 我不能使用 getContext(). 例如:val context = InstrumentationRegistr ..
发布时间:2021-11-27 22:31:37 移动开发

如何在 Android 单元测试中打开控制台输出?

有什么办法可以在控制台输出中打开测试日志吗? 我知道我们可以查看 HTML 文件中生成的测试结果并检查那里的标准输出,但我觉得这有点不方便. 我知道有一种方法可以使用标准的 java 插件来做到这一点: test {测试日志{事件“通过"、“跳过"、“失败"、“标准输出"、“标准错误"}} 但是在 Android 项目中使用它会导致错误: 找不到方法 test() 应用java ..
发布时间:2021-11-27 22:31:26 移动开发

Android - 独立的 Fragment UI 测试工具

我一直在寻找一种方法来单独测试我的 Fragment 的 UI(即,独立于其他 Fragment 和 Activity),但我找不到办法做到这一点. 特别是,假设我有 Fragment A、Fragment B 和 Fragment C.进入 Fragment C 的唯一方法(应用方面)是首先通过 Fragment A 和 Fragment B.我正在寻找一种直接测试 Fragment C ..
发布时间:2021-11-27 22:31:16 移动开发

在 Android 中效果最好的模拟库/框架?

我正在使用第三方库 (Twitter4j) 开发 Android 应用程序.我希望能够在 JUnit 和功能测试中模拟这些对象(也是我创建的对象). 你在使用一些模拟库方面有什么好的经验可以推荐吗? 解决方案 (更新:Mockito 从 1.9.5 版开始增加了对 Android 的支持,而 EasyMock 从 3.2 版开始通过分解出那些在运行时生成代码并使它们可插入,例如使用 ..
发布时间:2021-11-27 22:31:07 移动开发

使用 espresso 的 Android 自动化,无需应用源代码

是否无法在没有源代码的情况下使用 espresso 自动化 android 应用程序.Gradle 期望这样的结构: src/main/源代码/安卓测试/ 但我想在不同版本的应用上运行这些自动化测试?是否可以仅通过安装应用程序并运行测试来实现? 这里说这是不可能的: 使用 Espresso 自动化 Android APK 解决方案 答案是肯定的,您可以使用 Espresso ..
发布时间:2021-11-27 22:30:59 移动开发

当自定义 ImageView 调用 startAnimation(Animation) 时,为什么在 JUnit 测试期间 getActivity() 会阻塞?

我编写了一个 Android 应用程序,它使用 startAnimation(Animation) 显示一个自定义的 ImageView,它会定期旋转.该应用程序运行良好,但如果我创建一个 ActivityInstrumentationTestCase2 类型的 JUnit 测试并且该测试调用 getActivity(),则该调用对 getActivity()永远不会返回,直到应用程序进入后台(例 ..
发布时间:2021-11-27 22:30:49 移动开发

使用 AndroidX 运行插桩测试时未找到任何测试

我正在尝试在我的 Android 项目(使用 AndroidX)中​​运行标准 ExampleInstrumentedTest,但是却收到“未找到测试"错误.我已经浏览了其他问题和文档,我很确定我已经做对了一切,但也许我忽略了什么? 这是我的应用的 build.gradle: 应用插件:'com.android.application'应用插件:'kotlin-android'应用插件:' ..
发布时间:2021-11-27 22:30:39 移动开发

Android:如何分析本机堆转储?

我使用命令 dumpheap -n 创建了一个本地堆转储文件..该文件采用人类可读格式,但包含难以理解的信息.如何分析此文件并从中获取有用信息? 在函数名称的位置提供函数地址.映射在文件底部提供.是否有任何工具可以映射这些并使用函数/库名称而不是地址提供有意义的输出(加载库/函数的符号).如果没有,那么 ddms 如何做到这一点?另外如何加载符号以显示函数名称? 有什么方法 ..
发布时间:2021-11-27 22:30:29 移动开发

如何自动化DDMS快照机制?

Android DDMS 是否提供 API?我需要自动化本机堆的快照机制.或者是否有任何用于分析DDMS本机堆快照的后处理工具. 解决方案 我认为快照是指堆转储. 从您的应用代码中,您可以调用 Debug.dumpHprofData() 转储数据. 您可以从脚本调用 adb shell am dumpheap 其中 是例如您的进程 ID 或名称, 是转储文件名.之 ..
发布时间:2021-11-27 22:30:21 移动开发

为 androidTest sourceSet 配置 res srcDirs

我想包含仅用于测试的资源. 我的应用模块 build.gradle 文件中有以下内容: android {...源集{android测试{java.srcDirs = ['src/androidTest/java']res.srcDirs = ['src/androidTest/res']}}} java srcDirs 路径是正确的,但是如果我尝试从 androidTest 中的 re ..
发布时间:2021-11-27 22:30:12 Java开发

onChildView 和 hasSiblings 与 Espresso

我正在尝试从特定视图访问按钮.同一视图显示 6 次.这是我正在使用的代码. public void testTimeConfig(){onData(withDesc(“description")).onChildView(withId(R.id.positive)).perform(click());}私有静态匹配器withDesc(字符串desc){返回 allOf(is(instanceOf ..
发布时间:2021-11-27 22:30:05 移动开发

在 InstrumentationTestCase 运行之间重置应用程序状态

我的一位 QA 工程师正在为一个应用程序提供相当大的代码库和许多不同的 SharedPreferences 文件.前几天他来找我询问如何在测试运行之间重置应用程序状态,就好像它已经被卸载-重新安装一样. 看起来 Espresso(他正在使用)和 Android 测试框架本身都不支持它,所以我不知道该告诉他什么.拥有清除所有不同 SharedPreferences 文件的本机方法将是一个非常脆 ..
发布时间:2021-11-27 22:29:55 其他开发

使用不同的应用程序类测试 Android Activity

我正在寻找一种使用 JUnit4 和 ActivityTestRule 测试活动的方法,但使用不同的应用程序类(例如模拟或继承).我能够使用清单合并和 tools:replace="android:name" 在 androidTest/AndroidManifest.xml 中的应用程序标记上为库项目获取此信息.但是,这不适用于应用程序. 知道如何做到这一点吗? 解决方案 您可以使 ..
发布时间:2021-11-27 22:29:48 移动开发

等待查看带有浓缩咖啡的寻呼机动画?

尝试用 ViewPager 做一些测试. 我想在选项卡之间滑动,并且在滑动完成之前我不想继续.但是似乎没有办法关闭视图寻呼机的动画(开发者选项下的所有动画都被禁用). 所以这总是导致测试失败,因为视图分页器还没有完成它的动画,所以视图还没有完全显示: //向左滑动onView(withId(R.id.viewpager)).check(matches(isDisplayed())). ..
发布时间:2021-11-27 22:29:32 其他开发