2017-07-15 9 views
2

カスタムSearchViewにtypeTextを入力するエスプレッソテストを作成しようとしています。カスタムSearchViewはここにある:私は私のMainActivityでそれを使用していAndroidエスプレッソカスタムビューからEditTextを取得してからタイプテキストを入力する方法

https://github.com/MiguelCatalan/MaterialSearchView/tree/develop/library/src/main/res/layout

。このSearchViewで 'typeText'を直接呼び出すと、実際にこのSearchBarからEditTextを取得する必要があるため、エラーがスローされます。

のEditTextが、私はエスプレッソコマンドがどのように見えるべきだと思いますsearch_view.xml

である:

onView(get EditText from SearchView).perform(typeText("chicken")); 

はどのようにしてのEditTextの参照を取得する必要がありますか?

答えて

1

私は解決策を見つけました。

ユニットテストで「検索」ビューを取得してから、その子をループし始めました。

EditTextが見つかったら、私はonViewを呼び出しました。

ここにコードがあります。誰かを助けることを願って:

search = (SearchBox) mActivityRule.getActivity().findViewById(R.id.searchbox); 

    for(int i = 0; i < search.getChildCount(); i++) 

     if(search.getChildAt(i) instanceof EditText) { 


     onView(withId(search.getChildAt(i).getId())).perform(typeText("soup" + '\n')); 

} 
関連する問題