Module: Appium::Core::Base::SearchContext
- Defined in:
- lib/appium_lib_core/common/base/search_context.rb
Constant Summary collapse
- APPIUM_EXTRA_FINDERS =
rubocop:disable Layout/LineLength
Find the first element matching the given arguments
- Android can find with uiautomator like a UISelector.
- iOS can find with a UIAutomation command.
- iOS, only for XCUITest(WebDriverAgent), can find with a class chain
Find with image
Return an element if current view has a partial image. The logic depends on template matching by OpenCV. image-comparison
You can handle settings for the comparision following here
Espresso viewmatcher and datamatcher
Espresso has _onView_ matcher and _onData_ matcher for more reference that allows you to target adapters instead of Views. This method find methods based on reflections
This is a selector strategy that allows users to pass a selector of the form:
{ name: '', args: ['arg1', 'arg2', '...'], class: ' ' } - name: The name of a method to invoke. The method must return a Hamcrest Matcher
- args: The args provided to the method
- class: The class name that the method is part of (defaults to
org.hamcrest.Matchers). Can be fully qualified, or simple, and simple defaults toandroidx.test.espresso.matcherpackage (e.g.:class=CursorMatchersfully qualified isclass=androidx.test.espresso.matcher.CursorMatchers
See test code in the client repository to see how to send viewmatcher and datamatcher in Ruby client
rubocop:enable Layout/LineLength
{ accessibility_id: 'accessibility id', image: '-image', custom: '-custom', # Android uiautomator: '-android uiautomator', # Unavailable in Espresso viewtag: '-android viewtag', # Available in Espresso data_matcher: '-android datamatcher', # Available in Espresso view_matcher: '-android viewmatcher', # Available in Espresso # iOS predicate: '-ios predicate string', class_chain: '-ios class chain' }.freeze