onView(withId(R.id.exit)).perform(click(), click());
// code to verify app was closed here
执行(doubleClick());
,但即使这样,在第一次单击和第二次单击之间也要等待2秒。onlongclick()
作为黑客来确认退出应用程序。这确实有效,但这是一个黑客。我只想让浓缩咖啡点击两次。有什么建议如何使浓缩咖啡点击两次而不等待动画?
决定编写自己的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操作或断言的可能性。此功能为您提供了更可靠和可靠的测试结果。 当运行时,我无法执行任何测试