在编写 Espresso 测试时,可以使用 Espresso 提供的 API 来启动应用的前置 Activity 和处理页面跳转。

要启动应用的前置 Activity,可以使用 ActivityScenario 类的 launch 方法。例如:

ActivityScenario<MainActivity> scenario = ActivityScenario.launch(MainActivity.class);

这将启动 MainActivity。你可以将 MainActivity 替换为你需要启动的前置 Activity 的类。

要处理页面跳转,可以使用 Intents 类。Intents 类提供了一系列的静态方法来处理意图(Intent)的匹配和验证。

在测试某个页面的跳转时,可以使用 Intents 类的 intended 方法来验证是否发出了特定的意图。例如,你可以在点击按钮后验证是否跳转到了另一个 Activity:

// 触发点击事件
onView(withId(R.id.button)).perform(click());

// 验证是否发出了特定的意图
intended(hasComponent(SecondActivity.class.getName()));

这里的 hasComponent 是一个 Hamcrest Matcher,用于验证意图的目标组件是否是 SecondActivity

你还可以使用 Intents 类的 initrelease 方法来初始化和释放意图匹配器。例如,在测试开始前初始化匹配器:

@Before
public void setup() {
    // 初始化意图匹配器
    Intents.init();
}

@After
public void cleanup() {
    // 释放意图匹配器
    Intents.release();
}

这样,你就可以使用 Intents 类来处理页面跳转和验证意图

Espresso如何编写应用里的某个页面的测试启动应用的前置Activity启动和页面跳转怎么处理

原文地址: http://www.cveoy.top/t/topic/h187 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录