我需要在没有源代码的情况下对Android应用程序执行一些自动测试工作。我发现robotium和espresso都可以完成这项工作,我决定使用espresso,因为它支持Google。我想用相同的签名对目标apk和espresso测试apk进行签名,目标apk与thissample相同.当我开始编写espresso测试apk时,我做了以下工作。Module:app中的build.gradle:applyplugin:'com.android.application'android{compileSdkVersion21buildToolsVersion"21.1.2"defaultCo
是否可以通过Espresso执行拖放操作?我需要向下移动一个View(直线),以便在我的自动化测试中接受一些条件。 最佳答案 您可以使用GeneralSwipeAction执行拖放操作。publicstaticViewActionswipeUp(){returnnewGeneralSwipeAction(Swipe.FAST,GeneralLocation.BOTTOM_CENTER,GeneralLocation.TOP_CENTER,Press.FINGER);}您也可以自定义位置以满足您的要求。
如果在我登录后启动了一个新Activity,那么我就知道一切正常。我试图实现这个,但我现在得到了一个java.lang.NullPointerException:Attempttoinvokevirtualmethod'voidandroid.support.test.espresso.intent.Intents.internalIntended(org.hamcrest.Matcher,android.support.test.espresso.intent.VerificationMode,java.util.List)'onanullobjectreference这是我的测试类
这是我第一次使用espressointents,我关注了IntentsBasicSamleandroid-testing项目中提供,但没有解决。在我的应用程序中,我有一个Activity,用户可以在其中选择多个图像,然后返回的图像显示在gridview中,现在通过使用espressointents,我想模拟它而无需转到实际的图像选择器并每次都返回一些指定的图像。没有错误,但在我运行测试时仍然打开图像选择器窗口。我觉得我做错了,但我不明白它是如何工作的。我正在使用apk进行测试。照片选择器是这样调用的应用代码这就是我调用选择图像Intent的方式,结果在onActivityResult中
我正在尝试通过Robolectric进行仪器测试和单元测试来运行Espresso(使用DoubleEspresso)。到目前为止,我所拥有的主要基于deckard-gradle例子。注意:Gradle1.10buildscript{repositories{mavenCentral()}dependencies{classpath'com.android.tools.build:gradle:0.10.4'classpath'org.robolectric.gradle:gradle-android-test-plugin:0.10.0'}}applyplugin:'android'a
AndroidStudio3.0Beta2我正在测试使用RxJava2获取端点列表。该应用程序在正常运行时运行良好。但是,当我使用espresso进行测试时,当我尝试subscribeOn(scheduler)时出现空指针异常。对于调度程序,我对注入(inject)的subscribeOn和observeOn使用了trampoline()。Causedby:java.lang.NullPointerException:Attempttoinvokevirtualmethod'io.reactivex.Observableio.reactivex.Observable.subscribe
我很难说服新的Android构建系统运行测试。运行测试时,它给出了Unabletoresolveactivityfor:Intent错误,该错误已在其他问题中讨论过,但其中没有任何内容可以解决我的问题。我已将其剥离,以便我的测试包完全不依赖于我的主包(com.wealdtech.app),但仍然无法启动Activity。我的测试Activity:packagecom.wealdtech.test;importandroid.app.Activity;importandroid.os.Bundle;publicclassTileLayoutTestActivityextendsActiv
我正在尝试使用EspressoforAndroid运行一系列测试。看来在两次运行之间,Activity并未关闭。无论应用在一次测试后的状态如何,都将留给下一次测试。我需要从一个全新的应用程序启动运行我的每个测试。在Robotium中,这是在tearDown()方法中使用solo.finishOpenedActivites()处理的。http://robotium.googlecode.com/svn/doc/com/robotium/solo/Solo.html#finishOpenedActivities()Espresso如何做到这一点? 最佳答案
我正在尝试基于.json文件创建一些假对象。所以我的项目的架构是这样的:-MyProject-app----src--------androidTest------------assets----------------FirstObject.json----------------SecondObject.json------------java--------main--------test我正在使用Espresso进行测试,并且在assets文件夹下有一些.json文件。我的测试类是这样的:@RunWith(AndroidJUnit4.class)publicclassLocat
基本上我正在尝试测试在错误登录后我在电子邮件字段中显示错误。观点是:我试着这样做:onView(withId(R.id.et_email)).check(matches(hasErrorText(ctx.getString(R.string.authentication_error_empty_email)))); 最佳答案 这适用于CustomMatcher:publicstaticMatcherhasTextInputLayoutErrorText(finalStringexpectedErrorText){returnnewT