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

android - Android 测试框架 performClick() 没有启动 Activity

我有一个ActivityInstrumentationTestCase2执行 Button.click() 的测试。Button 应该启动另一个 Activity 来做一些工作。我认为 Button.performClick() 执行正确,但测试在其他 Activity 执行之前完成。

我尝试了以下方法,但我认为这是一种解决方法,而不是一个好的解决方案。

难道没有更好的办法吗?

0 投票
0 回答
405 浏览

javascript - JS和组件树的Monkey talk自动化工具错误

我刚开始为我的应用程序编写一些自动化脚本。在 iOS 版本上,我使用苹果 UIAutomation,而对于 android 版本,我开始使用GorillaLogic的一款名为 MonkeyTalk 的好工具,但遇到了一些问题......

1)当我按下componentTree按钮时,我的应用程序突然崩溃(我也使用苹果UIAutomation,这个工具从来没有发生在我身上)

2) 当我尝试运行 *.JS 文件时,IDE 无法识别循环。

有谁知道我该如何解决谁的问题?

0 投票
1 回答
1410 浏览

android - 安卓白盒测试

我是新的 android 测试,有一段时间我正在使用 Android 测试框架来测试我的代码(在 ProviderTestCase2、AndroidTestCase、activityinstrumentationtestcase2 等的帮助下)我想知道还有哪些其他可用的开源框架(严格来说是白框) . 我遇到过Robotium、Roboelectric、monkeyrunner、Calabash)。哪个用于单元测试,测试android服务?我对上述用于黑盒测试的框架有了一个总体了解(如果我错了,请纠正我)。对于白盒测试,哪个是最好的测试框架?

0 投票
0 回答
4519 浏览

android - Android 集成测试:Robotium 还是 UIAutomator?

我想为 Android 应用程序设置集成测试,我想知道什么更好:Robotium或最近引入的 uiautomator

我以前有使用 Robotium 的经验,这个框架非常适合集成测试。但最近推出的 uiautomator 看起来也不错。

目前我看到 uiautomator 有几个限制:

  • 没有xml测试报告
  • 不兼容(仅适用于 4.1+)
  • 没有 Eclipse 支持,这意味着很多控制台工作

另一方面,该工具允许您摆脱被测应用程序沙箱,并且它是独立于包的,因此可以一起测试多个应用程序。

我也知道用 Maven、Robotium 和一些像 Jenkins 这样的 CI 进行设置相当容易,但我不确定使用 uiautomator 是否那么容易。

我想问一下uiautomator还有其他陷阱吗?还是目前最好坚持使用 Robotium?

0 投票
2 回答
867 浏览

android - 测试执行后冻结android junit测试

在每次测试执行之后,junit 进入下一个测试。每次测试执行后活动都会自动关闭。

测试功能时可以,但测试视图时不行。我想在 junit 执行下一个测试之前在屏幕上看到执行结果。

所以,我想在测试之间做一些小的延迟。


我有一种方法可以做到:

但我不喜欢这种方式,因为这段代码很脏(尤其是当我有很多这样的测试时)。


另一种方法似乎要好得多:

但是:它会阻塞 UI 线程,但不会阻塞测试线程。我需要阻止一个测试线程。

有没有办法Thread.sleep(3000);在测试线程中单独运行这段代码?


那么,在测试之间产生线程延迟的最佳方法是什么?

ps 请不要向我推荐额外的测试框架,我想使用嵌入工具来解决我的问题。谢谢你。

0 投票
5 回答
4176 浏览

android - 运行 Robotium 时 FragmentActivity 类的 java.lang.NoClassDefFoundError

我已经尝试了我能想到的一切,但我仍然无法使用 Robotium 运行我的测试。

我按照这里的建议将robotium库和我的主项目设置为在项目配置中导出

我已经按照这里的建议设置了android:debuggable标志true

我还按照此处android:targetPackage的建议检查了清单中的设置是否正确

还尝试在构建测试模块时更改主项目依赖项的范围,Provided而不是Compile(我不确定那是什么......)

这是测试项目的 AndroidManifest:

这是我得到的例外:

另请注意,我在 logcat 中看到了一些类似的错误:

如果有什么不同,我正在使用 IntelliJ Idea (11.1.5)、SDK 17、SDK Tools 21.0.1 并将 Robotium 更新到 3.6

更新

在这里找到了一个相关的讨论。无论我只运行一个测试还是所有测试,我都可以看到不同的错误消息,而且我的应用程序确实使用了 FragmentActivity。但无论我做什么,我都无法运行任何测试(不是一个,不是全部)......

0 投票
2 回答
1488 浏览

android - 使用 MockContext 时,较新 Android 版本中 ApplicationTestCase.createApplication() 中的 AssertionFailedError

我正在编写一个 Android ApplicationTestCase(TemperatureConverterApplicationTests 示例,可在Diego T. Milano 第 171 页的Android 应用程序测试指南中找到)。该示例是为 Android 2.3 编写的,它似乎不适用于 Android 4。您不必了解这本书就可以理解问题,因为我已经对其进行了简化。

这适用于Android 2.3.3 (API 10):

[准确地说,抛出 UnsupportedOperationException 是因为 getPackageName() 没有实现。但这是正常的,可以通过使用实现 getPackageName() 和 getSharedPreferences() 的 MockContext() 子类来解决。这无关紧要,因为即使在这样做之后问题仍然存在。]

问题是Android 4.1.2 (API 16) 无法正常工作。我得到一个 AssertionFailedError,通过一些调试我发现这是由于在 ApplicationTestCase 的第 100 行抛出了 ClassCastException。

ClassCastException消息是:

有什么建议为什么会发生这种情况以及如何避免这种情况?

编辑:相关问题:Android ApplicationTestCase using a MockContext

0 投票
0 回答
500 浏览

android - 如何在 android 中测试我的 dbmanager 类?

在我的 android 应用程序中,我使用的是 ormlite。现在我想为 db helper 方法创建一些测试用例。我不知道这应该如何正常工作。在开始具体测试之前,需要在我的测试用例中创建数据库。例如,我想测试是否会按预期创建用户。为此,我有一个应该测试的 addUser 方法,但是怎么做呢?

目前我为我的 DBManager-Class 创建了一个带有 TestCase 的 TestProject。

这是我的 DBHelper 类

}

和我想要测试的 DBManager,例如 storeUser 方法

和我的TestClass

有人可以帮我解决问题,我想一旦第一个测试运行,其他测试就应该清楚了。谢谢

0 投票
1 回答
659 浏览

android - 如何在 ActivityInstrumentationTestCase2 中接收活动中的参数

命令 :

现在,

我正在使用“ ActivityInstrumentationTestCase2 ”。

我在 setup() 中尝试了下面的代码,但它对我不起作用。

它总是给我“没有参数???”。

提前感谢您的帮助... :-)

0 投票
2 回答
2243 浏览

android - 安卓应用的自动化测试工具

我在我的android应用程序中完成了自动化测试,我使用了robotium框架。我仍然希望能够使用其他自动化工具。那么,有人可以为安卓应用程序推荐任何其他免费可用的自动化工具,哪个是最好的?