android-testing相关内容

在 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 ..

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

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

使用 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 移动开发

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

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

使用不同的应用程序类测试 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 其他开发

为 Robolectric 的 SharedPreferences 提供测试数据

刚开始使用 Robolectric,它似乎正是我所需要的.但是,我在使用 SharedPreferences 方面遇到了一些障碍. 我有两个测试用例 Activity 需要一个新的/空的 sharedPreferences Activity 需要已经包含一些数据的 sharedPreferences 对于测试用例 1,测试按预期通过,所以一切都很好:) 然而,对于测试 ..
发布时间:2021-11-27 22:29:15 Java开发

在 Android 上测试数据库:ProviderTestCase2 或 RenamingDelegatingContext?

我已经使用 SQLiteOpenHelper 从某些类中的 android.database 包(使用模式 DAO)实现了对数据库的访问. 我使用 AndroidTestCase 为这些类编写了一些 junit 测试,但这会导致测试使用与应用程序相同的数据库. 我读到 ProviderTestCase2 或 RenamingDelegatingContext 可用于单独测试数据库.不幸 ..
发布时间:2021-11-27 22:29:04 移动开发

我如何允许 android 应用 alpha/beta 测试人员免费下载该应用?

我有一个应用程序,我想以 $x 的价格向公众发布,但是,我想允许免费下载 Google Developer Console Alpha/Beta APK.我希望测试人员能够免费下载它?我该怎么做? 提前致谢, 附注.我可以发誓我在 Google 上找到了该链接,但我似乎再也找不到了. 解决方案 这是我的结论(总之,没有解决方案): 1-(编辑:不幸的是,这一点不正确,除非 ..
发布时间:2021-11-27 22:28:43 移动开发

在 Android 中测试 GPS

您如何在 Android 中测试 GPS 应用程序?我们可以使用 Android 模拟器对其进行测试吗? 解决方案 是的. 如果您使用 Eclipse ADT 插件进行开发,请在启动模拟器后打开 DDMS 透视图并查找 Emulator Control 视图.如果您想定期发送多个坐标(以模拟特定路线行驶),则有一个位置控制部分,可让您发送固定的纬度和经度坐标,或 GPX(GPS 交换 ..
发布时间:2021-11-27 22:28:34 移动开发

如何跨多个 Activity 测试 Android 应用程序?

我们正在构建一个复杂的 Android 应用程序,其中包含分布在许多活动中的许多屏幕和工作流.我们的工作流程类似于您可能在银行的 ATM 机上看到的工作流程,例如,有一个 Activity 需要登录,它会转换到主菜单 Activity,它可以转换为其他基于用户选择的活动. 由于我们有如此多的工作流,我们需要创建跨越多个活动的自动化测试,以便我们可以端到端地测试工作流.例如,使用 ATM 示例 ..

ConnectedAndroidTest 执行的任务列表是什么?

我想了解更多关于 ConnectedAndroidTest Gradle 任务的信息.我看到它用于安装应用程序和测试 apk 并运行测试. 但是它执行的各个步骤是什么?(如果有的话,gradle 任务) “gradle build"似乎生成了应用程序 apk.什么任务生成测试 apk?它(ConnectedAndroidTest)如何安装应用程序并测试apk?它是如何开始测试的? ..
发布时间:2021-11-27 22:28:12 移动开发