问题标签 [android-testing]

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 回答
627 浏览

android - @Smoke 在 Robotium 中的意义是什么?什么时候应该使用它?

我是 Robotium 的新手,在NotePadTest.java示例中,我遇到了@Smoke注释。使用的目的是@Smoke什么?例如,我们@Override在重写方法或@implements实现接口的方法时使用。我的问题是为什么@Smoke?谢谢。

0 投票
3 回答
2212 浏览

android - 机器人waitForFragment

片段是否有与活动相同的等效方法?

我有一个应用程序并想测试片段事务。

还有其他解决方法吗?我讨厌把 solo.sleep(2000) 只是为了等待交易完成。

0 投票
3 回答
9111 浏览

android - 运行junit测试时是否可以进入android的调试模式?

通常我使用adb shell am instrument -w com.android.contacts.tests/android.test.InstrumentationTestRunner. 它确实有效,它将运行我所有的测试。

但是当我在运行junit时设置断点并希望进入调试模式时,它失败了。当我调试普通的android应用程序时,我制作断点的方式有效。

所以我搜索了网页,并尝试了类似的东西adb shell am instrument -e debug true -e class com.android.contacts.AndroidUtilsTest -w com.android.contacts.tests/android.test.InstrumentationTestRunner,但仍然没有运气。你的如何解决这个问题?我不仅想调试junit类,还想调试普通项目中的代码。

0 投票
5 回答
4714 浏览

android - Android的仪器测试-方向更改后如何接收新活动?


我正在尝试测试新创建的活动(在方向更改后)是否正确重新初始化。下面的代码显示从 getActivity() 返回的活动是在 setUp() 中构造的活动,而不是新创建的活动。

测试:


活动:


和日志:


如前所述,日志显示确实创建了新活动(MyActivity@44ee5178),但 getActivity() 返回在 setUp() 中创建的旧活动(MyActivity@44eb8690)。是否可以访问新创建的?

0 投票
1 回答
5353 浏览

android - 单元测试 Android 和权限

我的 Android 应用程序的 junit 测试需要 android.permission.WRITE_SETTINGS。我在他们自己的模块中使用 IntelliJ Idea 11.1.2 和单元测试,其中包含用于测试的第二个 AndroidManifest.xml。

我添加<uses-permission android:name="android.permission.WRITE_SETTINGS" />到测试模块的 AndroidManifest.xml 中。

错误:java.lang.SecurityException: Permission Denial: writing com.android.providers.settings.SettingsProvider uri content://settings/system from pid=1063, uid=10035 requires android.permission.WRITE_SETTINGS

丑陋的快速修复:我也向应用程序的 AndroidManifest.xml 添加了相同的权限。测试运行没有任何错误。

问题:我不想授予整个应用程序更改设置的权限。

有没有办法只为测试授予权限?

0 投票
4 回答
1052 浏览

android - Toast 未显示 android robotium 测试

我想在我的应用程序中测试“添加新项目”活动。当用户错误地填写数据然后按 OK 按钮时 - 将显示 toast(问题列表)。我的问题是:如何检查未显示吐司?

谢谢!

0 投票
3 回答
1389 浏览

android - 强制应用程序类关闭

我有一个扩展应用程序的类。类相当广泛。当应用程序长时间处于后台时,操作系统会杀死该类。重新启动时,事情会横向发展。我需要调试一些数据结构并解决问题。有没有办法强制操作系统复制这种行为,而不是在每次运行应用程序之间等待一两个小时?我知道我可以杀死整个应用程序,但这不是我想要的。

0 投票
1 回答
370 浏览

android - 如何使用robotium点击其他活动中的项目列表?

我的应用程序中有一个按钮,可以打开 android 联系人应用程序以从列表中选择联系人,换句话说,我需要单击其他活动中的列表项。我如何使用机器人来做到这一点?

谢谢!

0 投票
2 回答
165 浏览

android - 为什么我在我的测试项目中看不到数据库中的记录?

嘿!

我已经为我的应用程序编写了测试。我需要通过UI界面(使用robotium)将项目添加到数据库,然后我想使用SQLiteDatabase检查数据库中是否存在项目。

项目已成功添加(测试完成后我在数据库中看到新记录),但我的测试类中的 isExistsInDb 返回 false。我不明白为什么。请你帮助我好吗。谢谢!

活动类:

测试类:

更新:

如果我第二次运行测试它会通过,因为在数据库中存在先前测试添加的项目。

0 投票
2 回答
1214 浏览

android - ActivityResult 未返回到仪器测试中的调用活动

我正在使用下面介绍的方法来验证我正在测试的活动是否开始另一个活动。

根据文档, block 参数控制监视器是否应该阻止活动开始(返回其预设结果)。这就是我想要实现的 - 我想将 AcitivityResult 返回到调用活动:onActivityResult()。我使用的代码如下:

如果我理解正确,如果我将“true”传递给 addMonitor(),启动应该被阻止并且我的调用活动应该收到模拟结果。它没有发生。请求的活动正常启动,并且在模拟器中可见。结果不会返回给调用活动。有人有类似的问题吗?