2017-03-27 4 views
1

私はこの単純なエスプレッソの相互作用を持っている:取得NoMatchingViewExceptionは中(...)を実行ではなく、前のチェック(...)

onView(atIndex(withId(R.id.editTextTextWidget), 0)).inRoot(authViewRootMatcher) 
       .check(matches(allOf(isDisplayed(), isEnabled()))) 
       .perform(typeText("1")); 

予想通りcheck(matches(allOf(isDisplayed(), isEnabled())))パスが、しかし次perform(typeText("1"))にはありません。なぜ私の人生のために、私は理解できません。

私はこれを聞いているとは思えませんが、を使用してのIDを持つEditTextにテキストを入力するにはどうすればよいですか?

+0

なぜ 'inRoot()'ですか?それは 'Dialog'ですか? – azizbekian

+0

@azizbekian 'EditText'は、' WindowManager.addView(...) 'で示されるフローティング' View'の中にあります。 'authViewRootMatcher'は、予想されるルートと正しく一致します。 – oaskamay

+0

'check()'が一致するように計画している 'EditText'と正確に一致するのはなぜですか?私はあなたがそれらの複数を持っているのを見るからです(atIndex(..、0))。 – azizbekian

答えて

0

私はcheck(...)コールとperform(...)コール分割することによって、問題を修正:この作品何らかの理由で

onView(atIndex(withId(R.id.editTextTextWidget), 0)).inRoot(authViewRootMatcher) 
     .check(matches(allOf(isDisplayed(), isEnabled()))); 
onView(atIndex(withId(R.id.editTextTextWidget), 0)).inRoot(authViewRootMatcher) 
     .perform(typeText("1")); 

を、元にはありません。 #GooglePlz

関連する問題