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

浓缩咖啡-如何点击随机回收视图项目?

艾令雪
2023-03-14
//Change the 0 with any other number, will be the position of the item clicked.
onView(withId(R.id.a_main_recycler))
                .perform(RecyclerViewActions
                        .actionOnItemAtPosition(0, click()));

但是,如果要单击RecycerView中的随机项怎么办?

共有1个答案

丌官晨
2023-03-14

使用ActivityTestRule的getActivity()方法。

您将能够使用findviewbyid()(就像在任何其他上下文中一样)并处理RecyclerView实例。

示例:

@RunWith(AndroidJUnit4.class)
public class RandomBehaviorTest {

    //This rule provides functional testing of a single activity.
    @Rule
    public ActivityTestRule<MainActivity> mActivityRule =
            new ActivityTestRule<>(MainActivity.class);

    @Test
    public void clickRandomItem() {
        //Magic happening
        int x = getRandomRecyclerPosition(R.id.a_main_recycler);

        onView(withId(R.id.a_main_recycler))
                .perform(RecyclerViewActions
                        .actionOnItemAtPosition(x, click()));
    }

    private int getRandomRecyclerPosition(int recyclerId) {
        Random ran = new Random();
        //Get the actual drawn RecyclerView 
        RecyclerView recyclerView = (RecyclerView) mActivityRule
                .getActivity().findViewById(recyclerId);

        //If the RecyclerView exists, get the item count from the adapter
        int n = (recyclerView == null)
                ? 1
                : recyclerView.getAdapter().getItemCount();

        //Return a random number from 0 (inclusive) to adapter.itemCount() (exclusive) 
        return ran.nextInt(n);
    }

}
 类似资料:
  • > 我想根据里面的变量文本'job#'单击特定的回收器视图。 但无法执行相同的操作,因为我不知道应该单击的确切位置。 回收器视图的位置不断变化。尝试下面的代码,但它点击静态位置'6' recyclerView=onView(allOf(withId(r.id.recycler_view),issplayed()));recyclerview.perform(actionOnItemAtPositi

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

  • 当我尝试点击图像按钮时,我在android上的espresso UI测试有一个问题: 我有以下布局: 在我的应用程序中,如下所示:

  • null 动画/转换被禁用,但这不会阻止CircularProgressLayout动画化。 我尝试,但即使这样,在第一次单击和第二次单击之间也要等待2秒。 我还试图滥用作为黑客来确认退出应用程序。这确实有效,但这是一个黑客。我只想让浓缩咖啡点击两次。 有什么建议如何使浓缩咖啡点击两次而不等待动画?

  • 在我的主要活动中,我有initUi函数,它将触发对webviewActivity的意图,在webviewActivity中,有一个FragWebView,其中加载了url。 以下是来自FragWebView的示例代码: 我从我的主要活动中传递打开webview的意图是: 请让我知道如何解决这个问题。 问候

  • 我有一个自定义的,根据设计,它不是完全可见的,所以当我执行单击操作时,我会得到以下错误: 按钮的一小部分在屏幕外(即它被裁剪在顶部),可能12%的按钮在屏幕外。这是设计的,不可能滚动或执行任何视图操作来使其可见。有谁知道如何克服这个90%的限制?