Sample questions
Mq Native Frameworks Espresso XcuitestDifficulty 1
In Espresso, what is the standard structure used to interact with and verify a view?
- aonView(matcher) to locate it, .perform(action) to interact, .check(assertion) to verify✓
- bonView(matcher) to locate it, .assert(action) to interact, .perform(assertion) to verify
- cfindElement(matcher) to locate it, .click(action) to interact, .verify(assertion) to verify
- dwaitFor(matcher) to locate it, .tap(action) to interact, .expect(assertion) to verify
Explanation:Espresso's canonical chain is onView().perform().check(). The other options mix in method names from other frameworks (Selenium-style findElement/click/verify, Detox-style waitFor/tap/expect) that Espresso does not use.
Mq Native Frameworks Espresso XcuitestDifficulty 2
Espresso instrumented tests run using AndroidJUnitRunner. What does it mean that Espresso operates "in-process"?
- aThe test code runs in a completely separate OS process from the app and communicates with it over IPC.
- bThe test code runs inside the Android system server, isolated from any specific app process.
- cThe test code and the app under test execute within the same process.✓
- dThe test code executes on a remote test lab machine while the app runs locally on the device.
Explanation:"In-process" means the test and the app share one process, so Espresso can call into the app's UI thread directly and synchronously — that's the definition. The other options all describe an out-of-process or infrastructure-level model, which is not what Espresso does.
Mq Native Frameworks Espresso XcuitestDifficulty 2
By default, before executing the next ViewAction, what does Espresso wait for?
- aA fixed 500ms delay inserted automatically before every action
- bAny network request the app happens to be making, regardless of which thread issued it
- cThe main thread's message queue and any registered AsyncTask pool becoming idle✓
- dThe device's accessibility service to report that the screen content is stable
Explanation:Espresso's default synchronization tracks the main thread's message queue and the AsyncTask thread pool; it does not add a fixed delay, does not track arbitrary background-thread network calls on its own, and does not depend on the accessibility service the way UI Automator-style tools do.
Mq Native Frameworks Espresso XcuitestDifficulty 2
An Espresso test throws NoMatchingViewException on onView(withId(R.id.submit)). What does this most directly indicate?
- aThe matched view exists but is not currently clickable.
- bNo view in the currently displayed hierarchy matches the given matcher.✓
- cMore than one view in the hierarchy matches the given matcher.
- dThe app process crashed before the instrumentation could attach.
Explanation:NoMatchingViewException specifically means zero matches were found in the current hierarchy. "Not clickable" would surface as a PerformException, and multiple matches raise AmbiguousViewMatcherException, not NoMatchingViewException.
Mq Native Frameworks Espresso XcuitestDifficulty 2
An Espresso action throws a PerformException reporting the target view is not displayed. What does this tell you?
- aThe matched view exists in the hierarchy, but Espresso could not carry out the requested action on it.✓
- bThe matcher failed to find any view at all matching the given criteria.
- cThe test runner failed to install the test APK on the target device.
- dEspresso detected the view but refuses to interact with any view that has an accessibility label.
Explanation:A PerformException on an already-matched view means the view was found but the action itself could not be completed — commonly because the view isn't sufficiently displayed. "No match at all" is NoMatchingViewException, not this.
Mq Native Frameworks Espresso XcuitestDifficulty 3
What is the basic purpose of registering a custom IdlingResource with Espresso?
- aTo speed up test execution by skipping Espresso's default idle checks entirely.
- bTo give Espresso an additional busy/idle signal for work its default synchronization doesn't track.✓
- cTo generate the accessibility tree that Espresso needs before it can locate any view.
- dTo capture screenshots automatically whenever the UI becomes idle.
Explanation:A custom IdlingResource extends what Espresso considers before proceeding — it adds a signal, it doesn't remove Espresso's existing checks, generate accessibility trees, or take screenshots.