相关疑难解决方法(0)

在Espresso android中获取当前活动

如果测试跨越多个活动,是否有办法获得当前活动?

getActivtiy()方法只提供一个用于启动测试的活动.

我尝试过类似下面的内容,

public Activity getCurrentActivity() {
    Activity activity = null;
    ActivityManager am = (ActivityManager) this.getActivity().getSystemService(Context.ACTIVITY_SERVICE);
    List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1);
    try {
        Class<?> myClass = taskInfo.get(0).topActivity.getClass();
        activity = (Activity) myClass.newInstance();
    }
    catch (Exception e) {

    }
    return activity;
}
Run Code Online (Sandbox Code Playgroud)

但我得到了空对象.

android ui-automation android-espresso

41
推荐指数
6
解决办法
3万
查看次数

有没有办法知道Espresso是否已开始活动?

我正在使用Espresso进行活动转换测试,但我不知道这是否是最好的方法:

public void testStartLogin() {
    onView(withId(R.id.register)).perform(click());
    onView(withId(R.id.login_password)).check(matches(isDisplayed()));
    onView(withId(R.id.login_show_password)).check(matches(isDisplayed()));
}
Run Code Online (Sandbox Code Playgroud)

最后两个来自第二个活动,但这对我来说太可怕了.有什么不同的方式吗?

android android-espresso

10
推荐指数
3
解决办法
8957
查看次数

如何使用Espresso访问外部网站上的元素

使用espresso,我们点击一​​个登录按钮,启动外部网站(Chrome自定义标签),您可以登录,然后重定向回我们的Android应用程序.

Espresso有没有办法:
1)验证正在启动的URL
2)访问网站上的元素,以便我可以输入登录信息并继续登录

在此输入图像描述

当我尝试在咖啡启动导航查看它,什么也不显示的页面,如果我尝试记录,它不会对我拿起进入页面上的任何内容.

这是我到目前为止(它在Kotlin(而不是Java)): 在此输入图像描述

这是显示的错误: 在此输入图像描述

它启动我的应用程序,选择登录按钮,打开网站,但它无法访问元素.

我也尝试过:

在此输入图像描述

更新:这是使用Chrome自定义标签(不是网络视图),因此Espresso Web无法使用.

android android-espresso android-uiautomator chrome-custom-tabs android-espresso-recorder

8
推荐指数
1
解决办法
2026
查看次数