Module: Applitools::UniversalNewApi
- Included in:
- EyesBase
- Defined in:
- lib/applitools/core/universal_new_api.rb
Instance Method Summary collapse
-
#extract_text(*args) ⇒ Object
export type OCRExtractSettings<TElement, TSelector> = { target: RegionReference<TElement, TSelector> hint?: string minMatch?: number language?: string }.
-
#extract_text_regions(patterns_array) ⇒ Object
export type OCRSearchSettings<TPattern extends string> = { patterns: TPattern[] ignoreCase?: boolean firstOnly?: boolean language?: string }.
- #locate(locate_settings) ⇒ Object
Instance Method Details
#extract_text(*args) ⇒ Object
export type OCRExtractSettings<TElement, TSelector> =
target: RegionReference<TElement, TSelector>
hint?: string
minMatch?: number
language?: string
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/applitools/core/universal_new_api.rb', line 12 def extract_text(*args) image_target = args[0].is_a?(Hash) ? args[0] : nil targets_array = args[0].is_a?(Hash) ? args[1].to_a : args[0] targets_array = targets_array.map do |target| # Handle element references if target['target'].is_a?(::Selenium::WebDriver::Element) ref = target['target'].ref # Handle different formats of element refs ref = ref[1] if ref.is_a?(Array) && ref[0] == :element target['target'] = { elementId: ref } elsif target['target'].is_a?(String) # It's a CSS selector target['target'] = target['target'] elsif target['target'].is_a?(Hash) # Handle coordinate-based regions if target['target']['left'] target['target']['x'] = target['target'].delete('left') end if target['target']['top'] target['target']['y'] = target['target'].delete('top') end end target[:region] = target.delete('target') target end driver_target = respond_to?(:driver) ? Applitools::Selenium.universal_driver_config(driver) : image_target result = universal_eyes.extract_text(targets_array, driver_target) result end |
#extract_text_regions(patterns_array) ⇒ Object
export type OCRSearchSettings<TPattern extends string> =
patterns: TPattern[]
ignoreCase?: boolean
firstOnly?: boolean
language?: string
49 50 51 52 53 |
# File 'lib/applitools/core/universal_new_api.rb', line 49 def extract_text_regions(patterns_array) driver_target = respond_to?(:driver) ? Applitools::Selenium.universal_driver_config(driver) : { image: patterns_array.delete('image') } results = universal_eyes.extract_text_regions(patterns_array, driver_target) Applitools::Utils.deep_stringify_keys(results) end |
#locate(locate_settings) ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/applitools/core/universal_new_api.rb', line 56 def locate(locate_settings) settings = { locatorNames: locate_settings[:locator_names], firstOnly: !!locate_settings[:first_only] } driver_target = locate_settings.has_key?(:image) ? {image: locate_settings[:image]} : Applitools::Selenium.universal_driver_config(driver) results = universal_eyes.locate(settings, driver_target) old_style = results.map do |k, v| val = v.map {|r| {left: r[:x], top: r[:y], width: r[:width], height: r[:height]} } [k, val] end.to_h Applitools::Utils.deep_stringify_keys(old_style) end |