当前位置: 首页 > 知识库问答 >
问题:

CircularProgressLayout在浓缩咖啡中不双击

冯阳云
2023-03-14
onView(withId(R.id.exit)).perform(click(), click());
// code to verify app was closed here
    null
  • 动画/转换被禁用,但这不会阻止CircularProgressLayout动画化。
  • 我尝试执行(doubleClick());,但即使这样,在第一次单击和第二次单击之间也要等待2秒。
  • 我还试图滥用onlongclick()作为黑客来确认退出应用程序。这确实有效,但这是一个黑客。我只想让浓缩咖啡点击两次。

有什么建议如何使浓缩咖啡点击两次而不等待动画?

共有1个答案

何华灿
2023-03-14

决定编写自己的ClickTwiceViewAction。在viewaction.perform()方法中,很容易调用performClick()两次。

测试中的用法:

onView(withId(R.id.exit)).perform(clickTwice(200)); // 200 is the delay between both clicks

下面是我编写的ClickTwiceAction:

public class ClickTwiceViewAction implements ViewAction {

    public static ViewAction clickTwice(long delayInMillis) {
        return actionWithAssertions(new ClickTwiceViewAction(delayInMillis));
    }

    private final long mDelayInMillis;

    private ClickTwiceViewAction(long delayInMillis) {
        mDelayInMillis = delayInMillis;
    }

    @Override
    public Matcher<View> getConstraints() {
        return ViewMatchers.isAssignableFrom(CircularProgressLayout.class);
    }

    @Override
    public String getDescription() {
        return "click twice on displayed view";
    }

    @Override
    public void perform(UiController uiController, View view) {
        view.postDelayed(view::performClick, 0);
        view.postDelayed(view::performClick, mDelayInMillis);
    }
}
 类似资料:
  • 在我的主要活动中,我有initUi函数,它将触发对webviewActivity的意图,在webviewActivity中,有一个FragWebView,其中加载了url。 以下是来自FragWebView的示例代码: 我从我的主要活动中传递打开webview的意图是: 请让我知道如何解决这个问题。 问候

  • 我试着用“浓缩咖啡”写简单的测试 但我有个错误: 我正在尝试不同的框架进行测试,对我来说是最好的,但如果有人能帮助修复这个错误,我将非常感激

  • 我正在尝试通过仪器测试运行浓缩咖啡(使用双意式浓缩咖啡)并通过Robolectric进行单元测试。到目前为止,我所拥有的主要基于甲板分级的例子。 注意:Gradle 1.10 我的目录结构如下,其中需要作为com.example.app运行。数据作为: 因此,当我运行时,我收到错误,无法识别中的浓缩咖啡导入。 当我运行 时,我收到错误,无法识别 中的 JUnit4 注释.java()。 如果我把任

  • 当我试图编写一个与listview项交互的代码时,我得到了一个OmbyuousViewMatcherException异常。场景如下。 我有一个包含两个视图的listview 文本视图 按钮查看 我在列表中有将近250行。所有按钮都有文本“预订”或“取消”。他们在一个洗牌的顺序。我想直接点击列表中的第一个“预订它”按钮。我已经尝试了很多方案,但仍然无法找到解决方案。拜托谁帮帮我。 下面是我现在的代

  • 我正在使用espresso进行测试,在一个页面中有多个AdapterViews,例如,ID:r.id.list1,r.id.list2 如何选择特定的listview并在其上尝试onData?

  • 我目前正在使用Espresso对一个Android应用程序进行编程截图。我正在成功地使用 问题是,根据官方浓缩咖啡文档的以下假设: 消息队列为空。 当前没有正在执行任务的AsyncTask实例。 所有开发人员定义的空闲资源都是空闲的。 通过执行这些检查,Espresso大大增加了在任何给定时间只能发生一个UI操作或断言的可能性。此功能为您提供了更可靠和可靠的测试结果。 当运行时,我无法执行任何测试