草庐IT

espresso

全部标签

android - Espresso 2 升级后测试失败(失败 : Instrumentation run failed due to 'java.lang.IllegalAccessError' )

将Espresso升级到版本2后,我的所有单元测试都不会在Lollipop之前的设备上运行。请参见下面的跟踪:15:07:07.627[WARN][org.gradle.api.Project]TestsonSamsungGalaxyS3-4.3-API18-720x1280-4.3failed:Instrumentationrunfaileddueto'java.lang.IllegalAccessError'15:07:07.832[WARN][org.gradle.api.Project]com.android.builder.testing.ConnectedDevice>ha

Android espresso 测试在本地通过,但在 Firebase 测试实验室中失败

我对androidespresso测试有疑问。测试在本地通过但在FTL上失败。这是简单的测试onView(allOf(withId(R.id.text_supercategory_name),withText("Airconditioners"))).check(matches(withText("Airconditioners")));这个测试在本地通过。在FTL上我有错误:android.support.test.espresso.NoMatchingViewException:Noviewsinhierarchyfoundmatching:(withid:blablabla:id

android - 在 Espresso Android 中使用 IdlingResource 的正确方法

我正在使用Espresso编写UI测试。应用程序与服务器紧密合作,因此在很多情况下,我需要等待计算值,或者获取并显示数据等。Espresso建议为此使用IdlingResource。我的IdlingResource类看起来像这样(简单明了的示例)。publicclassIRViewVisibleimplementsIdlingResource{privateViewview;privateResourceCallbackcallback;publicIRViewVisible(Viewview){this.view=view;}@OverridepublicStringgetName(

android - 将 Espresso 与 Proguard 和 Gradle 集成

我正在开发的应用程序是使用Gradle构建的。我正在尝试添加Espresso作为仪器测试的依赖项。该应用程序本身有一些依赖项,其中之一是Guava15.0。为了完成这项工作,我使用了具有显式依赖项的Espresso版本,并排除了bundle的Guava(改为使用我自己的)。dependencies{...instrumentTestCompilefileTree(dir:'libs/espresso-dependencies',include:'*.jar')compile'com.google.guava:guava:15.0'...}当我尝试使用gradleconnectedIns

android - Espresso - 对全屏 Activity 执行操作失败 - InjectEventSecurityException

我浪费了两天时间尝试对全屏Activity执行点击操作。重现步骤使用全屏Activity代码模板在androidstudio中创建一个新项目为执行点击的Activity编写espresso测试publicclassFullscreenActivityTestextendsActivityInstrumentationTestCase2{publicFullscreenActivityTest(){super(FullscreenActivity.class);}@OverrideprotectedvoidsetUp()throwsException{super.setUp();getA

android - 如何使用 Espresso 测试 fragment

我有一个要测试的Androidfragment。我创建了一个测试Activity,我向其中添加了这个fragment并运行了一些Espresso测试。但是,Espresso在fragment中找不到任何View。它会转储View层次结构,并且全部为空。我不想使用实际的父Activity。我只想单独测试这个fragment。有没有人这样做过?是否有具有类似代码的示例?@RunWith(AndroidJUnit4.class)classMyFragmentTest{@RulepublicActivityTestRuleactivityRule=newActivityTestRule(Tes

android - 如何使用 Espresso 测试获取 Android 项目的覆盖率

我曾经使用Robotium编写Android测试并使用Emma检索覆盖率。最近我改为使用Espresso测试,但在检索Instrumentation测试的覆盖范围时遇到了麻烦。我只能检索使用Robolectric的单元测试的覆盖率。我目前正在使用gradle和Jacoco来做到这一点。我找到的帮助我达到这一点的最佳教程是:https://blog.gouline.net/2015/06/23/code-coverage-on-android-with-jacoco/是否可以检索使用Android工具的Espresso测试的覆盖率? 最佳答案

Android Espresso : How to match grand parent? 没有给出确切的层次结构

onView(allOf(withText(activityUnderTest),withParent(withId(R.id.llh_root_record_activity_3_item)))).check(matches(anything()));在上面的代码fragment中,withParent匹配器失败,因为给定的ViewID不是直接父级而是祖父级。它可以如下处理,但很想知道这个技巧,特别是当您不想指定下面代码中使用的凌乱层次结构时。onView(allOf(withText(activityUnderTest),withParent(withParent(withPare

android - 如何使用 Espresso 点击可点击的跨度?

我有一个TextView,里面有多个可点击的范围。我希望能够测试点击这些跨度。我尝试设置一个自定义ViewAction,它会在TextView中找到clickablespans,然后将它们的文本与所需文本匹配,然后单击该文本的xy坐标。但是,添加到TextView的跨度似乎不是ClickableSpan类型,而是添加跨度的fragment。因此,我无法区分链接跨度。有更好的方法吗?添加跨度:Util.addClickableSpan(spannableString,string,linkedString,newClickableSpan(){@OverridepublicvoidonC

android - Flaky Android Espresso 测试 - Snackbar

1)所有被测试的设备/模拟器都禁用了动画。2)我有一个@BeforeClass来构建我的Credentials对象。3)我有一个IntenServiceIdlingResource和一个EventBusIdlingResource,在@Before中注册。4)单击登录按钮时,将触发IntentService。在这种情况下,服务器(模拟服务器)返回500错误。该信息通过greenrobot的EventBus从IntentService发回UI,并显示带有错误消息的Snackbar。测试代码如下:@Testpublicvoida_userNamePasswordTest()throwsEx