我需要编写一个测试来点击,比方说我的RecyclerView中的第一个项目。在某些情况下,RecyclerView将是空的,因此如果我单击具有0索引的位置,它将失败。我该如何编写这样的测试?先检查recyclerView是否为空再点击具体位置? 最佳答案 问题和评论中的场景略有不同。让我们实现下一个测试场景:如果回收站View不包含任何内容,则什么也不做。如果回收站View至少有一个元素,请单击第一个。@RulepublicfinalActivityTestRulemActivityRule=newActivityTestRule(
我在用androidTestCompile'com.android.support.test:runner:0.3'androidTestCompile'com.android.support.test:rules:0.3'androidTestCompile'com.android.support:support-annotations:23.0.1'androidTestCompile'com.android.support.test.espresso:espresso-core:2.2'androidTestCompile('com.android.support.test.es
我正在尝试验证ListView不包含特定项目。这是我正在使用的代码:onData(allOf(is(instanceOf(Contact.class)),is(withContactItemName(is("TestName"))))).check(doesNotExist());当名称存在时,由于check(doesNotExist()),我正确地得到了一个错误。当名称不存在时,我收到以下错误,因为allOf(...)不匹配任何内容:Causedby:java.lang.RuntimeException:Nodatafoundmatching:(isaninstanceoflayer
我正在使用Espresso2.2为Viewpager编写自动化测试,我需要在其中测试滑动功能。我写了下面的代码:@LargeTestpublicclassFirstActivityTest{@RulepublicActivityTestRulefirstActivityTestRule=newActivityTestRule(FirstActivity.class);@TestpublicvoidtestViewPagerSwipeFunctionality()throwsInterruptedException{onView(withId(R.id.tv_commu)).check(
标题中的问题。我试过类似的方法:onView(withId(R.id.search_edit_text)).perform(typeText("some"),pressKey(KeyEvent.KEYCODE_ENTER));但它不起作用。键盘仍然显示,TextView.OnEditorActionListener未被调用。有什么想法吗? 最佳答案 尝试onView(withId(R.id.search_edit_text)).perform(typeText("some"),pressImeActionButton());
我有两个fragment附加到一个Activity,并且想测试该Activity的工具栏标题。所以我这样写:@TestpublicvoidtestToolbar(){onView(allOf(instanceOf(TextView.class),withParent(withId(R.id.toolbar)))).check(matches(withText("Είσοδος/Εγγραφή")));}但是,无法识别我放入withText方法中的文本。android.support.test.espresso.base.DefaultFailureHandler$AssertionFa
当使用Espresso2.0附带的新ActivityInstrumentationTestCase2类时,我收到一个奇怪的警告Methodannotatedwith@Testinsideclassextendingjunit3testcase。我的类(class)看起来就像Google提供的示例类(class):importandroid.support.test.InstrumentationRegistry;importandroid.support.test.runner.AndroidJUnit4;importandroid.test.ActivityInstrumentati
我正在使用Espresso测试Android应用程序。我有一个带有androidInputType=date的EditText小部件。当我用手指触摸这个控件时,会弹出一个日历供我选择日期。如何在Espresso中自动执行此操作?我到处都看了,我想不通。typeText()肯定不行。 最佳答案 原来是我在这里回答的,但在另一个问题的范围内:RecordinganEspressotestwithaDatePicker-所以我从那里重新发布了我的改编答案:使用这一行在日期选择器中设置日期:onView(withClassName(Matc
自从我学习Espresso以来已经2周了,我无法理解intending和intended。什么时候使用intending和intended?提供的示例和在线教程没有帮助,研究网络对我弊大于利。在语义上,对于智力引用,为什么它是intend-ing和另一个intended,这增加了更多的困惑。这是另一个谷歌命名错误还是只是我?这两种方法真的没有意义。我误解了它的用法。IwantedtotestifmyactivityAlaunchedactivityB.而已。这是我的代码:@TestpublicvoidshouldLaunchTagListActivity(){onView(withId
我有一个Android应用程序,它有一个带有N个元素的RecyclerView,当这个RecyclerView在滚动时到达终点时,就会添加更多元素(因此,它是一个无限列表,当滚动到达底部时加载数据)。我想对此进行测试,但我还没有找到执行此操作的方法。我使用具有scrollToPosition的RecyclerViewActions,但即使我放置最后一个位置,也没有到达终点(因为每个元素的高度都很高)。有人知道我该怎么做吗? 最佳答案 我使用下面的代码滚动到我的RecyclerView的底部。activity=mActivityTes