草庐IT

instrument

全部标签

java - 模拟 : doNothing tries to invoke the void method in Android instrumented test

编辑阅读FAQ时,它让我知道什么可能会导致这里出现问题。只是为了试一试,我将stub方法的可见性open()更改为public并且它按预期执行,没有任何抛出异常。我不确定这是错误还是版本1.10.19的预期行为。原帖在我的Android项目中,我使用Mockito以简化某些(仪器)测试的实现。我能够模拟一些非void方法,但没有弄清楚如何正确地stubvoid方法。我正在尝试测试类House。House有一个类型为Door的属性和一个方法openDoor()。一个Door和一个Handle类型的属性和一个方法open()。当我调用openDoor()时,我想检查open()是否被调用,

android - 在哪里放置 Android Instrumentation 测试数据

我想在我的仪器测试中使用大文件(>2GB的zip存档和视频文件)来测试从SD卡/内部存储加载文件。如何编写这些仪器测试并为它们配备所需的文件?对于其他测试,我只需要非常小的文件,所以我将它们放在应用程序的原始资源中InputStreamrStream=context.getResources().openRawResource(R.raw.smalltestvideo);但现在我需要专门测试大文件,这不再是一个选项。我在运行testInstrumentationRunner"android.support.test.runner.AndroidJUnitRunner"

java - 获取 Android Instrumentation 测试的当前 Activity

我的Android应用程序上的MainActivity检查用户是否已登录(这存储在SharedPreferences中),如果没有,则将用户带到LoginActivity。我正在尝试使用以下代码对此进行测试publicclassMainActivityTestextendsActivityInstrumentationTestCase2{privatestaticfinalintTIME_OUT=5000;/*miliseconds*/privateMainActivitymMainActivity;privateInstrumentationmInstrumentation;priv

java - Android - 扩展应用程序类时 landroid/app/instrumentation 无法访问

我正在慢慢地尝试学习android,但我遇到了一个我不太明白的挂断。我正在尝试使用一些全局变量。我扩展了应用程序类。我在list中添加了我认为正确的内容(类的名称是FortuneCrunch):这就是我的FortuneCrunchActivity.java文件中的内容:packagecom.marctremblay.test.fortunecrunch;importandroid.app.Activity;importandroid.app.Application;importandroid.content.res.Resources;importandroid.os.Bundle;i

android - 如何针对发布版本 APK 运行 Android/Robotium Instrumentation 测试用例?

我有一个Android项目设置,其纯Java单元测试项目在PC上运行,其功能/集成测试项目在模拟器上运行。这两个使用InstrumentationTestCase2测试用例和Robotium框架。我能够从Eclipse运行这两个,针对我的应用程序的调试版本并收集结果等等。我能够通过Eclipse导出和Ant构建创建发布APK。APK已签名、压缩对齐和混淆。我想知道如何针对我的应用程序的发布版本而不是调试版本运行这些功能/集成测试。我知道我可能会遇到一些错误,因为应用程序项目包含一些可能已被Proguard删除的仅测试类,但我可以处理。我在Google和SO上进行了搜索,但没有成功。只有

android - 使用 ant 运行 Instrumentation 测试时出现 NoClassDefFoundError

(这是一个AndroidSDK工具v17问题。预计在v18中得到修复)我有一个测试目标项目A和一个测试项目B。项目A在其libs文件夹中有FlurryAgent.jar。项目B在其libs文件夹中有robotium-solo-3.1.jar当我编译并运行它们时,cdAandroidupdateproject-p.cd..cdBandroidupdatetest-project-p.-m../Aantallcleandebugantuninstallantinstalltanttestanttest执行测试失败:test:[echo]Runningtests...[exec][exec]

java - Android Espresso UI 测试 - 测试运行失败 : Instrumentation run failed due to 'java.lang.IllegalAccessError'

我遇到了以下问题:当我尝试使用Espresso开始独立的UI测试时,我总是在没有运行测试的情况下收到以下控制台错误消息。TestrunningstartedTestrunningfailed:Instrumentationrunfaileddueto'java.lang.IllegalAccessError'Emptytestsuite.所以我尝试运行命令:gradle-qdependencies我得到了以下结果:androidTestCompile-ClasspathforcompilingtheandroidTestsources.+---com.android.support:s

安卓 Gradle Jacoco : offline instrumentation for integration tests

我们正在构建一个使用Appium测试的Android应用程序。现在我想看看我们的Appium测试的测试覆盖率。我认为这是可能的,因为Jacoco支持离线检测(http://www.eclemma.org/jacoco/trunk/doc/offline.html)。甚至jacocogradle插件的文档也说:WhilealltasksoftypeTestareautomaticallyenhancedtoprovidecoverageinformationwhenthejavapluginhasbeenapplied,anytaskthatimplementsJavaForkOptio

android - gradle connectedAndroidTest 返回 "No test found",但是 adb shell am instrument 可以找到测试

我们有一个库项目,多个应用程序依赖于它。单元测试在图书馆项目中。我们能够从AndroidStudio中的依赖项目运行测试,但是./gradlew:[DependentProject]:connectedAndroidTest总是返回“未找到测试,无事可做”。通过观察,我发现在AndroidStudio中,好像只执行gradle任务::[DependentProject]:assembleDebug,:[DependentProject]assembleDebugTest然后使用adb安装目标和测试apk,并使用adbshellaminstruments运行测试。由于connectedA

Android Instrumentation 测试离线案例

对于我的仪器测试,我使用Robotium。大多数情况下,我能够测试除离线案例之外的所有内容。一旦我禁用数据(在模拟器中使用adb、F8快捷方式等...),测试就会断开连接。它在设备/模拟器中继续,但没有报告任何结果。所以,我有了一个想法,只将应用程序置于离线模式,而不是将整个设备置于离线模式。问题是我不知道如何...使用iptablesApi我需要对我的设备进行root。我读过Mobiwol应用程序使用某种VPN来限制应用程序互联网访问,而无需对设备进行root。问题Mobiwol如何应用程序阻止每个应用程序的互联网连接?或者还有其他方法可以离线测试apks吗?编辑2014年12月30