2017-03-06 16 views
0

次のビュー階層からid 'buttonActionNo'のボタンを探したいと思います。Android Espresso - ネストされた親のビューマッチャーの組み合わせ

次のコードを試しましたが、動作しません。 「階層にビューがありません」というエラーが表示されました。

**ViewInteraction appCompatImageButton3 = onView( 
      allOf(withId(R.id.buttonActionNo), 
         allOf(withhParent(withId(R.id.actionButtonPanel)), 

         allOf(withParent(withId(R.id.outerContainer)), 

         allOf(withParent(withId(R.id.questioContainer)), 

         withParent(withId(R.id.redFlagQuestion1))))), 

         isDisplayed())); 

     appCompatImageButton3.perform(click());** 

誰もネストされた親のレベルが少ないビューを取得しようとしましたか?

<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 

     <!-- redFlagQuestion1 --> 
     <FrameLayout android:id="@+id/questionOneContainer" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@color/white"> 

      <include 
       android:id="@+id/redFlagQuestion1" 
       layout="@layout/row_base" /> 

     </FrameLayout> 

     <!-- redFlagQuestion 2 --> 
     <FrameLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@color/white"> 

      <include 
       android:id="@+id/fillerLayout2" 
       layout="@layout/fill_space" /> 

      <include 
       android:id="@+id/redFlagQuestion2" 
       layout="@layout/row_base" /> 


     </FrameLayout> 

     <!-- redFlagQuestion 3 --> 
     <FrameLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@color/white"> 

      <include 
       android:id="@+id/fillerLayout3" 
       layout="@layout/fill_space" /> 

      <include 
       android:id="@+id/redFlagQuestion3" 
       layout="@layout/row_base" /> 


     </FrameLayout> 

row_base.xmlビューhierarchry次のよう

+ ---------->のLinearLayout {ID = 2131492990、RES-NAME = redFlagQuestion1、可視=可視幅= 080、height = 780、has-focus = false、 has-focusable = true、has-window-focus = true、is-clickable = false、 is-enabled = true、is-focused = false、is-focusable = false、 is-layout-requested = false、is-selected = false、 root-is-layout-requested = false、has-input-connection = false、x = 0.0、 y = 0.0、child-count = 1} | + -----------> LinearLayout {id = 2131493041、res-name = outerContainer、visibility = VISIBLE、width = 1080、height = 780、has-focus = false、 has-focusable = true is-enabled = true、is-focused = false、is-focusable = false、 is-layout-requested = false、is-selected = false、 、has-window-focus = true、 has-input-connection = false、x = 0.0、 、y = 0.0、child-count = 1} |

+ ------------> RelativeLayout {id = 2131493042、res-name = questioContainer、visibility = VISIBLE、width = 1080、height = 780、has-focus = false、 has -focusable = true、has-window-focus = true、is-clickable = false、 is-enabled = true、is-focused = false、is-focusable = false、 is-layout-requested = false、is-selected = false、x = 0.0、 y = 0.0、子カウント= 5} | = false、 root-is-layout-requested = false、has-input-connection = false

+ -------------> AppCompatTextView {id = 2131493043、res-name = questionPanelQuestionNo、visibility = VISIBLE、width = 1080、 height = 101、has-focus = false、 has-windowable = true、is-clickable = false、is-enabled = true、 is-focused = false、is-focusable = false、is-layout-requested = false、 はfalseです。ime-target = false、has-input-connection = false、x = 0.0、y = 30.0、text = 1、入力タイプ= 0、 -links = false} |

+ -------------> AppCompatImageButton {id = 2131493044、res-name = questionPanelUpArrow、visibility = GONE、width = 0、height = 0、 has-focus = false、 is-focusable = true、is-layout-requested = true、is-focusable = false、has-window-focus = true、 is-clickable = true、is-enabled = = false、x = 0.0、 、y = 0。0} |

+ -------------> AppCompatTextView {id = 2131493045、res-name = questionPanelQestion、visibility = VISIBLE、width = 960、 height = 152、has-focus = false、 has-windowable = true、is-clickable = false、is-enabled = true、 is-focused = false、is-focusable = false、is-layout-requested = false、 はfalseです。 has-input-connection = false、x = 60.0、y = 161.0、text =子が のレスポンスが低下していますか?、input-type = 0、ime -target = false、 has-links = false} |

+ -------------> AppCompatTextView {id = 2131493046、res-name = questionPanelQestionExample、visibility = VISIBLE、width = 960、 height = 114、has-focus = false、 has-windowable = true、is-clickable = false、is-enabled = true、 is-focused = false、is-focusable = false、is-layout-requested = false、 はfalseです。 「質問に答える」または「意味しない」と入力すると、入力した文字列が入力されます。 -type = 0、 ime-target = false、has-links = false} |

+ ------------- RelativeLayout {id = 2131493047、res-name = actionButtonPanel、visibility = VISIBLE、width = 1080、 height = 270、has-focus = false、 is-focused = false、is-layout-requested = false、 is-focusable = true、 has-window-focus = true、クリック可能= false、is-enabled = -x = 0.0、y = 480.0、child-count = 4} | -selected = false、root-is-layout-requested = false、 has-input-connection = false、x = 0.0、y = 480.0 |

+ --------------> AppCompatImageButton {id = 2131493048、res-name = buttonActionYes、visibility = VISIBLE、width = 200、height = 200、 has-focus = false is-clickable = true、is-enabled = true、is-focused = false、 is-focusable = true、is-layout-requested = false、is-focusable = true、has-window-focus = -selected = false、 root-is-layout-requested = false、has-input-connection = false、x = 260.0、 、y = 0.0} |

+ --------------> AppCompatImageButton {id = 2131493049、res-name = buttonActionNo、visibility = VISIBLE、width = 200、height = 200、 has-focus = false is-clickable = true、is-enabled = true、is-focused = false、 is-focusable = true、is-layout-requested = false、is-focusable = true、has-window-focus = -selected = false、 root-is-layout-requested = false、has-input-connection = false、x = 620.0、 、y = 0.0} |

+ --------------> AppCompatTextView {id = 2131493050、res-name = txtViewYes、visibility = VISIBLE、width = 200、height = 49、has-focus = false、 has-focusable = false、has-window-focus = true、クリック可能= false、 is-enabled = true、is-focused = false、is-focusable = false、 is-layout-requested = false is入力タイプ= 0、ime-target = false、has-input-connection = false、x = 260.0、 y = 221.0、text = -links = false} |

+ --------------> AppCompatTextView {id = 2131493051、res-name = txtViewNo、visibility = VISIBLE、width = 200、height = 49、has-focus = false、 has-focusable = false、has-window-focus = true、クリック可能= false、 is-enabled = true、is-focused = false、is-focusable = false、 is-layout-requested = false is -selected = false、 root-is-layout-requested = false、has-input-connection = false、x = 620です。0、 y = 221.0、text =いいえ、入力タイプ= 0、ime-target = false、has-links = false} |

答えて

0

ビュー階層に基づいて、outerContainerとquestioContainerの順で間違っています。

そして私はonViewにコードの異なるサンプルをしようとするだろう:

allOf(withId(R.id.buttonActionNo), withParent(withParent(withParent(withParent(withId(R.id.redFlagQuestion1))))) 
関連する問題