问题标签 [android-instrumentation]

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

android - 为每个测试套件 InstrumentationTestCase Android 运行 setUp() 和 tearDown() 方法

我正在实现一个测试自动化工具,并且我有一个扩展InstrumentationTestCase. 例如:

当我运行 的测试时BaseTests, setUp() 方法被调用了 2 次。执行前一次,执行test_one()后一次test_two()。tearDown() 也会发生同样的情况,它在执行这两种方法后调用。

我想在这里做的是只调用一次 setUp() 和 tearDown() 方法来执行所有BaseTests测试。所以方法调用的顺序如下:

1) 设置()

2) test_one()

3) test_two()

4) 拆解()

有没有办法做这样的事情?

0 投票
1 回答
1137 浏览

gradle - 如何使用 guava 依赖项和 Espresso 配置应用程序

我将番石榴作为应用程序依赖项并在仪器测试中使用 Espresso。由于 Espresso 附带com.google.guava:guava:16.0,并且我guava在应用程序依赖项中有,因此我必须处理重复的依赖项问题。

Jake Wharton 在Double Espresso中指出,我可以通过执行以下操作来解决重复的依赖问题:

但是,使用该行时,我遇到了许多以下错误:

似乎 Espresso 没有找到番石榴依赖项。当我尝试

现在java.lang.NoSuchMethodError: com.google.common.base.Optional.get从浓缩咖啡代码中消失了,但是当仪器测试命中使用番石榴方法之一的应用程序代码时,我仍然收到以下错误:java.lang.NoClassDefFoundError

当我摆脱时也会发生此错误androidTestCompile('com.google.guava:guava:17.0')

我试过用AndroidTestProvided番石榴,没有运气。

当仪器测试使用番石榴方法命中应用程序代码时,为什么它找不到番石榴的路径,我已经没有想法了。

这是一个堆栈跟踪

它击中new Ordering<SomeClass>()哪个使用com.google.common.collect.Ordering.

任何反馈表示赞赏。

0 投票
0 回答
223 浏览

android - Android 字节码检测

我想使用字节码检测提取android应用程序的CPU和内存使用信息?谁能告诉如何在 android 中执行字节码检测?

我遇到了 ASMDEX 和 Dex-maker,它们将执行字节码检测,但没有足够的文档。

我想确切地知道将检测文件放在哪里(假设我们只有 .apk 文件)

0 投票
2 回答
1151 浏览

android - Android Instrumentation 主页按钮

知道为什么将 HOME 键发送到在 Instrumentation 下运行的应用程序什么都不做吗?

这在使用Robotium以及直接使用Instrumentation时是相同的。在模拟器和无根设备上的行为是相同的。

0 投票
1 回答
1863 浏览

android - 从不同的类运行 runTestOnUiThread

在我们当前的框架中,我们有一个扩展 ActivityInstrumentationTestCase2 | 的基类。安卓开发者。通常,当我们编写测试用例类时,我们会继承这个基类(我们称之为 FooBase)并编写我们的方法。正如您可以想象的那样,它变得非常大,我想重构它,以便对于我们正在测试的功能的每个区域,它都在它自己的类中,以便我们可以重用它。希望我的模糊类足够准确目标只是能够将方法分成不同的类并从我的测试用例中调用它们

我们的测试将是例如

我如何尝试重构它

我的新测试用例看起来像这样

当我执行这个时,我在 super.runTestOnUIThread 上得到一个空指针。

0 投票
3 回答
762 浏览

android - 即使在删除应用程序后,仪器也会显示

即使在删除应用程序之后,当我尝试时,仪器测试似乎也会显示:

adb shell pm list 检测

我什至尝试重新启动我的手机。

如何手动删除仪器测试?

0 投票
1 回答
723 浏览

android - How to run spoon in only one device

I have the situation where the tests can't be run in 2 different devices at the same time. I need to keep the two devices attached for another reason. How can I execute "mvn spoon:run" and run the tests in only one device instead of all of them?

Thanks!

0 投票
1 回答
1718 浏览

android - Flavors and instrumentation tests - gradle configuration

I use flavors in my project and I wanna add add instrumentation tests specific for each flavor.

So I created

But it doesn't work correctly.

So, I've tried to configure it in build.gradle, I've added

but I get error:

Error:(59, 0) Could not find property 'instrumentTest' on source set ding.

What's the best solution here?

0 投票
0 回答
557 浏览

android - Android Espresso 无法安装仪器

当我想通过 gradle 执行 Android espresso 测试时,我会收到无法安装仪器的错误

0 投票
1 回答
4014 浏览

java - 使用 Junit 测试对 SQLite 的读写

我有一个 dbManager 如下:

我想用android测试用例测试这个数据库的写入和读取,所以我开发它如下:

但是,当我运行测试套件时,它在我尝试初始化 dbWrite 的地方崩溃了

我收到错误“错误代码 = 14,无法打开数据库”。我曾认为我的数据库创建代码等有问题。

然后我通过创建一个测试活动以不同的方式进行测试:

这记录了数据库中的每个条目没有问题,所以我知道数据已成功写入和读取。

任何人都可以看到测试套件代码可能有什么问题吗?我想为这个项目编写测试用例,如果我想不通,我就不能这样做......