Espresso:点击带有未知位置的Recycler视图

时间:2016-09-22 15:07:12

标签: user-interface automated-tests ui-automation android-espresso

我有一个列表,如果回收者在屏幕中的不同位置查看。  如下enter image description here

  • 我想根据变量文本'Job#'在其中单击特定的回收站视图。
  • 但不能表现相同,因为我不知道我应该点击的确切位置。
  • 回收者视图的位置不断变化。尝试下面的代码,但它点击静态位置'6'

    recyclerView = onView(             allOf(withId(R.id.recycler_view),isDisplayed()));     recyclerView.perform(actionOnItemAtPosition(6,click()));

我想动态地了解正确的位置。

1 个答案:

答案 0 :(得分:2)

在我看来,点击仪器测试中的位置是一种不好的做法,因为它会导致非确定性测试。这适用于private boolean isPhoneDevice(){ return getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY); } com/android/dx/command/Main : Unsupported major.minor version 52.0

因此,为了不依赖某个职位,您需要RecyclerView匹配器来进行回收查看操作。

ItemView匹配器是一个视图匹配器,匹配AdapterView的项目视图。在您的情况下,您需要匹配包含突出显示的itemView的{​​{1}},该ViewHolder可以表示为LinearLayout

您案例中的最终解决方案应如下所示:

RelativeLayout