Unit 6: Introduction to Other Mobile Testing Tools - Practice Quiz

CSE379 — Mobile Automated Testing 60 Questions
0 Correct 0 Wrong 60 Left
0/60

1 What is Katalon Studio primarily used for?

Basics of Katalon Studio Easy
A. Managing computer networks
B. Creating operating systems
C. Designing mobile hardware
D. Automating software tests

2 Which type of application can be tested using Katalon Studio?

Basics of Katalon Studio Easy
A. Mobile applications
B. Only computer processors
C. Only network cables
D. Only printer drivers

3 What does a test case in Katalon Studio contain?

Basics of Katalon Studio Easy
A. A list of computer brands
B. A collection of network passwords
C. A diagram of a processor
D. A sequence of testing steps

4 Which feature helps users create Katalon tests by recording actions?

Basics of Katalon Studio Easy
A. Object spying
B. Memory formatting
C. Disk partitioning
D. Cable tracing

5 What is a test suite in Katalon Studio?

Basics of Katalon Studio Easy
A. A programming language
B. A hardware diagnostic tool
C. A mobile screen layout
D. A group of test cases

6 What is Espresso mainly used for?

Basics of Espresso Easy
A. Testing Android user interfaces
B. Monitoring internet traffic
C. Designing Android icons
D. Compiling computer hardware

7 Espresso is provided as part of which development environment?

Basics of Espresso Easy
A. Database administration tools
B. Android testing tools
C. Network security tools
D. Video editing tools

8 Which action can an Espresso test perform?

Basics of Espresso Easy
A. Clicking a button
B. Changing a screen cable
C. Replacing a battery
D. Upgrading a processor

9 Which method is commonly used in Espresso to find a view?

Basics of Espresso Easy
A. onScreen()
B. getWindow()
C. onView()
D. findPage()

10 What is an assertion in an Espresso test used for?

Basics of Espresso Easy
A. Checking an expected result
B. Compressing an application
C. Creating a user account
D. Installing an Android device

11 What is Robotium primarily designed to test?

Basics of Robotium Easy
A. Android applications
B. Wireless routers
C. Desktop printers
D. Web server hardware

12 Robotium is mainly associated with which type of testing?

Basics of Robotium Easy
A. Processor performance testing
B. Network cable testing
C. Database backup testing
D. Android user interface testing

13 Which user action can Robotium automate?

Basics of Robotium Easy
A. Repairing a charging port
B. Replacing a device screen
C. Changing a SIM card
D. Entering text in a field

14 What is a major benefit of using Robotium?

Basics of Robotium Easy
A. It removes the need for source code
B. It supports automated Android tests
C. It builds physical mobile devices
D. It replaces the Android operating system

15 Robotium tests can interact with which part of an Android application?

Basics of Robotium Easy
A. Camera hardware circuits
B. User interface controls
C. Battery chemistry
D. Mobile network towers

16 What is Selendroid used for?

Basics of Selendroid Easy
A. Editing mobile photographs
B. Designing computer chips
C. Testing Android applications
D. Managing email servers

17 Selendroid is based on which testing technology?

Basics of Selendroid Easy
A. JUnit database
B. Android Kernel
C. Selenium WebDriver
D. Bluetooth Manager

18 Which programming interface does Selendroid commonly use for automation?

Basics of Selendroid Easy
A. Graphics API
B. File system API
C. WebDriver API
D. Audio API

19 What kind of application can Selendroid test?

Basics of Selendroid Easy
A. Native Android applications
B. Only physical keyboards
C. Only desktop operating systems
D. Only spreadsheet files

20 What is one purpose of a Selendroid test?

Basics of Selendroid Easy
A. Repairing damaged hardware
B. Replacing a mobile carrier
C. Verifying Android app behavior
D. Increasing battery capacity

21 A mobile application's login button receives a new resource ID. Several Katalon test cases use the same stored test object for this button. What is the most maintainable action?

Basics of Katalon Studio Medium
A. Duplicate the login test object in every affected test case
B. Replace every mobile keyword with a custom Groovy script
C. Update the locator of the shared object in the Object Repository
D. Create a separate execution profile for the new resource ID

22 While capturing an Android element in Katalon Studio, the element's index changes between runs, but its resource-id remains constant. Which locator strategy should be preferred?

Basics of Katalon Studio Medium
A. Use the stable resource-id attribute
B. Use the complete hierarchy with every attribute
C. Use the element's current screen coordinates
D. Use only the changing index attribute

23 A Katalon login test must run with 20 username and password combinations stored in an external data file. Which approach best supports this requirement?

Basics of Katalon Studio Medium
A. Store all credentials as mobile desired capabilities
B. Create a separate Object Repository folder for each account
C. Record the login procedure once for every account
D. Bind test data columns to test case variables in a test suite

24 Katalon Studio cannot list a connected Android phone, although the test object's locators are valid. What should be checked first?

Basics of Katalon Studio Medium
A. Whether every test object uses an XPath locator
B. Whether the test suite has a data binding configuration
C. Whether USB debugging is enabled and adb devices detects the phone
D. Whether the application contains a WebView component

25 A sequence that logs in, dismisses a welcome dialog, and opens the dashboard is repeated across many Katalon test cases. How should the sequence be made reusable?

Basics of Katalon Studio Medium
A. Add the sequence to the desired capabilities
B. Store the sequence as a new mobile test object
C. Save the sequence as an execution profile
D. Implement the sequence as a parameterized custom keyword

26 An Espresso test checks a label that is updated after a request executed by a custom background executor. The test sometimes checks the label too early. What is the preferred solution?

Basics of Espresso Medium
A. Register an IdlingResource for the background operation
B. Move the assertion into the application source code
C. Retry the complete test until it passes
D. Add a fixed delay before every assertion

27 A test must click the fourth item in a RecyclerView. Which Espresso approach is most appropriate?

Basics of Espresso Medium
A. Use RecyclerViewActions.actionOnItemAtPosition(3, click())
B. Use pressKey() four times and then click
C. Use onData() with an index of 4
D. Use screen coordinates captured from the emulator

28 Which Espresso statement correctly verifies that a view with ID status_text is visible?

Basics of Espresso Medium
A. findViewById(R.id.status_text).perform(matches())
B. onData(withId(R.id.status_text)).check(click())
C. onView(withId(R.id.status_text)).check(matches(isDisplayed()))
D. onView(withId(R.id.status_text)).perform(isDisplayed())

29 An Espresso test using withText("Submit") fails because two visible buttons have that text. One intended button has ID confirm_button. How should the matcher be improved?

Basics of Espresso Medium
A. Combine withText() and withId() using allOf()
B. Add a delay so that one button disappears
C. Select the first matching button returned by Espresso
D. Replace the matcher with a fixed screen coordinate

30 An Android test must grant permission through a system dialog displayed outside the application's process. Which testing approach should complement Espresso?

Basics of Espresso Medium
A. Use UI Automator to interact with the system dialog
B. Use an Espresso ViewAssertion for the system dialog
C. Use RecyclerViewActions to select the permission
D. Use a longer Espresso timeout for the system dialog

31 A Robotium test needs to use methods such as clickOnButton() and waitForText(). Which object should normally be initialized with the instrumentation and starting activity?

Basics of Robotium Medium
A. A WebDriver object
B. A Solo object
C. A ViewInteraction object
D. A UiDevice object

32 After tapping Sign In, the text Welcome appears only when an asynchronous login request completes. Which Robotium method is preferable to a fixed sleep?

Basics of Robotium Medium
A. solo.searchButton("Welcome")
B. solo.enterText("Welcome")
C. solo.waitForText("Welcome")
D. solo.getCurrentActivity("Welcome")

33 Two buttons in a Robotium-tested activity display the same label, but the intended button has a unique resource ID. Which interaction is most reliable?

Basics of Robotium Medium
A. Call clickOnButton() with the shared label
B. Tap the stored coordinates of the intended button
C. Retrieve the view by ID and call clickOnView()
D. Press the Enter key after counting focus changes

34 A Robotium test taps a button that opens DetailsActivity. What is the most suitable way to verify that navigation completed?

Basics of Robotium Medium
A. Restart the application and inspect its launcher
B. Use solo.waitForActivity("DetailsActivity")
C. Compare the device's current screen coordinates
D. Check whether the button remains clickable

35 Robotium tests leave activities open, causing later tests to begin in an unexpected state. Which teardown action best addresses this issue?

Basics of Robotium Medium
A. Call solo.waitForActivity() after each test
B. Call solo.searchText() after each test
C. Call solo.clickOnScreen() after each test
D. Call solo.finishOpenedActivities() after each test

36 A Selendroid client sends WebDriver commands to a standalone Selendroid server. What is the server's main role?

Basics of Selendroid Medium
A. Translate WebDriver requests into actions on Android
B. Store all test results inside the application APK
C. Generate unit tests from application requirements
D. Convert Android layouts into Espresso test source

37 A Selendroid test opens a hybrid application's WebView and must locate an HTML input using a CSS selector. What should the test do first?

Basics of Selendroid Medium
A. Convert the CSS selector into Android screen coordinates
B. Restart the application in native-only execution mode
C. Replace the WebView with an Android activity
D. Switch from the native window to the WebView window

38 A tester needs to examine the current Android UI hierarchy and try possible element locators before writing a Selendroid test. Which component is intended for this task?

Basics of Selendroid Medium
A. Robotium Solo
B. Selendroid Inspector
C. Espresso Test Recorder
D. Katalon Execution Profile

39 A Selendroid session fails because the standalone server does not recognize the requested application under test. What is the most appropriate configuration fix?

Basics of Selendroid Medium
A. Move the APK into the Android system applications directory
B. Convert the complete test suite into Espresso assertions
C. Register the APK with the server and use its matching aut value
D. Replace the application's resource IDs with XPath expressions

40 A native Android button exposes the stable resource ID login_button. Which Selendroid WebDriver strategy should generally be tried before coordinate-based tapping?

Basics of Selendroid Medium
A. Locate the button with By.linkText("login_button")
B. Locate the button with By.cssSelector("login_button")
C. Locate the button with By.id("login_button")
D. Tap the button using its recorded pixel position

41 A Katalon Studio mobile test recorded taps against absolute XPath expressions containing runtime-generated indices. The test fails whenever the screen contains an additional list item. Which redesign most directly improves locator stability?

Basics of Katalon Studio Hard
A. Replace each XPath with fixed screen coordinates recorded on the reference device
B. Place every recorded action inside a retry loop without changing the object repository
C. Increase the default element timeout so the original XPath can resolve eventually
D. Build Test Objects from stable attributes and parameterize only the dynamic values

42 A Katalon mobile suite must launch the same application with different Appium capabilities for two device classes. At what point should capabilities such as automation engine or system port be assigned?

Basics of Katalon Studio Hard
A. During object spying, where Katalon can infer and permanently attach every required capability to each captured Test Object
B. After the first test case, by editing the generated execution log
C. After the mobile session starts, by modifying the active driver object
D. Before session creation, through execution settings or the desired-capability configuration

43 A reusable Katalon login test case accepts username and password variables. A parent test case must invoke it with environment-specific values and stop immediately if login fails. Which design is most appropriate?

Basics of Katalon Studio Hard
A. Store both values inside Test Objects and use OPTIONAL failure handling
B. Copy the login steps into the parent and use CONTINUE_ON_FAILURE
C. Call the login test case with variable bindings and use STOP_ON_FAILURE
D. Invoke the login case without bindings and depend on its design-time defaults

44 A Katalon test successfully locates native controls, but cannot locate an HTML button rendered inside a hybrid application's WebView. The WebView has already loaded. What is the essential missing action?

Basics of Katalon Studio Hard
A. Restart the application with image recognition enabled for the entire session
B. Switch the driver to the available WebView context before using a DOM locator
C. Convert the CSS selector into an Android resource-id without changing context
D. Capture the HTML button as a native Test Object using only its screen coordinates and then disable Appium context discovery

45 Two Katalon mobile executions run in parallel against separate Android devices but intermittently attach to the wrong Appium-side resources. Which configuration change best addresses the root cause?

Basics of Katalon Studio Hard
A. Assign isolated device identifiers and unique Appium system ports to each execution
B. Use identical desired capabilities so both executions create equivalent sessions
C. Merge both test suites into one serial test case while retaining the shared driver session
D. Increase the object-identification timeout in both execution profiles

46 An Espresso test clicks a button that starts work on a custom background executor. The result view appears later, but Espresso sometimes checks it too early. Why does Espresso's normal synchronization not solve this?

Basics of Espresso Hard
A. The result view must be accessed with onData() regardless of its container type
B. Espresso synchronizes only with activities launched from explicit intents
C. Espresso waits only for fixed delays declared directly in the test method
D. The executor is unknown to Espresso and should be represented by an IdlingResource

47 An activity contains two visible buttons with the same text and resource ID, one in the main layout and one in a dialog. onView() raises an ambiguous-match error. What is the strongest correction?

Basics of Espresso Hard
A. Call onView() repeatedly until Espresso selects the correct matching button
B. Add a root or hierarchy matcher that uniquely identifies the intended button
C. Disable Espresso synchronization and insert a long sleep so that only one of the matching buttons remains available when lookup occurs
D. Replace the click with onData() because all duplicated views are adapter data

48 A test must click an item that is not currently visible in a RecyclerView. Which Espresso approach is conceptually correct?

Basics of Espresso Hard
A. Use onView() with isDisplayed() and assume Espresso will create the item
B. Use RecyclerViewActions to scroll to or act on the matching item
C. Use an unrestricted coordinate click at the item's expected off-screen position
D. Use onData() because every scrolling collection is an AdapterView

49 Pressing a button sends an email intent to an external application. The test needs to verify the intent's action and recipient without depending on an installed email client. Which method is best?

Basics of Espresso Hard
A. Use Espresso-Intents to intercept, stub, and verify the outgoing intent
B. Open the external application and locate its controls with ordinary onView()
C. Use onData() to inspect the package manager's list of email applications
D. Disable instrumentation and parse the email application database after the test

50 Immediately after perform(click()), an Espresso assertion runs successfully on most devices but fails when the click starts an untracked network request. Which statement correctly interprets the behavior?

Basics of Espresso Hard
A. perform(click()) waits for every network request made anywhere on the Android device
B. perform(click()) waits for the UI thread to become idle, not for arbitrary untracked network completion
C. perform(click()) guarantees that all application and external-service side effects have completed before returning to the test process
D. perform(click()) disables synchronization until the next activity is launched

51 A Robotium test calls solo.waitForText("Completed") but ignores the returned value. When the text never appears, later steps fail with misleading errors. What is the best correction?

Basics of Robotium Hard
A. Replace the wait with solo.sleep() and ignore its outcome
B. Assert that waitForText() returns true before continuing
C. Move the wait into teardown so that the test result is evaluated after activity cleanup
D. Call getCurrentActivity() because it implicitly verifies all visible text

52 A Robotium test navigates from LoginActivity to HomeActivity, but immediately querying home controls is flaky. Which sequence best uses Robotium's activity support?

Basics of Robotium Hard
A. Terminate LoginActivity manually and access home controls through static fields
B. Create a second Solo instance before the new activity is launched
C. Wait for HomeActivity, verify the transition, and then query its controls
D. Assume the click blocks until all lifecycle methods of HomeActivity finish

53 A team creates Robotium tests for an application available only as an APK. Instrumentation installation fails because the test APK and target APK are signed differently. Which remedy is normally required for this setup?

Basics of Robotium Hard
A. Change only the target package name in the Robotium source code
B. Re-sign the target and test APKs with a compatible certificate
C. Enable USB debugging after both differently signed APKs are installed
D. Convert every Robotium interaction into a WebDriver request while leaving the package signatures and instrumentation manifest unchanged

54 A Robotium test can interact with the application's activities but cannot reliably approve a modern Android permission dialog owned by the operating system. What is the most appropriate strategy?

Basics of Robotium Hard
A. Combine Robotium with a cross-application tool such as UI Automator
B. Use solo.clickOnText() because instrumentation can always control system UI
C. Declare the permission dialog as an activity inside the tested application
D. Use solo.finishOpenedActivities() before the dialog appears to grant the permission

55 A Robotium suite leaves activities open after one test, causing the next test to begin in an unexpected state. Which lifecycle practice most directly improves isolation?

Basics of Robotium Hard
A. Preserve the existing activity stack and reset only local Java variables
B. Call solo.finishOpenedActivities() during teardown
C. Use waitForActivity() only after the entire suite finishes
D. Create additional Solo objects for every assertion

56 A test organization already has Selenium-compatible remote clients and must automate a legacy Android application through a server endpoint. Which Selendroid characteristic makes this integration natural?

Basics of Selendroid Hard
A. It converts Selenium scripts into manual test instructions that must be performed on the device before each remote session begins
B. It supports only direct in-process calls to Android activity objects
C. It exposes a WebDriver-compatible client-server automation interface
D. It requires every test to execute as an Espresso view matcher

57 A Selendroid workflow re-signs an application during test preparation. The tested app then fails when connecting to another app that validates its original signing certificate. What is the underlying issue?

Basics of Selendroid Hard
A. The WebDriver protocol changed the Android package name during every command
B. Re-signing changed the application's certificate identity and broke signature-based trust
C. The device rejected all applications controlled through a remote HTTP server
D. The native view hierarchy became inaccessible because CSS selectors were enabled

58 A Selendroid test locates native controls but fails to find an HTML element inside a hybrid application's WebView using a CSS selector. What should the test do first?

Basics of Selendroid Hard
A. Switch to the WebView window or context exposed by the session
B. Translate the CSS selector into an Android numeric view index
C. Use the native hierarchy to reconstruct the entire HTML document and then execute the selector without changing the active automation context
D. Reinstall the application before every DOM lookup

59 Two Selendroid sessions are intended to run concurrently, but both are accidentally assigned to the same emulator and application state. What is the best architectural correction?

Basics of Selendroid Hard
A. Disable the Selendroid server's session handling and issue commands directly to the application package
B. Bind each session to a distinct device or emulator and isolate its test data
C. Send commands from both clients to one shared session identifier
D. Use identical user accounts so application state remains synchronized

60 A team must choose between Selendroid and Espresso for a legacy project. The application runs on older Android versions, source code is unavailable, and tests must be driven from a remote WebDriver client. Which choice best fits these constraints?

Basics of Selendroid Hard
A. Katalon Studio, because selecting it automatically removes all Android-version and application-signing constraints from the underlying automation stack
B. Selendroid, because it targets legacy Android automation through a WebDriver-style server
C. Espresso, because it remotely automates any APK without instrumentation or source access
D. Robotium, because it natively implements the Selenium remote server protocol