几周来我一直在尝试Espresso测试,我最终决定开始测试Fragments。我立即遇到了一个问题,如何获取当前Activity?我的应用程序使用来自登录的数据,因此我无法启动带有测试规则的Activity。简单的说,做espresso测试的时候有没有类似getActivity()的东西? 最佳答案 我通常是这样理解的,它看起来(而且可能是)hacky但是,嘿,它有效importstaticandroid.support.test.InstrumentationRegistry.getInstrumentation;publiccl
我正在Android中对我的应用程序进行一些仪器化测试,但遇到了困难。我有一个来自android的v7支持库的SearchView,我想以某种方式测试它。我猜它不能直接点击,因为我用传统的方式尝试过,比如:onView(withId(R.id.search_view)).perform(click())有什么方法可以用Espresso测试这样的SearchView吗? 最佳答案 解决方案取决于SearchView的初始状态。如果它是折叠的,则必须先打开它:onView(withId(R.id.your_search_menu_id)
如何使用espresso实现数字选择器的自动化。我想使用Espresso在timePicker中设置特定时间。 最佳答案 要通过类名匹配View,您可以简单地使用:onView(withClassName(Matchers.equalTo(TimePicker.class.getName())));一旦您拥有ViewInteraction对象,您就可以在其上设置一个值,如下所示定义和使用ViewAction:publicstaticViewActionsetTime(finalinthour,finalintminute){retu
检查和断言ListView是androidespresso的预期大小的最佳方法是什么?我写了这个匹配器,但不太清楚如何将它集成到测试中。publicstaticMatcherwithListSize(finalintsize){returnnewTypeSafeMatcher(){@OverridepublicbooleanmatchesSafely(finalViewview){return((ListView)view).getChildCount()==size;}@OverridepublicvoiddescribeTo(finalDescriptiondescription)
我启用了:testBuildType"release"在proguard之后运行espresso-tests-但我遇到了mockito的问题。我可以为测试代码禁用混淆器吗?或者即使我将其添加到我的proguard-config中,任何人都能看到原因:-dontwarnorg.mockito.**-dontwarnsun.reflect.**-dontwarnandroid.test.**它仍然失败:Warning:org.mockito.cglib.beans.BeanCopier$Generator:can'tfindreferencedclassjava.beans.Propert
我有两个通过Intent相互交互的应用程序。我想验证一下AppA是否正确调用了AppB的startActivity而无需实际启动AppB.我已经尝试了intending的各种组合,Espresso仍然通过intent启动AppB而不是简单地将其删除。这会导致其余测试失败,因为UI被AppB阻止了。有什么想法吗?@RunWith(AndroidJUnit4.class)@LargeTestpublicclassMyActivityUiIntentsTest{@RulepublicIntentsTestRuleactivityRule=newIntentsTestRule(MyActivi
我知道围绕这个有很多问题,但我找不到任何可以帮助我的东西:(我尝试使用Espresso为Android应用程序生成UI-Test。在克服依赖性问题后(因为某些库作为其他库的依赖性在不同版本中包含两次)我仍然无法创建工作测试...我知道IdlingResource,但据我所知,espresso会开箱即用地等待主线程和AsyncTaskPool空闲,然后再运行任何测试。为了接触它,我创建了一个简单的应用程序,其中包含两个Activity,一个闪屏和一个主Activity。启动画面包含类似这样的内容,用于在启动mainActivity之前等待三秒钟newHandler().postDelay
我不认为这是一个骗人的问题。我正在编写一个简单的Espresso测试,其中一部分涉及单击snackbar中的“确定”按钮。Espresso.onView(allOf(withId(android.support.design.R.id.snackbar_text),withText(R.string.permission_snackbar))).check(matches(isDisplayed()));Espresso.onView(withText("Ok")).perform(click());这抛出android.support.test.espresso.PerformExc
我需要自动化我的UI测试,以便使用espresso测试项目进行后续操作。操作:点击一个按钮打开我的手机摄像头。捕获图像,并将图像保存在sdcard存储中。完成后还会在屏幕上更新一个小ImageView。应用程序运行良好,但对于所有其他操作和类似类型的上述操作,一次又一次地手动测试它成为一个耗时的过程。 最佳答案 我正在处理类似的问题并在下面的链接中找到了最佳可用解决方案CameraUItest//CameraActivityInstrumentationTest.javapublicclassCameraActivityInstru
我正在尝试自动化我的Android应用程序的某些UI(我没有源代码,所以我使用的是APK文件)。我已经完成了提供的教程here以及Google提供的一些教程,但所有教程都需要源代码。如果有人知道如何在没有源代码的情况下使用Espresso自动化UI,请提供帮助。我使用IntelliJ作为IDE和应用程序android版本5.0.2。 最佳答案 答案是肯定的,您可以在没有应用源代码的情况下使用Espresso运行自动化测试。Espresso基于Android仪器框架,这意味着自动化测试被内置到单个测试apk中。此测试apk与普通应用a