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. Creating operating systems
B. Designing mobile hardware
C. Automating software tests
D. Managing computer networks

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

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

3 What does a test case in Katalon Studio contain?

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

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

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

5 What is a test suite in Katalon Studio?

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

6 What is Espresso mainly used for?

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

7 Espresso is provided as part of which development environment?

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

8 Which action can an Espresso test perform?

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

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

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

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

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

11 What is Robotium primarily designed to test?

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

12 Robotium is mainly associated with which type of testing?

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

13 Which user action can Robotium automate?

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

14 What is a major benefit of using Robotium?

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

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

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

16 What is Selendroid used for?

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

17 Selendroid is based on which testing technology?

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

18 Which programming interface does Selendroid commonly use for automation?

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

19 What kind of application can Selendroid test?

Basics of Selendroid Easy
A. Only desktop operating systems
B. Only physical keyboards
C. Native Android applications
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. Increasing battery capacity
D. Verifying Android app behavior

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. Update the locator of the shared object in the Object Repository
B. Replace every mobile keyword with a custom Groovy script
C. Duplicate the login test object in every affected test case
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 element's current screen coordinates
B. Use only the changing index attribute
C. Use the complete hierarchy with every attribute
D. Use the stable resource-id 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. Bind test data columns to test case variables in a test suite
C. Record the login procedure once for every account
D. Create a separate Object Repository folder for each account

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 the application contains a WebView component
B. Whether the test suite has a data binding configuration
C. Whether USB debugging is enabled and adb devices detects the phone
D. Whether every test object uses an XPath locator

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. Implement the sequence as a parameterized custom keyword
B. Store the sequence as a new mobile test object
C. Save the sequence as an execution profile
D. Add the sequence to the desired capabilities

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. Add a fixed delay before every assertion
C. Move the assertion into the application source code
D. Retry the complete test until it passes

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

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

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

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

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. Select the first matching button returned by Espresso
B. Add a delay so that one button disappears
C. Replace the matcher with a fixed screen coordinate
D. Combine withText() and withId() using allOf()

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 an Espresso ViewAssertion for the system dialog
B. Use UI Automator to interact with the system dialog
C. Use a longer Espresso timeout for the system dialog
D. Use RecyclerViewActions to select the permission

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 Solo object
B. A ViewInteraction object
C. A WebDriver 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.waitForText("Welcome")
B. solo.searchButton("Welcome")
C. solo.enterText("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. Press the Enter key after counting focus changes
D. Retrieve the view by ID and call clickOnView()

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. Compare the device's current screen coordinates
B. Use solo.waitForActivity("DetailsActivity")
C. Check whether the button remains clickable
D. Restart the application and inspect its launcher

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.searchText() after each test
B. Call solo.finishOpenedActivities() after each test
C. Call solo.waitForActivity() after each test
D. Call solo.clickOnScreen() 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. Store all test results inside the application APK
B. Translate WebDriver requests into actions on Android
C. Convert Android layouts into Espresso test source
D. Generate unit tests from application requirements

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. Replace the WebView with an Android activity
C. Switch from the native window to the WebView window
D. Restart the application in native-only execution mode

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. Katalon Execution Profile
B. Robotium Solo
C. Espresso Test Recorder
D. Selendroid Inspector

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. Replace the application's resource IDs with XPath expressions
B. Convert the complete test suite into Espresso assertions
C. Move the APK into the Android system applications directory
D. Register the APK with the server and use its matching aut value

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.id("login_button")
B. Tap the button using its recorded pixel position
C. Locate the button with By.cssSelector("login_button")
D. Locate the button with By.linkText("login_button")

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. Increase the default element timeout so the original XPath can resolve eventually
B. Build Test Objects from stable attributes and parameterize only the dynamic values
C. Place every recorded action inside a retry loop without changing the object repository
D. Replace each XPath with fixed screen coordinates recorded on the reference device

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 mobile session starts, by modifying the active driver object
C. After the first test case, by editing the generated execution log
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. Copy the login steps into the parent and use CONTINUE_ON_FAILURE
B. Call the login test case with variable bindings and use STOP_ON_FAILURE
C. Invoke the login case without bindings and depend on its design-time defaults
D. Store both values inside Test Objects and use OPTIONAL failure handling

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

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. Increase the object-identification timeout in both execution profiles
C. Merge both test suites into one serial test case while retaining the shared driver session
D. Use identical desired capabilities so both executions create equivalent sessions

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 waits only for fixed delays declared directly in the test method
C. Espresso synchronizes only with activities launched from explicit intents
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. Disable Espresso synchronization and insert a long sleep so that only one of the matching buttons remains available when lookup occurs
B. Add a root or hierarchy matcher that uniquely identifies the intended button
C. Call onView() repeatedly until Espresso selects the correct matching button
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 an unrestricted coordinate click at the item's expected off-screen position
B. Use onData() because every scrolling collection is an AdapterView
C. Use RecyclerViewActions to scroll to or act on the matching item
D. Use onView() with isDisplayed() and assume Espresso will create the item

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

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()) guarantees that all application and external-service side effects have completed before returning to the test process
B. perform(click()) waits for every network request made anywhere on the Android device
C. perform(click()) waits for the UI thread to become idle, not for arbitrary untracked network completion
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. Assert that waitForText() returns true before continuing
B. Move the wait into teardown so that the test result is evaluated after activity cleanup
C. Call getCurrentActivity() because it implicitly verifies all visible text
D. Replace the wait with solo.sleep() and ignore its outcome

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. Wait for HomeActivity, verify the transition, and then query its controls
B. Create a second Solo instance before the new activity is launched
C. Terminate LoginActivity manually and access home controls through static fields
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. Convert every Robotium interaction into a WebDriver request while leaving the package signatures and instrumentation manifest unchanged
B. Enable USB debugging after both differently signed APKs are installed
C. Re-sign the target and test APKs with a compatible certificate
D. Change only the target package name in the Robotium source code

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. Use solo.clickOnText() because instrumentation can always control system UI
B. Declare the permission dialog as an activity inside the tested application
C. Use solo.finishOpenedActivities() before the dialog appears to grant the permission
D. Combine Robotium with a cross-application tool such as UI Automator

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. Use waitForActivity() only after the entire suite finishes
B. Preserve the existing activity stack and reset only local Java variables
C. Create additional Solo objects for every assertion
D. Call solo.finishOpenedActivities() during teardown

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

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

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. Translate the CSS selector into an Android numeric view index
B. Switch to the WebView window or context exposed by the session
C. Reinstall the application before every DOM lookup
D. Use the native hierarchy to reconstruct the entire HTML document and then execute the selector without changing the active automation context

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. Bind each session to a distinct device or emulator and isolate its test data
B. Disable the Selendroid server's session handling and issue commands directly to the application package
C. Use identical user accounts so application state remains synchronized
D. Send commands from both clients to one shared session identifier

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