yoklainterview sim

QA / Test Automation Mq Native Frameworks Espresso Xcuitest Interview Questions

75 verified QA / Test Automation Mq Native Frameworks Espresso Xcuitest interview questions — solve with answers, learn from explanations, test yourself in a real simulation.

Try the real simulation →

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.

Test yourself against the 2400-question QA / Test Automation bank.

Start interview