Android 浓缩咖啡测试在碎片中的应用

Android 浓缩咖啡测试在碎片中的应用,android,android-studio,android-testing,android-espresso,Android,Android Studio,Android Testing,Android Espresso,我以前从未用过浓缩咖啡。现在我想在editText字段片段中自动键入一些文本。我只知道如何通过活动来做到这一点 @LargeTest public class EspressoTest { @Rule public ActivityTestRule<CheckInActivity> mActivityRule = new ActivityTestRule<>(CheckInActivity.class); @Test

我以前从未用过浓缩咖啡。现在我想在editText字段片段中自动键入一些文本。我只知道如何通过活动来做到这一点

@LargeTest
public class EspressoTest {


    @Rule
    public ActivityTestRule<CheckInActivity> mActivityRule =
            new ActivityTestRule<>(CheckInActivity.class);
    @Test
    public void testActivityShouldHaveText() throws InterruptedException {
        onView(withId(R.id.editText)).perform(clearText(), typeText("KI"));
    }
}
@LargeTest
公共级浓缩咖啡{
@统治
公共活动测试规则mActivityRule=
新的ActivityTestRule(CheckInActivity.class);
@试验
public void testActivityShouldHaveText()引发InterruptedException{
onView(带id(R.id.editText)).perform(clearText(),typeText(“KI”));
}
}
我有MainActivity托管的MainFragment,editText放在MainFragment布局中


在浓缩咖啡中有没有办法点击一些文本,这样它就可以通过文本找到视图?

现在我决定使用robotium,因为我不知道如何使用浓缩咖啡实现它
Robotium有waitForFragment和waitForActivity等方法,现在我决定使用Robotium,因为我不知道如何使用浓缩咖啡来实现它
Robotium有waitForFragment和waitForActivity等方法

如果您想通过文本查找视图,可以使用
onView(withText())

但是,您可能需要链接几个匹配器才能准确地找到您想要的
allOf()
允许您这样做。在键入之前,您可能还需要单击文本字段

onView(allOf(
    withId(R.id.editText),
    withText(R.string.edit_text)
)).perform(click(),
           clearText(),
           typeText("KI")
   );

我更喜欢在大多数测试中使用
replaceText()
,以节省时间。

如果希望通过文本查找视图,可以使用
onView(withText())

但是,您可能需要链接几个匹配器才能准确地找到您想要的
allOf()
允许您这样做。在键入之前,您可能还需要单击文本字段

onView(allOf(
    withId(R.id.editText),
    withText(R.string.edit_text)
)).perform(click(),
           clearText(),
           typeText("KI")
   );
我更喜欢在大多数测试中使用
replaceText()
,以节省时间

在浓缩咖啡中,有没有一种方法可以点击一些文本,这样它就可以通过文本找到视图

要通过文本捕获视图,可以执行以下操作:

onView(使用字符串(R.string.editText)).check(匹配项(isDisplayed())

要捕获文本或其中的一部分,您可以使用Hamcrest matchers(我认为在Robotium中也可能)。在这里,您可能会找到所有匹配器:

为了更清楚地说明这一点,我想举几个例子:

onView(withId(R.id.textView)).check(matches(withText(startsWith("Hello"))));

onView(withId(R.id.action_bar_main)).check(matches(withText(String.valueOf(contains("Hello")))));

onView(withId(R.id.textView)).check(matches(withText(endsWith("Hello"))));
我认为这也很有用:

在浓缩咖啡中,有没有一种方法可以点击一些文本,这样它就可以通过文本找到视图

要通过文本捕获视图,可以执行以下操作:

onView(使用字符串(R.string.editText)).check(匹配项(isDisplayed())

要捕获文本或其中的一部分,您可以使用Hamcrest matchers(我认为在Robotium中也可能)。在这里,您可能会找到所有匹配器:

为了更清楚地说明这一点,我想举几个例子:

onView(withId(R.id.textView)).check(matches(withText(startsWith("Hello"))));

onView(withId(R.id.action_bar_main)).check(matches(withText(String.valueOf(contains("Hello")))));

onView(withId(R.id.textView)).check(matches(withText(endsWith("Hello"))));
我认为这也很有用: