在 Espresso Android 中,从自定义视图中简单获取视图可以通过以下步骤实现:
build.gradle
文件中添加以下依赖:androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
onView()
方法来获取自定义视图。该方法接受一个 Matcher
对象作为参数,用于定位目标视图。你可以使用 Espresso 提供的内置 ViewMatchers
类来创建匹配器。例如,如果你的自定义视图的 id 是 customView
,你可以使用以下代码获取该视图:
onView(withId(R.id.customView))
perform()
方法执行点击操作,使用 check()
方法进行断言验证。以下是一个完整的示例代码:
import androidx.test.espresso.matcher.ViewMatchers;
import androidx.test.ext.junit.rules.ActivityScenarioRule;
import androidx.test.filters.LargeTest;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.runner.AndroidJUnit4;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import static androidx.test.espresso.Espresso.onView;
import static androidx.test.espresso.action.ViewActions.click;
import static androidx.test.espresso.assertion.ViewAssertions.matches;
import static androidx.test.espresso.matcher.ViewMatchers.withId;
@RunWith(AndroidJUnit4.class)
@LargeTest
public class CustomViewTest {
@Rule
public ActivityScenarioRule<MainActivity> activityScenarioRule =
new ActivityScenarioRule<>(MainActivity.class);
@Test
public void testCustomView() {
// 获取自定义视图并执行点击操作
onView(withId(R.id.customView))
.perform(click());
// 验证自定义视图的某个属性是否符合预期
onView(withId(R.id.customView))
.check(matches(ViewMatchers.isDisplayed()));
}
}
请注意,上述示例中的 MainActivity
是你的应用程序的主活动类。你需要根据你的项目结构和需求进行相应的调整。
对于 Espresso 的更多详细信息和用法,请参考腾讯云的 Espresso Android 测试框架文档。
领取专属 10元无门槛券
手把手带您无忧上云