在AndroidEspresso测试中有什么好的方法可以测试结果代码和数据吗?我正在使用Espresso2.0。假设我有一个Activity称为BarActivity.class,在执行某些操作后,调用setResult(intresultCode,Intentdata)具有适当的有效负载。我想写一个测试用例来验证resultCode和data.但是,因为setResult()是final方法,我无法覆盖它。我想到的一些选项是:定义一个新方法,例如setActivityResult()并使用它以便它可以被拦截,等等......编写一个将调用startActivityForResult(
有没有人设法在运行Espresso测试时通过代码禁用动画?我一直在尝试按照此网页中的说明进行操作(链接自here):https://code.google.com/p/android-test-kit/wiki/DisablingAnimations不幸的是它似乎没有工作,因为我一直看到这个权限错误:04-2715:48:28.694303-342/system_processW/PackageManager﹕Notgrantingpermissionandroid.permission.SET_ANIMATION_SCALEtopackagecom.cookbrite.dev(pro
Espresso用于自动测试我的应用程序。编辑:您可以在下面找到一些答案!如何点击(在自动Espresso测试脚本中)一长串自定义对象中的条目?在Espresso文档中有一个LongList的示例。使用对象列表是我通常做的事情。到目前为止,尝试了许多从Map到Object的选项并没有产生好的结果。Espresso文档说应该使用“onData”。所以,像这样:onData(myObjectHasContent("my_item:50")).perform(click());onView(withId(R.id.selection_pos2)).check(matches(withText
当在Espresso测试中运行的行滚动到RecyclerView列表中的某个元素时,我收到运行时错误UsageTracker.java中没有接口(interface)方法trackUsage():onView(withId(R.id.recyclerView)).perform(scrollTo(hasDescendant(withText(text))));我正在为scrollTo()方法使用RecyclerViewActions。这是我当前的配置和gradle依赖项:AndroidStudio3.0Canery9compileSdkVersion25buildToolsVersio
我想使用Espresso按下面的按钮,但我不确定如何操作。我应该获取资源ID吗?或者如何给AlertDialog设置一个ID??@RunWith(AndroidJUnit4.class)publicclassApplicationTest{@RulepublicActivityTestRulemActivityRule=newActivityTestRule(LoadingActivity.class);@TestpublicvoidloginClickMarker(){//Doesn'twork:onView(withText("GANAARINSTELLINGEN")).perfo
我正在尝试在EditText中键入一些文本:publicvoidtestSearch(){onView(withId(R.id.titleInput)).perform(typeText("Engineer"));onView(withId(R.id.titleInput)).check(matches(withText("Engineer")));}我看到EditText正在获得焦点,但没有任何反应。没有输入任何文本。我在手机和模拟器上试过了-结果相同。 最佳答案 看来我解决了这个问题。它与硬件键盘和软件键盘有关。对于模拟器:转到
基于此文档-https://developer.android.com/studio/test/command-line.html#AMOptionsSyntax,可以从Firebase实验室获取代码覆盖率结果。firebase-community.slack.com的#test-lab中的一些人能够让它工作,但经过几次尝试后我仍然碰壁。我能够通过遵循thisguide获得jacaco和emma的组合代码覆盖率报告,所以我的本地设置没有任何问题,但是在尝试向gcloudcmd行提供参数以询问覆盖率数字时出现问题并且它谈论emma报道。本质上,当我在本地运行这个命令时gcloudbeta
我正在尝试编写一个测试来验证使用Espresso启动的Intent,问题是intended()没有记录任何Intent。我有这个测试@Testpublicvoidshoulddosomething(){startActivity();intended(hasComponent(hasClassName(TemplatePictureCaptureActivity.class.getName())));}在我的Activity中我有这段代码@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedI
我最近将我的应用程序从使用异步任务转换为rxjava。现在,由于espresso没有用于rxjava的空闲资源,我的espresso测试不再等待我的数据调用完成。我注意到你可以制作自定义空闲资源,但我不知道如何让它与rxJavaSchedulers,特别是Scheduler.io一起工作。任何帮助/最佳实践将不胜感激。 最佳答案 我是这样解决问题的:IdlingResource实现:publicclassIdlingApiServiceWrapperimplementsMyRestService,IdlingResource{pri
我正在为我最近制作的应用程序编写一些Espresso测试。我在DrawerLayout中使用NavigationView作为滑动菜单。我设法用这种方式打开了抽屉:onView(withId(R.id.drawer_layout)).perform(open());这有效,所以现在我尝试在NavigationView中的菜单项上执行单击。onView(withId(R.id.nav_register))..找不到View。我尝试了几件事,但找不到检索菜单项View的方法。这是在代码中分配项目的方式:和activity_main_drawer.xml我读到一些关于NavigationVie