我正在使用Espresso和其他人创建的应用程序进行一些UI测试,但我遇到了一些困难。
我需要点击回收站视图中的按钮。这个按钮在屏幕外。这是布局文件:
<android.support.design.widget.AppBarLayout
android:id="@+id/activity_asset_profile_appbar_layout"
android:layout_width="match_parent"
android:layout_height="256dp"
android:fitsSystemWindows="true"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:titleEnabled="true">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal"
android:orientation="vertical"
app:layout_scrollFlags="scroll|enterAlways"
android:fitsSystemWindows="true"
app:layout_collapseParallaxMultiplier="0.3">
<RelativeLayout
android:id="@+id/activity_asset_profile_content_rl"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/small_vertical_margin"
android:layout_marginLeft="@dimen/asset_profile_section_title_vertical_margin"
android:layout_marginRight="@dimen/small_horizontal_margin">
<TextView
android:id="@+id/layout_asset_profile_header_name_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/layout_asset_profile_header_serial_number_text_view"
android:layout_alignParentLeft="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:textColor="@android:color/white"
android:textSize="22sp" />
<TextView
android:id="@+id/layout_asset_profile_header_serial_number_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/layout_asset_profile_header_description_text_view"
android:layout_marginTop="3dp"
android:textColor="@android:color/white"
android:textSize="@dimen/big_text_size" />
<TextView
android:id="@+id/layout_asset_profile_header_description_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/item_list_asset_profile_header_photo_image_button"
android:layout_marginTop="5dp"
android:textColor="@android:color/white"
android:textSize="@dimen/medium_text_size" />
<ImageButton
android:id="@+id/item_list_asset_profile_header_photo_image_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginLeft="@dimen/small_horizontal_margin"
android:background="@color/colorPrimary"
android:src="@drawable/ic_camera" />
</RelativeLayout>
</FrameLayout>
<ImageView
android:id="@+id/backdrop"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:scaleType="centerCrop"
android:src="@drawable/photo"
android:visibility="gone"
app:layout_collapseMode="parallax" />
<android.support.v7.widget.Toolbar
android:id="@+id/activity_asset_profile_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/activity_asset_profile_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ProgressBar
android:id="@+id/activity_asset_profile_progress_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
</RelativeLayout>
还有另一个文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/item_list_asset_profile_section_title_top_divider_ll"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="@dimen/asset_profile_content_vertical_margin" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/asset_profile_divider_height"
android:background="@color/divider_background" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="@dimen/asset_profile_section_title_vertical_margin"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:layout_marginRight="@dimen/activity_horizontal_margin">
<RelativeLayout
android:id="@+id/item_list_asset_profile_section_title_main_rl"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/asset_profile_section_title_vertical_margin">
<TextView
android:id="@+id/layout_profile_section_header_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerInParent="true"
android:text="@string/comment_section_header"
android:textColor="@color/base_text"
android:textSize="@dimen/big_text_size"
android:textStyle="bold" />
<ImageButton
android:id="@+id/item_list_asset_profile_section_title_expand_image_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/small_horizontal_margin"
android:layout_toRightOf="@+id/layout_profile_section_header_text_view"
android:background="@drawable/selector_white_background"
android:src="@drawable/ic_disclosure_indicator" />
<ImageButton
android:id="@+id/item_list_asset_profile_section_title_add_image_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerInParent="true"
android:background="@drawable/selector_white_background"
android:src="@drawable/ic_asset_profile_add" />
</RelativeLayout>
<LinearLayout
android:id="@+id/item_list_asset_profile_section_title_no_items_ll"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="visible">
<TextView
android:id="@+id/item_list_asset_profile_section_title_no_items_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:includeFontPadding="false"
android:text="No labels"
android:textColor="@color/secondary_text"
android:textSize="@dimen/big_text_size" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
由于这不是我的代码,我不知道为什么需要这两个文件,所以如果有人确切知道为什么......我很想知道。
以下是不起作用的代码部分:
onView(allOf(withId(R.id.item_list_asset_profile_section_title_add_image_button),hasSibling(withText("Tags"))))
.perform(NestedScrollViewScrollToAction.scrollTo(),click());
我正在使用NestedScrollViewScrollViewActions,如下所示:https://gist.github.com/miszmaniac/12f720b7e898ece55d2464fe645e1f36
我尝试了其他主题中发现的多个内容,但没有一个能解决我的问题。
我是新手,所以请善待并告诉我在我的要求中我可以改进什么。 谢谢。